From 08144fe3416c0f0e06f752932101c170fb854cec Mon Sep 17 00:00:00 2001 From: Martin Johnson Date: Sat, 25 Mar 2017 17:13:14 +1300 Subject: [PATCH] update makefile --- Makefile | 12 +++++-- recode.c | 3 +- recode110.c | 98 ----------------------------------------------------- 3 files changed, 12 insertions(+), 101 deletions(-) delete mode 100644 recode110.c diff --git a/Makefile b/Makefile index 115ade0..6258c70 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,17 @@ CFLAGS=-std=c99 -all: decode recode recode110 extractbmp makever fixbmpheader +all: decode recode extractbmp makever fixbmpheader decode: recode: recode.c gcc recode.c -o recode -l unistring -recode110: extractbmp: makever: fixbmpheader: +clean: + rm -f fixbmpheader extractbmp recode decode makever +translate: PF090JPJPN.LNG PF110JPJPN.LNG PF090JPJPN_0047.LNG +PF090JPJPN.LNG: translated.txt recode + ./recode translated.txt PF090JPJPN.LNG +PF110JPJPN.LNG: translated_110.txt recode + ./recode translated_110.txt PF110JPJPN.LNG +PF090JPJPN_0047.LNG: translated_0047.txt recode + ./recode translated_0047.txt PF090JPJPN_0047.LNG diff --git a/recode.c b/recode.c index 5a19588..f5b4256 100644 --- a/recode.c +++ b/recode.c @@ -80,7 +80,7 @@ int main(int argc,char *argv[]) { int ntrans=0; for(i=0;i65535) { printf("ERROR: index too large %x\n",(off-0x40)/2); @@ -104,5 +104,6 @@ int main(int argc,char *argv[]) { f=fopen(outfile,"wb"); fwrite(data,off,1,f); fclose(f); + return(0); } diff --git a/recode110.c b/recode110.c deleted file mode 100644 index a49b9be..0000000 --- a/recode110.c +++ /dev/null @@ -1,98 +0,0 @@ -#include -#include - -void readstring(FILE *f, char *p) { - char c; - c=fgetc(f); - if(c!='\"') - puts("ERRRRRRRR"); - while((c=fgetc(f))!='"' && !feof(f)) - *p++=c; - *p++=0; - while((c=fgetc(f))!=10 && !feof(f)); -} - - -int main(int argc,char *argv[]) { - char data[200000]; - char st[10240]; - FILE *f,*g; - int i; - unsigned *id=(unsigned *) data; - id[0]=0xa55a5aa5; - id[1]=0x01000001; - id[2]=0x39304650; - id[3]=0x45504a30; - id[4]=0; - id[5]=0; - id[6]=0;// len - id[7]=0x40; - id[8]=0;//last - id[9]=0xaaaaaa02; - id[10]=0xaaaaaaaa; - id[11]=0xaaaaaaaa; - id[12]=0xaaaaaaaa; - id[13]=0xaaaaaaaa; - id[14]=0xaaaaaaaa; - id[15]=0xaaaaaaaa; - - g=fopen("translated_110.txt","rb"); - f=fopen("PF110JPJPN.LNG","rb"); - int start=0x40; - unsigned short *idx=(unsigned short *)(data+0x40); - fseek(f,0x40,SEEK_SET); - short nstrings; - int offset=0; - int next=0; - short ch; - fread(&nstrings, 2, 1, f); - nstrings=nstrings-3; - unsigned short *strptr=idx+nstrings; - int off=0x40+(nstrings+3)*2; - int ntrans=0; - for(i=0;i65535) - printf("Error index too large %x\n",(off-0x40)/2); - int j=0; - for(j=0;st[j]!=0;j++) { - data[off++]=st[j]; - data[off++]=0; - } - data[off++]=0; - data[off++]=0; - } - idx[i]=(off-0x40)/2; - id[8]=off; - strcpy(data+off,"RG_VOICE_DATA"); - off+=strlen("RG_VOICE_DATA"); - data[off++]=0xf1; // this looks like a checksum at the end of the file but - data[off++]=0x8d; // it doesn't seem to matter if it's wrong - id[6]=off; - printf("%d strings\n",nstrings); - f=fopen("PF110JPJPN1.LNG","wb"); - fwrite(data,off,1,f); - fclose(f); -} -