diff options
Diffstat (limited to 'src/tool/mapfrob.c')
-rw-r--r-- | src/tool/mapfrob.c | 170 |
1 files changed, 89 insertions, 81 deletions
diff --git a/src/tool/mapfrob.c b/src/tool/mapfrob.c index 7173f0b..d410878 100644 --- a/src/tool/mapfrob.c +++ b/src/tool/mapfrob.c @@ -9,118 +9,126 @@ // Well, this is not terribly elegant, but I don't have that much time. #define MAX_MAP 1024 #define MAP_NAME_SIZE 32 -int maps_nr = 0; -struct { +int maps_nr = 0; +struct +{ char old[MAP_NAME_SIZE], new[MAP_NAME_SIZE]; } maps[MAX_MAP]; -void -transform_point(struct point *p) +void transform_point (struct point *p) { - int k; + int k; - if (!p->map[0]) - return; + if (!p->map[0]) + return; - for (k = 0; k < maps_nr; k++) - if (!strcmp(p->map, maps[k].old)) { - strcpy(p->map, maps[k].new); - return; - } + for (k = 0; k < maps_nr; k++) + if (!strcmp (p->map, maps[k].old)) + { + strcpy (p->map, maps[k].new); + return; + } - fprintf(stderr, "Warning: untranslated map `%s'\n", p->map); + fprintf (stderr, "Warning: untranslated map `%s'\n", p->map); } -void -transform_char(struct mmo_charstatus *p) +void transform_char (struct mmo_charstatus *p) { - int i; + int i; - transform_point(&p->last_point); - transform_point(&p->save_point); + transform_point (&p->last_point); + transform_point (&p->save_point); - for (i = 0; i < 10; i++) - transform_point(&p->memo_point[i]); + for (i = 0; i < 10; i++) + transform_point (&p->memo_point[i]); } -int mmo_char_convert() +int mmo_char_convert () { - char line[965536]; - int ret; - struct mmo_charstatus char_dat; - FILE *ifp,*ofp; - - ifp=stdin; - ofp=stdout; - while(fgets(line,65535,ifp)){ - memset(&char_dat,0,sizeof(struct mmo_charstatus)); - ret=mmo_char_fromstr(line,&char_dat); - if(ret){ - transform_char(&char_dat); - mmo_char_tostr(line,&char_dat); - fprintf(ofp,"%s" RETCODE,line); - } + char line[965536]; + int ret; + struct mmo_charstatus char_dat; + FILE *ifp, *ofp; + + ifp = stdin; + ofp = stdout; + while (fgets (line, 65535, ifp)) + { + memset (&char_dat, 0, sizeof (struct mmo_charstatus)); + ret = mmo_char_fromstr (line, &char_dat); + if (ret) + { + transform_char (&char_dat); + mmo_char_tostr (line, &char_dat); + fprintf (ofp, "%s" RETCODE, line); } - fcloseall(); - return 0; + } + fcloseall (); + return 0; } #define PARSE_MODE_NEXTNUM 0 #define PARSE_MODE_RANGE 1 -int init(int count, char **translates) +int init (int count, char **translates) { - int i; - char *suffix = ".gat"; - - for (i = 0; i < count; i++) { - char *src = translates[i]; - char *dest = strchr(src, ':'); - - if (!dest) { - fprintf(stderr, "Missing colon in: `%s'\n", src); - return 1; - } + int i; + char *suffix = ".gat"; + + for (i = 0; i < count; i++) + { + char *src = translates[i]; + char *dest = strchr (src, ':'); + + if (!dest) + { + fprintf (stderr, "Missing colon in: `%s'\n", src); + return 1; + } - *dest++ = 0; + *dest++ = 0; - if (strlen(src) + strlen(suffix) >= MAP_NAME_SIZE) { - fprintf(stderr, "Map name prefix too long: `%s'\n", src); - return 1; - } + if (strlen (src) + strlen (suffix) >= MAP_NAME_SIZE) + { + fprintf (stderr, "Map name prefix too long: `%s'\n", src); + return 1; + } - if (strlen(dest) + strlen(suffix) >= MAP_NAME_SIZE) { - fprintf(stderr, "Map name prefix too long: `%s'\n", dest); - return 1; - } + if (strlen (dest) + strlen (suffix) >= MAP_NAME_SIZE) + { + fprintf (stderr, "Map name prefix too long: `%s'\n", dest); + return 1; + } - strncpy(maps[maps_nr].old, src, MAP_NAME_SIZE); - strcat(maps[maps_nr].old, suffix); - strncpy(maps[maps_nr].new, dest, MAP_NAME_SIZE); - strcat(maps[maps_nr].new, suffix); + strncpy (maps[maps_nr].old, src, MAP_NAME_SIZE); + strcat (maps[maps_nr].old, suffix); + strncpy (maps[maps_nr].new, dest, MAP_NAME_SIZE); + strcat (maps[maps_nr].new, suffix); - ++maps_nr; - } + ++maps_nr; + } - return 0; + return 0; } -int main(int argc,char *argv[]) +int main (int argc, char *argv[]) { - if(argc < 2) { - printf("Usage: %s oldmap0:newmap0 oldmap1:newmap1 ...\n", argv[0]); - printf("e.g., %s new_1-1:001-2 new_2-1:001-1\n", argv[0]); - puts("The extension `.gat' is appended implicitly."); - exit(0); - } - if (init(argc - 1, argv + 1)) - return 1; - - mmo_char_convert(); - - return 0; + if (argc < 2) + { + printf ("Usage: %s oldmap0:newmap0 oldmap1:newmap1 ...\n", argv[0]); + printf ("e.g., %s new_1-1:001-2 new_2-1:001-1\n", argv[0]); + puts ("The extension `.gat' is appended implicitly."); + exit (0); + } + if (init (argc - 1, argv + 1)) + return 1; + + mmo_char_convert (); + + return 0; } - /* satisfy linker */ -void set_termfunc(void (*termfunc)(void)) {}; +void set_termfunc (void (*termfunc) (void)) +{ +}; |