summaryrefslogtreecommitdiff
path: root/src/tool/mapfrob.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tool/mapfrob.c')
-rw-r--r--src/tool/mapfrob.c129
1 files changed, 0 insertions, 129 deletions
diff --git a/src/tool/mapfrob.c b/src/tool/mapfrob.c
deleted file mode 100644
index 9dc1a5b..0000000
--- a/src/tool/mapfrob.c
+++ /dev/null
@@ -1,129 +0,0 @@
-// Compile with
-// gcc -m32 -I src/char -I src/common charfrob.c -o charfrob src/common/timer.o src/common/malloc.o src/common/socket.o src/common/lock.o src/common/db.o src/char/int_pet.o src/char/int_storage.o src/char/inter.o src/char/int_party.o src/char/int_guild.o
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "../common/mmo.h"
-// Yes, this is intentional
-#include "../char/char.c"
-
-// 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
-{
- char old[MAP_NAME_SIZE], new[MAP_NAME_SIZE];
-} maps[MAX_MAP];
-
-void transform_point (struct point *p)
-{
- int k;
-
- 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;
- }
-
- fprintf (stderr, "Warning: untranslated map `%s'\n", p->map);
-}
-
-void transform_char (struct mmo_charstatus *p)
-{
- int i;
-
- transform_point (&p->last_point);
- transform_point (&p->save_point);
-
- for (i = 0; i < 10; i++)
- transform_point (&p->memo_point[i]);
-}
-
-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\n", line);
- }
- }
- return 0;
-}
-
-#define PARSE_MODE_NEXTNUM 0
-#define PARSE_MODE_RANGE 1
-
-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;
- }
-
- *dest++ = 0;
-
- 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;
- }
-
- 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;
- }
-
- return 0;
-}
-
-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;
-}