開発環境 |
Microsoft QuickC Ver 2.0 |
実行環境 |
MS-DOS Ver 5.0A |
dra4unit.c
#include <stdio.h>
#define BYTE unsigned char
#define OUTFNAME "unit_.dat"
#define RECLEN 70
int main(int argc, char *argv[])
{
FILE *pfi, *pfo;
BYTE buf[RECLEN];
int r;
if (argc != 2) {
fprintf(stderr, "usage: dra4unit unit?.dat\n");
return 1;
}
pfi = fopen(argv[1], "rb");
if (pfi == NULL) {
fprintf(stderr, "error: fopen %s\n", argv[1]);
return 1;
}
pfo = fopen(OUTFNAME, "wb");
if (pfo == NULL) {
fprintf(stderr, "error: fopen %s\n", OUTFNAME);
return 1;
}
while (r = fread(buf, RECLEN, 1, pfi)) {
// field: status, id, stage
BYTE *pf = buf;
if (pf[1] <= 0x1c) {
// param:
BYTE *pp = buf + 0x2a;
printf("%02x %02x %02x [%.16s] %3u %3u %3u %3u\n",
pf[0], pf[1], pf[2],
buf+3,
pp[0], pp[1], pp[2], pp[3]
);
pp[0] = 8; // idou
pp[1] = 200; // kougeki
pp[2] = 200; // bougyo
pp[3] = 8; // shatei
}
fwrite(buf, RECLEN, 1, pfo);
}
fclose(pfo);
fclose(pfi);
return 0;
}
バッチファイル例
d4u.bat
set dat=unit0.dat
set dra4a=a:\dra4\a
copy %dra4a%\%dat% .
dra4unit %dat% > dra4unit.log
copy unit_.dat %dra4a%\%dat%
最終更新:2016年10月27日 20:38