diff --git a/tools/pkg/Makefile b/tools/pkg/Makefile index 74c2eb377..a2615a3d8 100644 --- a/tools/pkg/Makefile +++ b/tools/pkg/Makefile @@ -5,7 +5,7 @@ parseres: parseres.c parseres.h gcc -W -Wall -g -O0 parseres.c -o parseres clean: - rm unpkg unpkg.tgz parseres.o + rm unpkg parseres unpkg.tgz tgz: unpkg.c unpkg.h Makefile parseres.c parseres.h tar -cvzf unpkg.tgz unpkg.c unpkg.h Makefile parseres.c parseres.h diff --git a/tools/pkg/collectres.sh b/tools/pkg/collectres.sh new file mode 100755 index 000000000..3846b9f0d --- /dev/null +++ b/tools/pkg/collectres.sh @@ -0,0 +1,147 @@ +#!/bin/sh +# Collects resource info from resinst.h files +# By Serge van den Boom, 2002-10-25 +# The GPL applies. + +if [ $# -ne 3 ]; then + echo "Usage: collectres.sh <3dotop> " + echo "pctop is the dir src/sc2code/ from an UQM cvs tree" + echo "3dotop is the starcon2/ dir from the 3DO source" + echo "destpath is a path to a dir to put the resinfo files" + exit 1; +fi + +TOPPC="${1%/}"/ +TOP3DO="${2%/}"/ +DEST="${3%/}"/ + +PARSERES=./parseres + +if [ ! -e "$TOPPC"resinst.h ]; then + echo "\"${TOPPC}\" is not a valid pc SC2 source dir" + exit 1 +fi + +if [ ! -e "$TOP3DO"resinst.h ]; then + echo "\"${TOP3DO}\" is not a valid 3DO SC2 source dir" + exit 1 +fi + +if [ ! -d "$DEST" -o ! -w "$DEST" ]; then + echo "\"${DEST}\" is not a good destination" + exit 1 +fi + +export DEST +parseone() { + $PARSERES "$1" > "${DEST}$2.res" +} + +parseone "${TOPPC}resinst.h" starcon.pkg.pc +parseone "${TOPPC}ships/androsyn/resinst.h" androsyn.shp.pc +parseone "${TOPPC}ships/arilou/resinst.h" arilou.shp.pc +parseone "${TOPPC}ships/blackurq/resinst.h" blackurq.shp.pc +parseone "${TOPPC}ships/chenjesu/resinst.h" chenjesu.shp.pc +parseone "${TOPPC}ships/chmmr/resinst.h" chmmr.shp.pc +parseone "${TOPPC}ships/druuge/resinst.h" druuge.shp.pc +parseone "${TOPPC}ships/human/resinst.h" human.shp.pc +parseone "${TOPPC}ships/ilwrath/resinst.h" ilwrath.shp.pc +parseone "${TOPPC}ships/lastbat/resinst.h" lastbat.sc2.pc +parseone "${TOPPC}ships/melnorme/resinst.h" melnorme.shp.pc +parseone "${TOPPC}ships/mmrnmhrm/resinst.h" mmrnmhrm.shp.pc +parseone "${TOPPC}ships/mycon/resinst.h" mycon.shp.pc +parseone "${TOPPC}ships/orz/resinst.h" orz.shp.pc +parseone "${TOPPC}ships/pkunk/resinst.h" pkunk.shp.pc +parseone "${TOPPC}ships/probe/resinst.h" probe.sc2.pc +parseone "${TOPPC}ships/shofixti/resinst.h" shofixti.shp.pc +parseone "${TOPPC}ships/sis_ship/resinst.h" sis.dat.pc +parseone "${TOPPC}ships/slylandr/resinst.h" slylandr.shp.pc +parseone "${TOPPC}ships/spathi/resinst.h" spathi.shp.pc +parseone "${TOPPC}ships/supox/resinst.h" supox.shp.pc +parseone "${TOPPC}ships/syreen/resinst.h" syreen.shp.pc +parseone "${TOPPC}ships/thradd/resinst.h" thradd.shp.pc +parseone "${TOPPC}ships/umgah/resinst.h" umgah.shp.pc +parseone "${TOPPC}ships/urquan/resinst.h" urquan.shp.pc +parseone "${TOPPC}ships/utwig/resinst.h" utwig.shp.pc +parseone "${TOPPC}ships/vux/resinst.h" vux.shp.pc +parseone "${TOPPC}ships/yehat/resinst.h" yehat.shp.pc +parseone "${TOPPC}ships/zoqfot/resinst.h" zoqfot.shp.pc +parseone "${TOPPC}comm/arilou/resinst.h" arilou.con.pc +parseone "${TOPPC}comm/blackur/resinst.h" blackur.con.pc +parseone "${TOPPC}comm/chmmr/resinst.h" chmmr.con.pc +parseone "${TOPPC}comm/comandr/resinst.h" comandr.con.pc +parseone "${TOPPC}comm/druuge/resinst.h" druuge.con.pc +parseone "${TOPPC}comm/ilwrath/resinst.h" ilwrath.con.pc +parseone "${TOPPC}comm/melnorm/resinst.h" melnorm.con.pc +parseone "${TOPPC}comm/mycon/resinst.h" mycon.con.pc +parseone "${TOPPC}comm/orz/resinst.h" orz.con.pc +parseone "${TOPPC}comm/pkunk/resinst.h" pkunk.con.pc +parseone "${TOPPC}comm/shofixt/resinst.h" shofixt.con.pc +parseone "${TOPPC}comm/slyhome/resinst.h" slyhome.con.pc +parseone "${TOPPC}comm/slyland/resinst.h" slyland.con.pc +parseone "${TOPPC}comm/spathi/resinst.h" spathi.con.pc +parseone "${TOPPC}comm/supox/resinst.h" supox.con.pc +parseone "${TOPPC}comm/syreen/resinst.h" syreen.con.pc +parseone "${TOPPC}comm/talkpet/resinst.h" talkpet.con.pc +parseone "${TOPPC}comm/thradd/resinst.h" thradd.con.pc +parseone "${TOPPC}comm/umgah/resinst.h" umgah.con.pc +parseone "${TOPPC}comm/urquan/resinst.h" urquan.con.pc +parseone "${TOPPC}comm/utwig/resinst.h" utwig.con.pc +parseone "${TOPPC}comm/vux/resinst.h" vux.con.pc +parseone "${TOPPC}comm/yehat/resinst.h" yehat.con.pc +parseone "${TOPPC}comm/zoqfot/resinst.h" zoqfot.con.pc + +parseone "${TOP3DO}resinst.h" starcon.pkg.3do +parseone "${TOP3DO}androsyn/resinst.h" androsyn.shp.3do +parseone "${TOP3DO}arilou/resinst.h" arilou.shp.3do +parseone "${TOP3DO}blackurq/resinst.h" blackurq.shp.3do +parseone "${TOP3DO}chenjesu/resinst.h" chenjesu.shp.3do +parseone "${TOP3DO}chmmr/resinst.h" chmmr.shp.3do +parseone "${TOP3DO}druuge/resinst.h" druuge.shp.3do +parseone "${TOP3DO}human/resinst.h" human.shp.3do +parseone "${TOP3DO}ilwrath/resinst.h" ilwrath.shp.3do +parseone "${TOP3DO}lastbat/resinst.h" lastbat.sc2.3do +parseone "${TOP3DO}melnorme/resinst.h" melnorme.shp.3do +parseone "${TOP3DO}mmrnmhrm/resinst.h" mmrnmhrm.shp.3do +parseone "${TOP3DO}mycon/resinst.h" mycon.shp.3do +parseone "${TOP3DO}orz/resinst.h" orz.shp.3do +parseone "${TOP3DO}pkunk/resinst.h" pkunk.shp.3do +parseone "${TOP3DO}probe/resinst.h" probe.sc2.3do +parseone "${TOP3DO}shofixti/resinst.h" shofixti.shp.3do +parseone "${TOP3DO}sis_ship/resinst.h" sis.dat.3do +parseone "${TOP3DO}slylandr/resinst.h" slylandr.shp.3do +parseone "${TOP3DO}spathi/resinst.h" spathi.shp.3do +parseone "${TOP3DO}supox/resinst.h" supox.shp.3do +parseone "${TOP3DO}syreen/resinst.h" syreen.shp.3do +parseone "${TOP3DO}thradd/resinst.h" thradd.shp.3do +parseone "${TOP3DO}umgah/resinst.h" umgah.shp.3do +parseone "${TOP3DO}urquan/resinst.h" urquan.shp.3do +parseone "${TOP3DO}utwig/resinst.h" utwig.shp.3do +parseone "${TOP3DO}vux/resinst.h" vux.shp.3do +parseone "${TOP3DO}yehat/resinst.h" yehat.shp.3do +parseone "${TOP3DO}zoqfot/resinst.h" zoqfot.shp.3do +parseone "${TOP3DO}comm/arilou/resinst.h" arilou.con.3do +parseone "${TOP3DO}comm/blackur/resinst.h" blackur.con.3do +parseone "${TOP3DO}comm/chmmr/resinst.h" chmmr.con.3do +parseone "${TOP3DO}comm/comandr/resinst.h" comandr.con.3do +parseone "${TOP3DO}comm/druuge/resinst.h" druuge.con.3do +parseone "${TOP3DO}comm/ilwrath/resinst.h" ilwrath.con.3do +parseone "${TOP3DO}comm/melnorm/resinst.h" melnorm.con.3do +parseone "${TOP3DO}comm/mycon/resinst.h" mycon.con.3do +parseone "${TOP3DO}comm/orz/resinst.h" orz.con.3do +parseone "${TOP3DO}comm/pkunk/resinst.h" pkunk.con.3do +parseone "${TOP3DO}comm/shofixt/resinst.h" shofixt.con.3do +parseone "${TOP3DO}comm/slyhome/resinst.h" slyhome.con.3do +parseone "${TOP3DO}comm/slyland/resinst.h" slyland.con.3do +parseone "${TOP3DO}comm/spathi/resinst.h" spathi.con.3do +parseone "${TOP3DO}comm/supox/resinst.h" supox.con.3do +parseone "${TOP3DO}comm/syreen/resinst.h" syreen.con.3do +parseone "${TOP3DO}comm/talkpet/resinst.h" talkpet.con.3do +parseone "${TOP3DO}comm/thradd/resinst.h" thradd.con.3do +parseone "${TOP3DO}comm/umgah/resinst.h" umgah.con.3do +parseone "${TOP3DO}comm/urquan/resinst.h" urquan.con.3do +parseone "${TOP3DO}comm/utwig/resinst.h" utwig.con.3do +parseone "${TOP3DO}comm/vux/resinst.h" vux.con.3do +parseone "${TOP3DO}comm/yehat/resinst.h" yehat.con.3do +parseone "${TOP3DO}comm/zoqfot/resinst.h" zoqfot.con.3do + diff --git a/tools/pkg/parseres.c b/tools/pkg/parseres.c new file mode 100644 index 000000000..c8842c00e --- /dev/null +++ b/tools/pkg/parseres.c @@ -0,0 +1,151 @@ +/* + * Parses resinst.h files + * By Serge van den Boom (svdb@stack.nl), 20021023 + * The GPL applies. + * + * + */ + +#include +#include +#include +#include +#include +#include + +#include "parseres.h" + +#define BUFLEN 8192 +#define ITEMS_AT_ONCE 16 + + +void addItems(ResourceItemList *items, const char *filename); +int itemSort(const void *a1, const void *a2); + +int +main(int argc, char *argv[]) { + ResourceItemList items; + + if (argc != 2) { + fprintf(stderr, "Syntax: parseres \n"); + return EXIT_FAILURE; + } + items.numItems = 0; + items.item = NULL; + addItems(&items, argv[1]); +// fprintf(stderr, "%d items\n", items.numItems); + qsort(items.item, items.numItems, sizeof (ResourceItem), itemSort); + { + size_t i; + for (i = 0; i < items.numItems; i++) + fprintf(stdout, "0x%08x %s\n", + items.item[i].res, + items.item[i].name); + } + return EXIT_SUCCESS; +} + +int +itemSort(const void *a1, const void *a2) { + return ((ResourceItem *) a1)->res >= ((ResourceItem *) a2)->res; +} + +void +addItems(ResourceItemList *items, const char *filename) { + FILE *file; + char *base; + char buf[BUFLEN]; + char *ptr; + size_t maxItems; + int line; + + file = fopen(filename, "r"); + if (file == NULL) { + fprintf(stderr, "Could not open %s.\n", filename); + exit(EXIT_FAILURE); + } + ptr = strrchr(filename, '/'); + if (ptr == NULL) { + base = ""; + } else { + base = alloca(ptr - filename + 2); + strncpy(base, filename, ptr - filename + 1); + base[ptr - filename + 1] = '\0'; + } + + maxItems = items->numItems; + line = 0; + while (1) { + if (fgets(buf, BUFLEN, file) == NULL) { + if (feof(file)) + break; + fprintf(stderr, "Error: %s, line %d: Error while reading: %s\n", + filename, line, strerror(errno)); + } + line++; +#if 0 + len = strlen(buf); + if (len == 0) + continue; + while (buf[len - 1] == '\n' || buf[len - 1] == '\r') { + len--; + buf[len] = '\0'; + } +#endif + if (strncmp(buf, "#include \"", 10) == 0) { + char *endptr; + char name[MAXPATHLEN]; + + ptr = buf + 10; + endptr = strchr(ptr, '\"'); + if (endptr == NULL) { + fprintf(stderr, "Error: %s, line %d: \" expected.\n", + filename, line); + exit(EXIT_FAILURE); + } + *endptr = '\0'; + strcpy(name, base); + strcat(name, ptr); + addItems(items, name); + continue; + } + if (strncmp(buf, "#define", 7) == 0) { + char *name; + uint32 res; + ptr = buf + 7; + while (isspace(*ptr)) + ptr++; + name = ptr; + while (!isspace(*ptr)) { + if (*ptr == '\0') { + fprintf(stderr, "Error: %s, line %d: unexpected end of " + "line.\n", filename, line); + exit(EXIT_FAILURE); + } + ptr++; + } + *ptr = '\0'; + ptr++; + res = strtoul(ptr, NULL, 0); + // ignore the rest of the line + if (items->numItems >= maxItems) { + items->item = realloc(items->item, sizeof (ResourceItem) * + (items->numItems + ITEMS_AT_ONCE)); + maxItems = items->numItems + ITEMS_AT_ONCE; + } + items->item[items->numItems].res = res; + items->item[items->numItems].name = strdup(name); +#if 0 + fprintf(stderr, "0x%08x %s\n", + items->item[items->numItems].res, + items->item[items->numItems].name); +#endif + items->numItems++; + continue; + } + } + items->item = realloc(items->item, sizeof (ResourceItem) * + (items->numItems)); + fclose(file); +} + diff --git a/tools/pkg/parseres.h b/tools/pkg/parseres.h new file mode 100644 index 000000000..274c8af5c --- /dev/null +++ b/tools/pkg/parseres.h @@ -0,0 +1,12 @@ +typedef int uint32; + +typedef struct { + uint32 res; + char *name; +} ResourceItem; + +typedef struct { + size_t numItems; + ResourceItem *item; +} ResourceItemList; + diff --git a/tools/pkg/res/README b/tools/pkg/res/README new file mode 100644 index 000000000..4fcdc2456 --- /dev/null +++ b/tools/pkg/res/README @@ -0,0 +1 @@ +This dir contains files pre-generated with collectres. diff --git a/tools/pkg/res/androsyn.shp.3do.res b/tools/pkg/res/androsyn.shp.3do.res new file mode 100644 index 000000000..1e09474b4 --- /dev/null +++ b/tools/pkg/res/androsyn.shp.3do.res @@ -0,0 +1,16 @@ +0x00200001 ANDROSYNTH_ICON_MASK_PMAP_ANIM +0x00200002 ANDROSYNTH_RACE_STRINGS +0x00200005 ANDROSYNTH_CODE +0x00200101 ANDROSYNTH_MICON_MASK_PMAP_ANIM +0x00400003 ANDROSYNTH_VICTORY_SONG +0x00400102 ANDROSYNTH_SHIP_SOUNDS +0x00400201 ANDROSYNTH_BIG_MASK_PMAP_ANIM +0x00400301 ANDROSYNTH_MED_MASK_PMAP_ANIM +0x00400401 ANDROSYNTH_SML_MASK_PMAP_ANIM +0x00400501 BUBBLE_BIG_MASK_PMAP_ANIM +0x00400601 BUBBLE_MED_MASK_PMAP_ANIM +0x00400701 BUBBLE_SML_MASK_PMAP_ANIM +0x00400801 BLAZER_BIG_MASK_PMAP_ANIM +0x00400901 BLAZER_MED_MASK_PMAP_ANIM +0x00400a01 BLAZER_SML_MASK_PMAP_ANIM +0x00400b01 ANDROSYNTH_CAPT_MASK_PMAP_ANIM diff --git a/tools/pkg/res/androsyn.shp.pc.res b/tools/pkg/res/androsyn.shp.pc.res new file mode 100644 index 000000000..fa403b394 --- /dev/null +++ b/tools/pkg/res/androsyn.shp.pc.res @@ -0,0 +1,16 @@ +0x00200002 ANDROSYNTH_ICON_MASK_PMAP_ANIM +0x00200004 ANDROSYNTH_RACE_STRINGS +0x00200008 ANDROSYNTH_CODE +0x00200102 ANDROSYNTH_MICON_MASK_PMAP_ANIM +0x00400005 ANDROSYNTH_SHIP_SOUNDS +0x00400006 ANDROSYNTH_VICTORY_SONG +0x00400202 ANDROSYNTH_BIG_MASK_PMAP_ANIM +0x00400302 ANDROSYNTH_MED_MASK_PMAP_ANIM +0x00400402 ANDROSYNTH_SML_MASK_PMAP_ANIM +0x00400502 BUBBLE_BIG_MASK_PMAP_ANIM +0x00400602 BUBBLE_MED_MASK_PMAP_ANIM +0x00400702 BUBBLE_SML_MASK_PMAP_ANIM +0x00400802 BLAZER_BIG_MASK_PMAP_ANIM +0x00400902 BLAZER_MED_MASK_PMAP_ANIM +0x00400a02 BLAZER_SML_MASK_PMAP_ANIM +0x00400b02 ANDROSYNTH_CAPT_MASK_PMAP_ANIM diff --git a/tools/pkg/res/arilou.con.3do.res b/tools/pkg/res/arilou.con.3do.res new file mode 100644 index 000000000..078eac37b --- /dev/null +++ b/tools/pkg/res/arilou.con.3do.res @@ -0,0 +1,3 @@ +0x00200001 ARILOU_PMAP_ANIM +0x00200002 ARILOU_PLAYER_PHRASES +0x00200003 ARILOU_MUSIC diff --git a/tools/pkg/res/arilou.con.pc.res b/tools/pkg/res/arilou.con.pc.res new file mode 100644 index 000000000..56e92073e --- /dev/null +++ b/tools/pkg/res/arilou.con.pc.res @@ -0,0 +1,4 @@ +0x00200002 ARILOU_PMAP_ANIM +0x00200003 ARILOU_FONT +0x00200004 ARILOU_CONVERSATION_PHRASES +0x00200006 ARILOU_MUSIC diff --git a/tools/pkg/res/arilou.shp.3do.res b/tools/pkg/res/arilou.shp.3do.res new file mode 100644 index 000000000..1eab74043 --- /dev/null +++ b/tools/pkg/res/arilou.shp.3do.res @@ -0,0 +1,13 @@ +0x00200001 ARILOU_ICON_MASK_PMAP_ANIM +0x00200002 ARILOU_RACE_STRINGS +0x00200005 ARILOU_CODE +0x00200101 ARILOU_MICON_MASK_PMAP_ANIM +0x00400003 ARILOU_VICTORY_SONG +0x00400102 ARILOU_SHIP_SOUNDS +0x00400201 ARILOU_BIG_MASK_PMAP_ANIM +0x00400301 ARILOU_MED_MASK_PMAP_ANIM +0x00400401 ARILOU_SML_MASK_PMAP_ANIM +0x00400501 WARP_BIG_MASK_PMAP_ANIM +0x00400601 WARP_MED_MASK_PMAP_ANIM +0x00400701 WARP_SML_MASK_PMAP_ANIM +0x00400801 ARILOU_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/arilou.shp.pc.res b/tools/pkg/res/arilou.shp.pc.res new file mode 100644 index 000000000..8b7fc5c93 --- /dev/null +++ b/tools/pkg/res/arilou.shp.pc.res @@ -0,0 +1,13 @@ +0x00200002 ARILOU_ICON_MASK_PMAP_ANIM +0x00200004 ARILOU_RACE_STRINGS +0x00200008 ARILOU_CODE +0x00200102 ARILOU_MICON_MASK_PMAP_ANIM +0x00400005 ARILOU_SHIP_SOUNDS +0x00400006 ARILOU_VICTORY_SONG +0x00400202 ARILOU_BIG_MASK_PMAP_ANIM +0x00400302 ARILOU_MED_MASK_PMAP_ANIM +0x00400402 ARILOU_SML_MASK_PMAP_ANIM +0x00400502 WARP_BIG_MASK_PMAP_ANIM +0x00400602 WARP_MED_MASK_PMAP_ANIM +0x00400702 WARP_SML_MASK_PMAP_ANIM +0x00400802 ARILOU_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/blackur.con.3do.res b/tools/pkg/res/blackur.con.3do.res new file mode 100644 index 000000000..505470d8a --- /dev/null +++ b/tools/pkg/res/blackur.con.3do.res @@ -0,0 +1,3 @@ +0x00200001 BLACKURQ_PMAP_ANIM +0x00200002 BLACKURQ_PLAYER_PHRASES +0x00200003 BLACKURQ_MUSIC diff --git a/tools/pkg/res/blackur.con.pc.res b/tools/pkg/res/blackur.con.pc.res new file mode 100644 index 000000000..6dfe2d1f2 --- /dev/null +++ b/tools/pkg/res/blackur.con.pc.res @@ -0,0 +1,4 @@ +0x00200002 BLACKURQ_PMAP_ANIM +0x00200003 BLACKURQ_FONT +0x00200004 BLACKURQ_CONVERSATION_PHRASES +0x00200006 BLACKURQ_MUSIC diff --git a/tools/pkg/res/blackurq.shp.3do.res b/tools/pkg/res/blackurq.shp.3do.res new file mode 100644 index 000000000..c2f7468f7 --- /dev/null +++ b/tools/pkg/res/blackurq.shp.3do.res @@ -0,0 +1,16 @@ +0x00200001 KOHR_AH_ICON_MASK_PMAP_ANIM +0x00200002 KOHR_AH_RACE_STRINGS +0x00200005 KOHR_AH_CODE +0x00200101 KOHR_AH_MICON_MASK_PMAP_ANIM +0x00400003 KOHR_AH_VICTORY_SONG +0x00400102 KOHR_AH_SHIP_SOUNDS +0x00400201 KOHR_AH_BIG_MASK_PMAP_ANIM +0x00400301 KOHR_AH_MED_MASK_PMAP_ANIM +0x00400401 KOHR_AH_SML_MASK_PMAP_ANIM +0x00400501 BUZZSAW_BIG_MASK_PMAP_ANIM +0x00400601 BUZZSAW_MED_MASK_PMAP_ANIM +0x00400701 BUZZSAW_SML_MASK_PMAP_ANIM +0x00400801 GAS_BIG_MASK_PMAP_ANIM +0x00400901 GAS_MED_MASK_PMAP_ANIM +0x00400a01 GAS_SML_MASK_PMAP_ANIM +0x00400b01 KOHR_AH_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/blackurq.shp.pc.res b/tools/pkg/res/blackurq.shp.pc.res new file mode 100644 index 000000000..0d0c3da38 --- /dev/null +++ b/tools/pkg/res/blackurq.shp.pc.res @@ -0,0 +1,16 @@ +0x00200002 KOHR_AH_ICON_MASK_PMAP_ANIM +0x00200004 KOHR_AH_RACE_STRINGS +0x00200008 KOHR_AH_CODE +0x00200102 KOHR_AH_MICON_MASK_PMAP_ANIM +0x00400005 KOHR_AH_SHIP_SOUNDS +0x00400006 KOHR_AH_VICTORY_SONG +0x00400202 KOHR_AH_BIG_MASK_PMAP_ANIM +0x00400302 KOHR_AH_MED_MASK_PMAP_ANIM +0x00400402 KOHR_AH_SML_MASK_PMAP_ANIM +0x00400502 BUZZSAW_BIG_MASK_PMAP_ANIM +0x00400602 BUZZSAW_MED_MASK_PMAP_ANIM +0x00400702 BUZZSAW_SML_MASK_PMAP_ANIM +0x00400802 GAS_BIG_MASK_PMAP_ANIM +0x00400902 GAS_MED_MASK_PMAP_ANIM +0x00400a02 GAS_SML_MASK_PMAP_ANIM +0x00400b02 KOHR_AH_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/chenjesu.shp.3do.res b/tools/pkg/res/chenjesu.shp.3do.res new file mode 100644 index 000000000..fd0f5010e --- /dev/null +++ b/tools/pkg/res/chenjesu.shp.3do.res @@ -0,0 +1,16 @@ +0x00200001 CHENJESU_ICON_MASK_PMAP_ANIM +0x00200002 CHENJESU_RACE_STRINGS +0x00200005 CHENJESU_CODE +0x00200101 CHENJESU_MICON_MASK_PMAP_ANIM +0x00400003 CHENJESU_VICTORY_SONG +0x00400102 CHENJESU_SHIP_SOUNDS +0x00400201 CHENJESU_BIG_MASK_PMAP_ANIM +0x00400301 CHENJESU_MED_MASK_PMAP_ANIM +0x00400401 CHENJESU_SML_MASK_PMAP_ANIM +0x00400501 SPARK_BIG_MASK_PMAP_ANIM +0x00400601 SPARK_MED_MASK_PMAP_ANIM +0x00400701 SPARK_SML_MASK_PMAP_ANIM +0x00400801 DOGGY_BIG_MASK_PMAP_ANIM +0x00400901 DOGGY_MED_MASK_PMAP_ANIM +0x00400a01 DOGGY_SML_MASK_PMAP_ANIM +0x00400b01 CHENJESU_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/chenjesu.shp.pc.res b/tools/pkg/res/chenjesu.shp.pc.res new file mode 100644 index 000000000..3eaf8475d --- /dev/null +++ b/tools/pkg/res/chenjesu.shp.pc.res @@ -0,0 +1,16 @@ +0x00200002 CHENJESU_ICON_MASK_PMAP_ANIM +0x00200004 CHENJESU_RACE_STRINGS +0x00200008 CHENJESU_CODE +0x00200102 CHENJESU_MICON_MASK_PMAP_ANIM +0x00400005 CHENJESU_SHIP_SOUNDS +0x00400006 CHENJESU_VICTORY_SONG +0x00400202 CHENJESU_BIG_MASK_PMAP_ANIM +0x00400302 CHENJESU_MED_MASK_PMAP_ANIM +0x00400402 CHENJESU_SML_MASK_PMAP_ANIM +0x00400502 SPARK_BIG_MASK_PMAP_ANIM +0x00400602 SPARK_MED_MASK_PMAP_ANIM +0x00400702 SPARK_SML_MASK_PMAP_ANIM +0x00400802 DOGGY_BIG_MASK_PMAP_ANIM +0x00400902 DOGGY_MED_MASK_PMAP_ANIM +0x00400a02 DOGGY_SML_MASK_PMAP_ANIM +0x00400b02 CHENJESU_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/chmmr.con.3do.res b/tools/pkg/res/chmmr.con.3do.res new file mode 100644 index 000000000..308b0da93 --- /dev/null +++ b/tools/pkg/res/chmmr.con.3do.res @@ -0,0 +1,4 @@ +0x00200001 CHMMR_PMAP_ANIM +0x00200002 CHMMR_PLAYER_PHRASES +0x00200003 CHMMR_MUSIC +0x00200102 CHMMR_COLOR_MAP diff --git a/tools/pkg/res/chmmr.con.pc.res b/tools/pkg/res/chmmr.con.pc.res new file mode 100644 index 000000000..9e05ea4d1 --- /dev/null +++ b/tools/pkg/res/chmmr.con.pc.res @@ -0,0 +1,5 @@ +0x00200002 CHMMR_PMAP_ANIM +0x00200003 CHMMR_FONT +0x00200004 CHMMR_CONVERSATION_PHRASES +0x00200006 CHMMR_MUSIC +0x00200104 CHMMR_COLOR_MAP diff --git a/tools/pkg/res/chmmr.shp.3do.res b/tools/pkg/res/chmmr.shp.3do.res new file mode 100644 index 000000000..1143b334e --- /dev/null +++ b/tools/pkg/res/chmmr.shp.3do.res @@ -0,0 +1,16 @@ +0x00200001 CHMMR_ICON_MASK_PMAP_ANIM +0x00200002 CHMMR_RACE_STRINGS +0x00200005 CHMMR_CODE +0x00200101 CHMMR_MICON_MASK_PMAP_ANIM +0x00400003 CHMMR_VICTORY_SONG +0x00400102 CHMMR_SHIP_SOUNDS +0x00400201 CHMMR_BIG_MASK_PMAP_ANIM +0x00400301 CHMMR_MED_MASK_PMAP_ANIM +0x00400401 CHMMR_SML_MASK_PMAP_ANIM +0x00400501 MUZZLE_BIG_MASK_PMAP_ANIM +0x00400601 MUZZLE_MED_MASK_PMAP_ANIM +0x00400701 MUZZLE_SML_MASK_PMAP_ANIM +0x00400801 SATELLITE_BIG_MASK_PMAP_ANIM +0x00400901 SATELLITE_MED_MASK_PMAP_ANIM +0x00400a01 SATELLITE_SML_MASK_PMAP_ANIM +0x00400b01 CHMMR_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/chmmr.shp.pc.res b/tools/pkg/res/chmmr.shp.pc.res new file mode 100644 index 000000000..567f789db --- /dev/null +++ b/tools/pkg/res/chmmr.shp.pc.res @@ -0,0 +1,16 @@ +0x00200002 CHMMR_ICON_MASK_PMAP_ANIM +0x00200004 CHMMR_RACE_STRINGS +0x00200008 CHMMR_CODE +0x00200102 CHMMR_MICON_MASK_PMAP_ANIM +0x00400005 CHMMR_SHIP_SOUNDS +0x00400006 CHMMR_VICTORY_SONG +0x00400202 CHMMR_BIG_MASK_PMAP_ANIM +0x00400302 CHMMR_MED_MASK_PMAP_ANIM +0x00400402 CHMMR_SML_MASK_PMAP_ANIM +0x00400502 MUZZLE_BIG_MASK_PMAP_ANIM +0x00400602 MUZZLE_MED_MASK_PMAP_ANIM +0x00400702 MUZZLE_SML_MASK_PMAP_ANIM +0x00400802 SATELLITE_BIG_MASK_PMAP_ANIM +0x00400902 SATELLITE_MED_MASK_PMAP_ANIM +0x00400a02 SATELLITE_SML_MASK_PMAP_ANIM +0x00400b02 CHMMR_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/comandr.con.3do.res b/tools/pkg/res/comandr.con.3do.res new file mode 100644 index 000000000..d63513bd0 --- /dev/null +++ b/tools/pkg/res/comandr.con.3do.res @@ -0,0 +1,5 @@ +0x00200001 COMMANDER_PMAP_ANIM +0x00200002 COMMANDER_COLOR_MAP +0x00200003 COMMANDER_MUSIC +0x00400102 COMMANDER_PLAYER_PHRASES +0x00600202 STARBASE_PLAYER_PHRASES diff --git a/tools/pkg/res/comandr.con.pc.res b/tools/pkg/res/comandr.con.pc.res new file mode 100644 index 000000000..6694a218c --- /dev/null +++ b/tools/pkg/res/comandr.con.pc.res @@ -0,0 +1,6 @@ +0x00200002 COMMANDER_PMAP_ANIM +0x00200003 COMMANDER_FONT +0x00200004 COMMANDER_COLOR_MAP +0x00200006 COMMANDER_MUSIC +0x00400104 COMMANDER_CONVERSATION_PHRASES +0x00600204 STARBASE_CONVERSATION_PHRASES diff --git a/tools/pkg/res/druuge.con.3do.res b/tools/pkg/res/druuge.con.3do.res new file mode 100644 index 000000000..f6bb3376d --- /dev/null +++ b/tools/pkg/res/druuge.con.3do.res @@ -0,0 +1,3 @@ +0x00200001 DRUUGE_PMAP_ANIM +0x00200002 DRUUGE_PLAYER_PHRASES +0x00200003 DRUUGE_MUSIC diff --git a/tools/pkg/res/druuge.con.pc.res b/tools/pkg/res/druuge.con.pc.res new file mode 100644 index 000000000..12766d7a5 --- /dev/null +++ b/tools/pkg/res/druuge.con.pc.res @@ -0,0 +1,4 @@ +0x00200002 DRUUGE_PMAP_ANIM +0x00200003 DRUUGE_FONT +0x00200004 DRUUGE_CONVERSATION_PHRASES +0x00200006 DRUUGE_MUSIC diff --git a/tools/pkg/res/druuge.shp.3do.res b/tools/pkg/res/druuge.shp.3do.res new file mode 100644 index 000000000..94bd0a754 --- /dev/null +++ b/tools/pkg/res/druuge.shp.3do.res @@ -0,0 +1,13 @@ +0x00200001 DRUUGE_ICON_MASK_PMAP_ANIM +0x00200002 DRUUGE_RACE_STRINGS +0x00200005 DRUUGE_CODE +0x00200101 DRUUGE_MICON_MASK_PMAP_ANIM +0x00400003 DRUUGE_VICTORY_SONG +0x00400102 DRUUGE_SHIP_SOUNDS +0x00400201 DRUUGE_BIG_MASK_PMAP_ANIM +0x00400301 DRUUGE_MED_MASK_PMAP_ANIM +0x00400401 DRUUGE_SML_MASK_PMAP_ANIM +0x00400501 CANNON_BIG_MASK_PMAP_ANIM +0x00400601 CANNON_MED_MASK_PMAP_ANIM +0x00400701 CANNON_SML_MASK_PMAP_ANIM +0x00400801 DRUUGE_CAPT_MASK_PMAP_ANIM diff --git a/tools/pkg/res/druuge.shp.pc.res b/tools/pkg/res/druuge.shp.pc.res new file mode 100644 index 000000000..277ca79da --- /dev/null +++ b/tools/pkg/res/druuge.shp.pc.res @@ -0,0 +1,13 @@ +0x00200002 DRUUGE_ICON_MASK_PMAP_ANIM +0x00200004 DRUUGE_RACE_STRINGS +0x00200008 DRUUGE_CODE +0x00200102 DRUUGE_MICON_MASK_PMAP_ANIM +0x00400005 DRUUGE_SHIP_SOUNDS +0x00400006 DRUUGE_VICTORY_SONG +0x00400202 DRUUGE_BIG_MASK_PMAP_ANIM +0x00400302 DRUUGE_MED_MASK_PMAP_ANIM +0x00400402 DRUUGE_SML_MASK_PMAP_ANIM +0x00400502 CANNON_BIG_MASK_PMAP_ANIM +0x00400602 CANNON_MED_MASK_PMAP_ANIM +0x00400702 CANNON_SML_MASK_PMAP_ANIM +0x00400802 DRUUGE_CAPT_MASK_PMAP_ANIM diff --git a/tools/pkg/res/human.shp.3do.res b/tools/pkg/res/human.shp.3do.res new file mode 100644 index 000000000..598e00726 --- /dev/null +++ b/tools/pkg/res/human.shp.3do.res @@ -0,0 +1,13 @@ +0x00200001 HUMAN_ICON_MASK_PMAP_ANIM +0x00200002 HUMAN_RACE_STRINGS +0x00200005 HUMAN_CODE +0x00200101 HUMAN_MICON_MASK_PMAP_ANIM +0x00400003 HUMAN_VICTORY_SONG +0x00400102 HUMAN_SHIP_SOUNDS +0x00400201 HUMAN_BIG_MASK_PMAP_ANIM +0x00400301 HUMAN_MED_MASK_PMAP_ANIM +0x00400401 HUMAN_SML_MASK_PMAP_ANIM +0x00400501 SATURN_BIG_MASK_PMAP_ANIM +0x00400601 SATURN_MED_MASK_PMAP_ANIM +0x00400701 SATURN_SML_MASK_PMAP_ANIM +0x00400801 HUMAN_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/human.shp.pc.res b/tools/pkg/res/human.shp.pc.res new file mode 100644 index 000000000..613afb06a --- /dev/null +++ b/tools/pkg/res/human.shp.pc.res @@ -0,0 +1,13 @@ +0x00200002 HUMAN_ICON_MASK_PMAP_ANIM +0x00200004 HUMAN_RACE_STRINGS +0x00200008 HUMAN_CODE +0x00200102 HUMAN_MICON_MASK_PMAP_ANIM +0x00400005 HUMAN_SHIP_SOUNDS +0x00400006 HUMAN_VICTORY_SONG +0x00400202 HUMAN_BIG_MASK_PMAP_ANIM +0x00400302 HUMAN_MED_MASK_PMAP_ANIM +0x00400402 HUMAN_SML_MASK_PMAP_ANIM +0x00400502 SATURN_BIG_MASK_PMAP_ANIM +0x00400602 SATURN_MED_MASK_PMAP_ANIM +0x00400702 SATURN_SML_MASK_PMAP_ANIM +0x00400802 HUMAN_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/ilwrath.con.3do.res b/tools/pkg/res/ilwrath.con.3do.res new file mode 100644 index 000000000..a02ea58d2 --- /dev/null +++ b/tools/pkg/res/ilwrath.con.3do.res @@ -0,0 +1,3 @@ +0x00200001 ILWRATH_PMAP_ANIM +0x00200002 ILWRATH_PLAYER_PHRASES +0x00200003 ILWRATH_MUSIC diff --git a/tools/pkg/res/ilwrath.con.pc.res b/tools/pkg/res/ilwrath.con.pc.res new file mode 100644 index 000000000..32c0caaa6 --- /dev/null +++ b/tools/pkg/res/ilwrath.con.pc.res @@ -0,0 +1,4 @@ +0x00200002 ILWRATH_PMAP_ANIM +0x00200003 ILWRATH_FONT +0x00200004 ILWRATH_CONVERSATION_PHRASES +0x00200006 ILWRATH_MUSIC diff --git a/tools/pkg/res/ilwrath.shp.3do.res b/tools/pkg/res/ilwrath.shp.3do.res new file mode 100644 index 000000000..65d6db8b9 --- /dev/null +++ b/tools/pkg/res/ilwrath.shp.3do.res @@ -0,0 +1,13 @@ +0x00200001 ILWRATH_ICON_MASK_PMAP_ANIM +0x00200002 ILWRATH_RACE_STRINGS +0x00200005 ILWRATH_CODE +0x00200101 ILWRATH_MICON_MASK_PMAP_ANIM +0x00400003 ILWRATH_VICTORY_SONG +0x00400102 ILWRATH_SHIP_SOUNDS +0x00400201 ILWRATH_BIG_MASK_PMAP_ANIM +0x00400301 ILWRATH_MED_MASK_PMAP_ANIM +0x00400401 ILWRATH_SML_MASK_PMAP_ANIM +0x00400501 FIRE_BIG_MASK_PMAP_ANIM +0x00400601 FIRE_MED_MASK_PMAP_ANIM +0x00400701 FIRE_SML_MASK_PMAP_ANIM +0x00400801 ILWRATH_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/ilwrath.shp.pc.res b/tools/pkg/res/ilwrath.shp.pc.res new file mode 100644 index 000000000..62d7abd4e --- /dev/null +++ b/tools/pkg/res/ilwrath.shp.pc.res @@ -0,0 +1,13 @@ +0x00200002 ILWRATH_ICON_MASK_PMAP_ANIM +0x00200004 ILWRATH_RACE_STRINGS +0x00200008 ILWRATH_CODE +0x00200102 ILWRATH_MICON_MASK_PMAP_ANIM +0x00400005 ILWRATH_SHIP_SOUNDS +0x00400006 ILWRATH_VICTORY_SONG +0x00400202 ILWRATH_BIG_MASK_PMAP_ANIM +0x00400302 ILWRATH_MED_MASK_PMAP_ANIM +0x00400402 ILWRATH_SML_MASK_PMAP_ANIM +0x00400502 FIRE_BIG_MASK_PMAP_ANIM +0x00400602 FIRE_MED_MASK_PMAP_ANIM +0x00400702 FIRE_SML_MASK_PMAP_ANIM +0x00400802 ILWRATH_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/lastbat.sc2.3do.res b/tools/pkg/res/lastbat.sc2.3do.res new file mode 100644 index 000000000..774412906 --- /dev/null +++ b/tools/pkg/res/lastbat.sc2.3do.res @@ -0,0 +1,12 @@ +0x00200005 SAMATRA_CODE +0x00400001 SAMATRA_BIG_MASK_ANIM +0x00400002 SAMATRA_SHIP_SOUNDS +0x00400101 SAMATRA_MED_MASK_PMAP_ANIM +0x00400201 SAMATRA_SML_MASK_PMAP_ANIM +0x00400301 SENTINEL_BIG_MASK_ANIM +0x00400401 SENTINEL_MED_MASK_PMAP_ANIM +0x00400501 SENTINEL_SML_MASK_PMAP_ANIM +0x00400601 GENERATOR_BIG_MASK_ANIM +0x00400701 GENERATOR_MED_MASK_PMAP_ANIM +0x00400801 GENERATOR_SML_MASK_PMAP_ANIM +0x00600901 SAMATRA_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/lastbat.sc2.pc.res b/tools/pkg/res/lastbat.sc2.pc.res new file mode 100644 index 000000000..25ef1b555 --- /dev/null +++ b/tools/pkg/res/lastbat.sc2.pc.res @@ -0,0 +1,12 @@ +0x00200008 SAMATRA_CODE +0x00400002 SAMATRA_BIG_MASK_ANIM +0x00400005 SAMATRA_SHIP_SOUNDS +0x00400102 SAMATRA_MED_MASK_PMAP_ANIM +0x00400202 SAMATRA_SML_MASK_PMAP_ANIM +0x00400302 SENTINEL_BIG_MASK_ANIM +0x00400402 SENTINEL_MED_MASK_PMAP_ANIM +0x00400502 SENTINEL_SML_MASK_PMAP_ANIM +0x00400602 GENERATOR_BIG_MASK_ANIM +0x00400702 GENERATOR_MED_MASK_PMAP_ANIM +0x00400802 GENERATOR_SML_MASK_PMAP_ANIM +0x00600902 SAMATRA_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/melnorm.con.3do.res b/tools/pkg/res/melnorm.con.3do.res new file mode 100644 index 000000000..0bb033e26 --- /dev/null +++ b/tools/pkg/res/melnorm.con.3do.res @@ -0,0 +1,4 @@ +0x00200001 MELNORME_PMAP_ANIM +0x00200002 MELNORME_PLAYER_PHRASES +0x00200003 MELNORME_MUSIC +0x00200102 MELNORME_COLOR_MAP diff --git a/tools/pkg/res/melnorm.con.pc.res b/tools/pkg/res/melnorm.con.pc.res new file mode 100644 index 000000000..f1f7e4439 --- /dev/null +++ b/tools/pkg/res/melnorm.con.pc.res @@ -0,0 +1,5 @@ +0x00200002 MELNORME_PMAP_ANIM +0x00200003 MELNORME_FONT +0x00200004 MELNORME_CONVERSATION_PHRASES +0x00200006 MELNORME_MUSIC +0x00200104 MELNORME_COLOR_MAP diff --git a/tools/pkg/res/melnorme.shp.3do.res b/tools/pkg/res/melnorme.shp.3do.res new file mode 100644 index 000000000..15261ca26 --- /dev/null +++ b/tools/pkg/res/melnorme.shp.3do.res @@ -0,0 +1,16 @@ +0x00200001 MELNORME_ICON_MASK_PMAP_ANIM +0x00200002 MELNORME_RACE_STRINGS +0x00200005 MELNORME_CODE +0x00200101 MELNORME_MICON_MASK_PMAP_ANIM +0x00400003 MELNORME_VICTORY_SONG +0x00400102 MELNORME_SHIP_SOUNDS +0x00400201 MELNORME_BIG_MASK_PMAP_ANIM +0x00400301 MELNORME_MED_MASK_PMAP_ANIM +0x00400401 MELNORME_SML_MASK_PMAP_ANIM +0x00400501 PUMPUP_BIG_MASK_PMAP_ANIM +0x00400601 PUMPUP_MED_MASK_PMAP_ANIM +0x00400701 PUMPUP_SML_MASK_PMAP_ANIM +0x00400801 CONFUSE_BIG_MASK_PMAP_ANIM +0x00400901 CONFUSE_MED_MASK_PMAP_ANIM +0x00400a01 CONFUSE_SML_MASK_PMAP_ANIM +0x00400b01 MELNORME_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/melnorme.shp.pc.res b/tools/pkg/res/melnorme.shp.pc.res new file mode 100644 index 000000000..111ffe11a --- /dev/null +++ b/tools/pkg/res/melnorme.shp.pc.res @@ -0,0 +1,16 @@ +0x00200002 MELNORME_ICON_MASK_PMAP_ANIM +0x00200004 MELNORME_RACE_STRINGS +0x00200008 MELNORME_CODE +0x00200102 MELNORME_MICON_MASK_PMAP_ANIM +0x00400005 MELNORME_SHIP_SOUNDS +0x00400006 MELNORME_VICTORY_SONG +0x00400202 MELNORME_BIG_MASK_PMAP_ANIM +0x00400302 MELNORME_MED_MASK_PMAP_ANIM +0x00400402 MELNORME_SML_MASK_PMAP_ANIM +0x00400502 PUMPUP_BIG_MASK_PMAP_ANIM +0x00400602 PUMPUP_MED_MASK_PMAP_ANIM +0x00400702 PUMPUP_SML_MASK_PMAP_ANIM +0x00400802 CONFUSE_BIG_MASK_PMAP_ANIM +0x00400902 CONFUSE_MED_MASK_PMAP_ANIM +0x00400a02 CONFUSE_SML_MASK_PMAP_ANIM +0x00400b02 MELNORME_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/mmrnmhrm.shp.3do.res b/tools/pkg/res/mmrnmhrm.shp.3do.res new file mode 100644 index 000000000..f975d33da --- /dev/null +++ b/tools/pkg/res/mmrnmhrm.shp.3do.res @@ -0,0 +1,16 @@ +0x00200001 MMRNMHRM_ICON_MASK_PMAP_ANIM +0x00200002 MMRNMHRM_RACE_STRINGS +0x00200005 MMRNMHRM_CODE +0x00200101 MMRNMHRM_MICON_MASK_PMAP_ANIM +0x00400003 MMRNMHRM_VICTORY_SONG +0x00400102 MMRNMHRM_SHIP_SOUNDS +0x00400201 MMRNMHRM_BIG_MASK_PMAP_ANIM +0x00400301 MMRNMHRM_MED_MASK_PMAP_ANIM +0x00400401 MMRNMHRM_SML_MASK_PMAP_ANIM +0x00400501 TORP_BIG_MASK_PMAP_ANIM +0x00400601 TORP_MED_MASK_PMAP_ANIM +0x00400701 TORP_SML_MASK_PMAP_ANIM +0x00400801 YWING_BIG_MASK_PMAP_ANIM +0x00400901 YWING_MED_MASK_PMAP_ANIM +0x00400a01 YWING_SML_MASK_PMAP_ANIM +0x00400b01 MMRNMHRM_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/mmrnmhrm.shp.pc.res b/tools/pkg/res/mmrnmhrm.shp.pc.res new file mode 100644 index 000000000..805255a3a --- /dev/null +++ b/tools/pkg/res/mmrnmhrm.shp.pc.res @@ -0,0 +1,16 @@ +0x00200002 MMRNMHRM_ICON_MASK_PMAP_ANIM +0x00200004 MMRNMHRM_RACE_STRINGS +0x00200008 MMRNMHRM_CODE +0x00200102 MMRNMHRM_MICON_MASK_PMAP_ANIM +0x00400005 MMRNMHRM_SHIP_SOUNDS +0x00400006 MMRNMHRM_VICTORY_SONG +0x00400202 MMRNMHRM_BIG_MASK_PMAP_ANIM +0x00400302 MMRNMHRM_MED_MASK_PMAP_ANIM +0x00400402 MMRNMHRM_SML_MASK_PMAP_ANIM +0x00400502 TORP_BIG_MASK_PMAP_ANIM +0x00400602 TORP_MED_MASK_PMAP_ANIM +0x00400702 TORP_SML_MASK_PMAP_ANIM +0x00400802 YWING_BIG_MASK_PMAP_ANIM +0x00400902 YWING_MED_MASK_PMAP_ANIM +0x00400a02 YWING_SML_MASK_PMAP_ANIM +0x00400b02 MMRNMHRM_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/mycon.con.3do.res b/tools/pkg/res/mycon.con.3do.res new file mode 100644 index 000000000..875920a4e --- /dev/null +++ b/tools/pkg/res/mycon.con.3do.res @@ -0,0 +1,3 @@ +0x00200001 MYCON_PMAP_ANIM +0x00200002 MYCON_PLAYER_PHRASES +0x00200003 MYCON_MUSIC diff --git a/tools/pkg/res/mycon.con.pc.res b/tools/pkg/res/mycon.con.pc.res new file mode 100644 index 000000000..32b499ef5 --- /dev/null +++ b/tools/pkg/res/mycon.con.pc.res @@ -0,0 +1,4 @@ +0x00200002 MYCON_PMAP_ANIM +0x00200003 MYCON_FONT +0x00200004 MYCON_CONVERSATION_PHRASES +0x00200006 MYCON_MUSIC diff --git a/tools/pkg/res/mycon.shp.3do.res b/tools/pkg/res/mycon.shp.3do.res new file mode 100644 index 000000000..cd5f26041 --- /dev/null +++ b/tools/pkg/res/mycon.shp.3do.res @@ -0,0 +1,13 @@ +0x00200001 MYCON_ICON_MASK_PMAP_ANIM +0x00200002 MYCON_RACE_STRINGS +0x00200005 MYCON_CODE +0x00200101 MYCON_MICON_MASK_PMAP_ANIM +0x00400003 MYCON_VICTORY_SONG +0x00400102 MYCON_SHIP_SOUNDS +0x00400201 MYCON_BIG_MASK_PMAP_ANIM +0x00400301 MYCON_MED_MASK_PMAP_ANIM +0x00400401 MYCON_SML_MASK_PMAP_ANIM +0x00400501 PLASMA_BIG_MASK_PMAP_ANIM +0x00400601 PLASMA_MED_MASK_PMAP_ANIM +0x00400701 PLASMA_SML_MASK_PMAP_ANIM +0x00400801 MYCON_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/mycon.shp.pc.res b/tools/pkg/res/mycon.shp.pc.res new file mode 100644 index 000000000..b24aae382 --- /dev/null +++ b/tools/pkg/res/mycon.shp.pc.res @@ -0,0 +1,13 @@ +0x00200002 MYCON_ICON_MASK_PMAP_ANIM +0x00200004 MYCON_RACE_STRINGS +0x00200008 MYCON_CODE +0x00200102 MYCON_MICON_MASK_PMAP_ANIM +0x00400005 MYCON_SHIP_SOUNDS +0x00400006 MYCON_VICTORY_SONG +0x00400202 MYCON_BIG_MASK_PMAP_ANIM +0x00400302 MYCON_MED_MASK_PMAP_ANIM +0x00400402 MYCON_SML_MASK_PMAP_ANIM +0x00400502 PLASMA_BIG_MASK_PMAP_ANIM +0x00400602 PLASMA_MED_MASK_PMAP_ANIM +0x00400702 PLASMA_SML_MASK_PMAP_ANIM +0x00400802 MYCON_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/orz.con.3do.res b/tools/pkg/res/orz.con.3do.res new file mode 100644 index 000000000..11d48d0f5 --- /dev/null +++ b/tools/pkg/res/orz.con.3do.res @@ -0,0 +1,4 @@ +0x00200001 ORZ_PMAP_ANIM +0x00200002 ORZ_PLAYER_PHRASES +0x00200003 ORZ_MUSIC +0x00200102 ORZ_COLOR_MAP diff --git a/tools/pkg/res/orz.con.pc.res b/tools/pkg/res/orz.con.pc.res new file mode 100644 index 000000000..6bdabe11f --- /dev/null +++ b/tools/pkg/res/orz.con.pc.res @@ -0,0 +1,5 @@ +0x00200002 ORZ_PMAP_ANIM +0x00200003 ORZ_FONT +0x00200004 ORZ_CONVERSATION_PHRASES +0x00200006 ORZ_MUSIC +0x00200104 ORZ_COLOR_MAP diff --git a/tools/pkg/res/orz.shp.3do.res b/tools/pkg/res/orz.shp.3do.res new file mode 100644 index 000000000..363d587da --- /dev/null +++ b/tools/pkg/res/orz.shp.3do.res @@ -0,0 +1,16 @@ +0x00200001 ORZ_ICON_MASK_PMAP_ANIM +0x00200002 ORZ_RACE_STRINGS +0x00200005 ORZ_CODE +0x00200101 ORZ_MICON_MASK_PMAP_ANIM +0x00400003 ORZ_VICTORY_SONG +0x00400102 ORZ_SHIP_SOUNDS +0x00400201 ORZ_BIG_MASK_PMAP_ANIM +0x00400301 ORZ_MED_MASK_PMAP_ANIM +0x00400401 ORZ_SML_MASK_PMAP_ANIM +0x00400501 HOWITZER_BIG_MASK_PMAP_ANIM +0x00400601 HOWITZER_MED_MASK_PMAP_ANIM +0x00400701 HOWITZER_SML_MASK_PMAP_ANIM +0x00400801 TURRET_BIG_MASK_PMAP_ANIM +0x00400901 TURRET_MED_MASK_PMAP_ANIM +0x00400a01 TURRET_SML_MASK_PMAP_ANIM +0x00400b01 ORZ_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/orz.shp.pc.res b/tools/pkg/res/orz.shp.pc.res new file mode 100644 index 000000000..5a6c14ca4 --- /dev/null +++ b/tools/pkg/res/orz.shp.pc.res @@ -0,0 +1,16 @@ +0x00200002 ORZ_ICON_MASK_PMAP_ANIM +0x00200004 ORZ_RACE_STRINGS +0x00200008 ORZ_CODE +0x00200102 ORZ_MICON_MASK_PMAP_ANIM +0x00400005 ORZ_SHIP_SOUNDS +0x00400006 ORZ_VICTORY_SONG +0x00400202 ORZ_BIG_MASK_PMAP_ANIM +0x00400302 ORZ_MED_MASK_PMAP_ANIM +0x00400402 ORZ_SML_MASK_PMAP_ANIM +0x00400502 HOWITZER_BIG_MASK_PMAP_ANIM +0x00400602 HOWITZER_MED_MASK_PMAP_ANIM +0x00400702 HOWITZER_SML_MASK_PMAP_ANIM +0x00400802 TURRET_BIG_MASK_PMAP_ANIM +0x00400902 TURRET_MED_MASK_PMAP_ANIM +0x00400a02 TURRET_SML_MASK_PMAP_ANIM +0x00400b02 ORZ_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/pkunk.con.3do.res b/tools/pkg/res/pkunk.con.3do.res new file mode 100644 index 000000000..9fd3614fb --- /dev/null +++ b/tools/pkg/res/pkunk.con.3do.res @@ -0,0 +1,3 @@ +0x00200001 PKUNK_PMAP_ANIM +0x00200002 PKUNK_PLAYER_PHRASES +0x00200003 PKUNK_MUSIC diff --git a/tools/pkg/res/pkunk.con.pc.res b/tools/pkg/res/pkunk.con.pc.res new file mode 100644 index 000000000..d6f090a00 --- /dev/null +++ b/tools/pkg/res/pkunk.con.pc.res @@ -0,0 +1,4 @@ +0x00200002 PKUNK_PMAP_ANIM +0x00200003 PKUNK_FONT +0x00200004 PKUNK_CONVERSATION_PHRASES +0x00200006 PKUNK_MUSIC diff --git a/tools/pkg/res/pkunk.shp.3do.res b/tools/pkg/res/pkunk.shp.3do.res new file mode 100644 index 000000000..c48723e40 --- /dev/null +++ b/tools/pkg/res/pkunk.shp.3do.res @@ -0,0 +1,13 @@ +0x00200001 PKUNK_ICON_MASK_PMAP_ANIM +0x00200002 PKUNK_RACE_STRINGS +0x00200005 PKUNK_CODE +0x00200101 PKUNK_MICON_MASK_PMAP_ANIM +0x00400003 PKUNK_VICTORY_SONG +0x00400102 PKUNK_SHIP_SOUNDS +0x00400201 PKUNK_BIG_MASK_PMAP_ANIM +0x00400301 PKUNK_MED_MASK_PMAP_ANIM +0x00400401 PKUNK_SML_MASK_PMAP_ANIM +0x00400501 BUG_BIG_MASK_PMAP_ANIM +0x00400601 BUG_MED_MASK_PMAP_ANIM +0x00400701 BUG_SML_MASK_PMAP_ANIM +0x00400801 PKUNK_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/pkunk.shp.pc.res b/tools/pkg/res/pkunk.shp.pc.res new file mode 100644 index 000000000..e5579aa3d --- /dev/null +++ b/tools/pkg/res/pkunk.shp.pc.res @@ -0,0 +1,13 @@ +0x00200002 PKUNK_ICON_MASK_PMAP_ANIM +0x00200004 PKUNK_RACE_STRINGS +0x00200008 PKUNK_CODE +0x00200102 PKUNK_MICON_MASK_PMAP_ANIM +0x00400005 PKUNK_SHIP_SOUNDS +0x00400006 PKUNK_VICTORY_SONG +0x00400202 PKUNK_BIG_MASK_PMAP_ANIM +0x00400302 PKUNK_MED_MASK_PMAP_ANIM +0x00400402 PKUNK_SML_MASK_PMAP_ANIM +0x00400502 BUG_BIG_MASK_PMAP_ANIM +0x00400602 BUG_MED_MASK_PMAP_ANIM +0x00400702 BUG_SML_MASK_PMAP_ANIM +0x00400802 PKUNK_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/probe.sc2.3do.res b/tools/pkg/res/probe.sc2.3do.res new file mode 100644 index 000000000..fb392e439 --- /dev/null +++ b/tools/pkg/res/probe.sc2.3do.res @@ -0,0 +1,2 @@ +0x00200001 PROBE_MICON_MASK_PMAP_ANIM +0x00200005 PROBE_CODE diff --git a/tools/pkg/res/probe.sc2.pc.res b/tools/pkg/res/probe.sc2.pc.res new file mode 100644 index 000000000..f6b9a174d --- /dev/null +++ b/tools/pkg/res/probe.sc2.pc.res @@ -0,0 +1,2 @@ +0x00200002 PROBE_MICON_MASK_PMAP_ANIM +0x00200008 PROBE_CODE diff --git a/tools/pkg/res/shofixt.con.3do.res b/tools/pkg/res/shofixt.con.3do.res new file mode 100644 index 000000000..00f606094 --- /dev/null +++ b/tools/pkg/res/shofixt.con.3do.res @@ -0,0 +1,3 @@ +0x00200001 SHOFIXTI_PMAP_ANIM +0x00200002 SHOFIXTI_PLAYER_PHRASES +0x00200003 SHOFIXTI_MUSIC diff --git a/tools/pkg/res/shofixt.con.pc.res b/tools/pkg/res/shofixt.con.pc.res new file mode 100644 index 000000000..5929c933a --- /dev/null +++ b/tools/pkg/res/shofixt.con.pc.res @@ -0,0 +1,4 @@ +0x00200002 SHOFIXTI_PMAP_ANIM +0x00200003 SHOFIXTI_FONT +0x00200004 SHOFIXTI_CONVERSATION_PHRASES +0x00200006 SHOFIXTI_MUSIC diff --git a/tools/pkg/res/shofixti.shp.3do.res b/tools/pkg/res/shofixti.shp.3do.res new file mode 100644 index 000000000..761df8c29 --- /dev/null +++ b/tools/pkg/res/shofixti.shp.3do.res @@ -0,0 +1,20 @@ +0x00200001 SHOFIXTI_ICON_MASK_PMAP_ANIM +0x00200002 SHOFIXTI_RACE_STRINGS +0x00200005 SHOFIXTI_CODE +0x00200101 SHOFIXTI_MICON_MASK_PMAP_ANIM +0x00400201 SHOFIXTI_BIG_MASK_PMAP_ANIM +0x00400301 SHOFIXTI_MED_MASK_PMAP_ANIM +0x00400401 SHOFIXTI_SML_MASK_PMAP_ANIM +0x00400501 DESTRUCT_BIG_MASK_ANIM +0x00400601 DESTRUCT_MED_MASK_ANIM +0x00400701 DESTRUCT_SML_MASK_ANIM +0x00400801 SHOFIXTI_CAPTAIN_MASK_PMAP_ANIM +0x00600901 OLDSHOF_BIG_MASK_PMAP_ANIM +0x00600a01 OLDSHOF_MED_MASK_PMAP_ANIM +0x00600b01 OLDSHOF_SML_MASK_PMAP_ANIM +0x00600c01 OLDSHOF_CAPTAIN_MASK_PMAP_ANIM +0x00800003 SHOFIXTI_VICTORY_SONG +0x00800102 SHOFIXTI_SHIP_SOUNDS +0x00800d01 DART_BIG_MASK_PMAP_ANIM +0x00800e01 DART_MED_MASK_PMAP_ANIM +0x00800f01 DART_SML_MASK_PMAP_ANIM diff --git a/tools/pkg/res/shofixti.shp.pc.res b/tools/pkg/res/shofixti.shp.pc.res new file mode 100644 index 000000000..5576a9a67 --- /dev/null +++ b/tools/pkg/res/shofixti.shp.pc.res @@ -0,0 +1,20 @@ +0x00200002 SHOFIXTI_ICON_MASK_PMAP_ANIM +0x00200004 SHOFIXTI_RACE_STRINGS +0x00200008 SHOFIXTI_CODE +0x00200102 SHOFIXTI_MICON_MASK_PMAP_ANIM +0x00400202 SHOFIXTI_BIG_MASK_PMAP_ANIM +0x00400302 SHOFIXTI_MED_MASK_PMAP_ANIM +0x00400402 SHOFIXTI_SML_MASK_PMAP_ANIM +0x00400502 DESTRUCT_BIG_MASK_ANIM +0x00400602 DESTRUCT_MED_MASK_ANIM +0x00400702 DESTRUCT_SML_MASK_ANIM +0x00400802 SHOFIXTI_CAPTAIN_MASK_PMAP_ANIM +0x00600902 OLDSHOF_BIG_MASK_PMAP_ANIM +0x00600a02 OLDSHOF_MED_MASK_PMAP_ANIM +0x00600b02 OLDSHOF_SML_MASK_PMAP_ANIM +0x00600c02 OLDSHOF_CAPTAIN_MASK_PMAP_ANIM +0x00800005 SHOFIXTI_SHIP_SOUNDS +0x00800006 SHOFIXTI_VICTORY_SONG +0x00800d02 DART_BIG_MASK_PMAP_ANIM +0x00800e02 DART_MED_MASK_PMAP_ANIM +0x00800f02 DART_SML_MASK_PMAP_ANIM diff --git a/tools/pkg/res/sis.dat.3do.res b/tools/pkg/res/sis.dat.3do.res new file mode 100644 index 000000000..5521d08cb --- /dev/null +++ b/tools/pkg/res/sis.dat.3do.res @@ -0,0 +1,12 @@ +0x00200005 SIS_CODE +0x00400001 SIS_ICON_MASK_PMAP_ANIM +0x00400002 SIS_SHIP_SOUNDS +0x00400003 SIS_VICTORY_SONG +0x00400101 SIS_BIG_MASK_PMAP_ANIM +0x00400201 SIS_MED_MASK_PMAP_ANIM +0x00400301 SIS_SML_MASK_PMAP_ANIM +0x00400401 BLASTER_BIG_MASK_PMAP_ANIM +0x00400501 BLASTER_MED_MASK_PMAP_ANIM +0x00400601 BLASTER_SML_MASK_PMAP_ANIM +0x00400701 SIS_CAPTAIN_MASK_PMAP_ANIM +0x00600801 SIS_HYPER_MASK_PMAP_ANIM diff --git a/tools/pkg/res/sis.dat.pc.res b/tools/pkg/res/sis.dat.pc.res new file mode 100644 index 000000000..aa4e8eb58 --- /dev/null +++ b/tools/pkg/res/sis.dat.pc.res @@ -0,0 +1,12 @@ +0x00200008 SIS_CODE +0x00400002 SIS_ICON_MASK_PMAP_ANIM +0x00400005 SIS_SHIP_SOUNDS +0x00400006 SIS_VICTORY_SONG +0x00400102 SIS_BIG_MASK_PMAP_ANIM +0x00400202 SIS_MED_MASK_PMAP_ANIM +0x00400302 SIS_SML_MASK_PMAP_ANIM +0x00400402 BLASTER_BIG_MASK_PMAP_ANIM +0x00400502 BLASTER_MED_MASK_PMAP_ANIM +0x00400602 BLASTER_SML_MASK_PMAP_ANIM +0x00400702 SIS_CAPTAIN_MASK_PMAP_ANIM +0x00600802 SIS_HYPER_MASK_PMAP_ANIM diff --git a/tools/pkg/res/slyhome.con.3do.res b/tools/pkg/res/slyhome.con.3do.res new file mode 100644 index 000000000..444ab1224 --- /dev/null +++ b/tools/pkg/res/slyhome.con.3do.res @@ -0,0 +1,4 @@ +0x00200001 SLYLANDRO_PMAP_ANIM +0x00200002 SLYLANDRO_PLAYER_PHRASES +0x00200003 SLYLANDRO_MUSIC +0x00200102 SLYLANDRO_COLOR_MAP diff --git a/tools/pkg/res/slyhome.con.pc.res b/tools/pkg/res/slyhome.con.pc.res new file mode 100644 index 000000000..af392b714 --- /dev/null +++ b/tools/pkg/res/slyhome.con.pc.res @@ -0,0 +1,5 @@ +0x00200002 SLYLANDRO_PMAP_ANIM +0x00200003 SLYLANDRO_FONT +0x00200004 SLYLANDRO_CONVERSATION_PHRASES +0x00200006 SLYLANDRO_MUSIC +0x00200104 SLYLANDRO_COLOR_MAP diff --git a/tools/pkg/res/slyland.con.3do.res b/tools/pkg/res/slyland.con.3do.res new file mode 100644 index 000000000..c11dd6a86 --- /dev/null +++ b/tools/pkg/res/slyland.con.3do.res @@ -0,0 +1,3 @@ +0x00200001 SLYLAND_PMAP_ANIM +0x00200002 SLYLAND_PLAYER_PHRASES +0x00200003 SLYLAND_MUSIC diff --git a/tools/pkg/res/slyland.con.pc.res b/tools/pkg/res/slyland.con.pc.res new file mode 100644 index 000000000..c5889aeca --- /dev/null +++ b/tools/pkg/res/slyland.con.pc.res @@ -0,0 +1,4 @@ +0x00200002 SLYLAND_PMAP_ANIM +0x00200003 SLYLAND_FONT +0x00200004 SLYLAND_CONVERSATION_PHRASES +0x00200006 SLYLAND_MUSIC diff --git a/tools/pkg/res/slylandr.shp.3do.res b/tools/pkg/res/slylandr.shp.3do.res new file mode 100644 index 000000000..8143bb912 --- /dev/null +++ b/tools/pkg/res/slylandr.shp.3do.res @@ -0,0 +1,10 @@ +0x00200001 SLYLANDRO_ICON_MASK_PMAP_ANIM +0x00200002 SLYLANDRO_RACE_STRINGS +0x00200005 SLYLANDRO_CODE +0x00200101 SLYLANDRO_MICON_MASK_PMAP_ANIM +0x00400003 SLYLANDRO_VICTORY_SONG +0x00400102 SLYLANDRO_SHIP_SOUNDS +0x00400201 SLYLANDRO_BIG_MASK_PMAP_ANIM +0x00400301 SLYLANDRO_MED_MASK_PMAP_ANIM +0x00400401 SLYLANDRO_SML_MASK_PMAP_ANIM +0x00400501 SLYLANDRO_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/slylandr.shp.pc.res b/tools/pkg/res/slylandr.shp.pc.res new file mode 100644 index 000000000..7a3c9bdb8 --- /dev/null +++ b/tools/pkg/res/slylandr.shp.pc.res @@ -0,0 +1,10 @@ +0x00200002 SLYLANDRO_ICON_MASK_PMAP_ANIM +0x00200004 SLYLANDRO_RACE_STRINGS +0x00200008 SLYLANDRO_CODE +0x00200102 SLYLANDRO_MICON_MASK_PMAP_ANIM +0x00400005 SLYLANDRO_SHIP_SOUNDS +0x00400006 SLYLANDRO_VICTORY_SONG +0x00400202 SLYLANDRO_BIG_MASK_PMAP_ANIM +0x00400302 SLYLANDRO_MED_MASK_PMAP_ANIM +0x00400402 SLYLANDRO_SML_MASK_PMAP_ANIM +0x00400502 SLYLANDRO_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/spathi.con.3do.res b/tools/pkg/res/spathi.con.3do.res new file mode 100644 index 000000000..7d3a5876e --- /dev/null +++ b/tools/pkg/res/spathi.con.3do.res @@ -0,0 +1,6 @@ +0x00200001 SPATHI_PMAP_ANIM +0x00200002 SPATHI_PLAYER_PHRASES +0x00400101 SPATHI_HOME_PMAP_ANIM +0x00400102 SPATHI_HOME_COLOR_MAP +0x00400202 SPATHI_HOME_PLAYER_PHRASES +0x00600003 SPATHI_MUSIC diff --git a/tools/pkg/res/spathi.con.pc.res b/tools/pkg/res/spathi.con.pc.res new file mode 100644 index 000000000..d13ba7439 --- /dev/null +++ b/tools/pkg/res/spathi.con.pc.res @@ -0,0 +1,7 @@ +0x00200002 SPATHI_PMAP_ANIM +0x00200003 SPATHI_FONT +0x00200004 SPATHI_CONVERSATION_PHRASES +0x00400102 SPATHI_HOME_PMAP_ANIM +0x00400104 SPATHI_HOME_COLOR_MAP +0x00400204 SPATHI_HOME_CONVERSATION_PHRASES +0x00600006 SPATHI_MUSIC diff --git a/tools/pkg/res/spathi.shp.3do.res b/tools/pkg/res/spathi.shp.3do.res new file mode 100644 index 000000000..37ca30ae5 --- /dev/null +++ b/tools/pkg/res/spathi.shp.3do.res @@ -0,0 +1,16 @@ +0x00200001 SPATHI_ICON_MASK_PMAP_ANIM +0x00200002 SPATHI_RACE_STRINGS +0x00200005 SPATHI_CODE +0x00200101 SPATHI_MICON_MASK_PMAP_ANIM +0x00400003 SPATHI_VICTORY_SONG +0x00400102 SPATHI_SHIP_SOUNDS +0x00400201 SPATHI_BIG_MASK_PMAP_ANIM +0x00400301 SPATHI_MED_MASK_PMAP_ANIM +0x00400401 SPATHI_SML_MASK_PMAP_ANIM +0x00400501 MISSILE_BIG_MASK_PMAP_ANIM +0x00400601 MISSILE_MED_MASK_PMAP_ANIM +0x00400701 MISSILE_SML_MASK_PMAP_ANIM +0x00400801 DISCRIM_BIG_MASK_PMAP_ANIM +0x00400901 DISCRIM_MED_MASK_PMAP_ANIM +0x00400a01 DISCRIM_SML_MASK_PMAP_ANIM +0x00400b01 SPATHI_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/spathi.shp.pc.res b/tools/pkg/res/spathi.shp.pc.res new file mode 100644 index 000000000..7ec4fb05a --- /dev/null +++ b/tools/pkg/res/spathi.shp.pc.res @@ -0,0 +1,16 @@ +0x00200002 SPATHI_ICON_MASK_PMAP_ANIM +0x00200004 SPATHI_RACE_STRINGS +0x00200008 SPATHI_CODE +0x00200102 SPATHI_MICON_MASK_PMAP_ANIM +0x00400005 SPATHI_SHIP_SOUNDS +0x00400006 SPATHI_VICTORY_SONG +0x00400202 SPATHI_BIG_MASK_PMAP_ANIM +0x00400302 SPATHI_MED_MASK_PMAP_ANIM +0x00400402 SPATHI_SML_MASK_PMAP_ANIM +0x00400502 MISSILE_BIG_MASK_PMAP_ANIM +0x00400602 MISSILE_MED_MASK_PMAP_ANIM +0x00400702 MISSILE_SML_MASK_PMAP_ANIM +0x00400802 DISCRIM_BIG_MASK_PMAP_ANIM +0x00400902 DISCRIM_MED_MASK_PMAP_ANIM +0x00400a02 DISCRIM_SML_MASK_PMAP_ANIM +0x00400b02 SPATHI_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/starcon.pkg.3do.res b/tools/pkg/res/starcon.pkg.3do.res new file mode 100644 index 000000000..496949ab8 --- /dev/null +++ b/tools/pkg/res/starcon.pkg.3do.res @@ -0,0 +1,452 @@ +0x00200002 STARCON_COLOR_MAP +0x00400001 TITLE_ANIM +0x00600004 ARILOU_SHIP_INDEX +0x00800104 CHMMR_SHIP_INDEX +0x00a00204 EARTHLING_SHIP_INDEX +0x00c00304 ORZ_SHIP_INDEX +0x00e00404 PKUNK_SHIP_INDEX +0x01000504 SHOFIXTI_SHIP_INDEX +0x01200604 SPATHI_SHIP_INDEX +0x01400704 SUPOX_SHIP_INDEX +0x01600804 THRADD_SHIP_INDEX +0x01800904 UTWIG_SHIP_INDEX +0x01a00a04 VUX_SHIP_INDEX +0x01c00b04 YEHAT_SHIP_INDEX +0x01e00c04 MELNORME_SHIP_INDEX +0x02000d04 DRUUGE_SHIP_INDEX +0x02200e04 ILWRATH_SHIP_INDEX +0x02400f04 MYCON_SHIP_INDEX +0x02601004 SLYLANDRO_SHIP_INDEX +0x02801104 UMGAH_SHIP_INDEX +0x02a01204 URQUAN_SHIP_INDEX +0x02c01304 ZOQFOTPIK_SHIP_INDEX +0x02e01404 SYREEN_SHIP_INDEX +0x03001504 BLACKURQ_SHIP_INDEX +0x03201604 ANDROSYN_SHIP_INDEX +0x03401704 CHENJESU_SHIP_INDEX +0x03601804 MMRNMHRM_SHIP_INDEX +0x03800101 STARCON_FONT +0x03800201 TINY_FONT +0x03800301 STATUS_MASK_PMAP_ANIM +0x03800401 ACTIVITY_ANIM +0x03a00501 PLAYMENU_ANIM +0x03c00601 MICRO_FONT +0x03e00701 FLAGSTAT_MASK_PMAP_ANIM +0x03e00801 MISCDATA_MASK_PMAP_ANIM +0x04000102 MENU_SOUNDS +0x04200202 GAME_SOUNDS +0x04400901 STAR_MASK_PMAP_ANIM +0x04400a01 ASTEROID_BIG_MASK_PMAP_ANIM +0x04400b01 ASTEROID_MED_MASK_PMAP_ANIM +0x04400c01 ASTEROID_SML_MASK_PMAP_ANIM +0x04400d01 BLAST_BIG_MASK_PMAP_ANIM +0x04400e01 BLAST_MED_MASK_PMAP_ANIM +0x04400f01 BLAST_SML_MASK_PMAP_ANIM +0x04401001 BOOM_BIG_MASK_PMAP_ANIM +0x04401101 BOOM_MED_MASK_PMAP_ANIM +0x04401201 BOOM_SML_MASK_PMAP_ANIM +0x04601301 AMBIENT_MASK_PMAP_ANIM +0x04800302 HYPER_COLOR_TAB +0x04801401 HYPERSTARS_MASK_PMAP_ANIM +0x04a00402 ARISPACE_COLOR_TAB +0x04a01501 ARISPACE_MASK_PMAP_ANIM +0x04c00003 HYPERSPACE_MUSIC +0x04e00103 QUASISPACE_MUSIC +0x05001601 IPBKGND_MASK_PMAP_ANIM +0x05200502 ORBPLAN_COLOR_MAP +0x05201701 SISIP_MASK_PMAP_ANIM +0x05201801 ORBPLAN_MASK_PMAP_ANIM +0x05201901 SUN_MASK_PMAP_ANIM +0x05400602 LANDER_SOUNDS +0x05401a01 LANDER_MASK_PMAP_ANIM +0x05401b01 QUAKE_MASK_PMAP_ANIM +0x05401c01 LIGHTNING_MASK_ANIM +0x05401d01 LAVA_MASK_PMAP_ANIM +0x05401e01 LANDER_SHIELD_MASK_ANIM +0x05401f01 LANDER_LAUNCH_MASK_PMAP_ANIM +0x05402001 LANDER_RETURN_MASK_PMAP_ANIM +0x05602101 ORBIT_VIEW_ANIM +0x05802201 CANNISTER_MASK_PMAP_ANIM +0x05a02301 LIFE00_MASK_PMAP_ANIM +0x05c02401 LIFE01_MASK_PMAP_ANIM +0x05e02501 LIFE02_MASK_PMAP_ANIM +0x06002601 LIFE03_MASK_PMAP_ANIM +0x06202701 LIFE04_MASK_PMAP_ANIM +0x06402801 LIFE05_MASK_PMAP_ANIM +0x06602901 LIFE06_MASK_PMAP_ANIM +0x06802a01 LIFE07_MASK_PMAP_ANIM +0x06a02b01 LIFE08_MASK_PMAP_ANIM +0x06c02c01 LIFE09_MASK_PMAP_ANIM +0x06e02d01 LIFE10_MASK_PMAP_ANIM +0x07002e01 LIFE11_MASK_PMAP_ANIM +0x07202f01 LIFE12_MASK_PMAP_ANIM +0x07403001 LIFE13_MASK_PMAP_ANIM +0x07603101 LIFE14_MASK_PMAP_ANIM +0x07803201 LIFE15_MASK_PMAP_ANIM +0x07a03301 LIFE16_MASK_PMAP_ANIM +0x07c03401 LIFE17_MASK_PMAP_ANIM +0x07e03501 LIFE18_MASK_PMAP_ANIM +0x08003601 LIFE19_MASK_PMAP_ANIM +0x08203701 LIFE20_MASK_PMAP_ANIM +0x08403801 LIFE21_MASK_PMAP_ANIM +0x08603901 LIFE22_MASK_PMAP_ANIM +0x08803a01 LIFE23_MASK_PMAP_ANIM +0x08a03b01 LIFE24_MASK_PMAP_ANIM +0x08c03c01 LIFE25_MASK_PMAP_ANIM +0x08e00702 OOLITE_COLOR_TAB +0x08e00802 OOLITE_XLAT_TAB +0x09000902 YTTRIC_COLOR_TAB +0x09200a02 YTTRIC_XLAT_TAB +0x09400b02 QUASI_DEGENERATE_COLOR_TAB +0x09600c02 QUASI_DEGENERATE_XLAT_TAB +0x09800d02 LANTHANIDE_COLOR_TAB +0x09a00e02 TREASURE_COLOR_TAB +0x09c00f02 UREA_COLOR_TAB +0x09e01002 UREA_XLAT_TAB +0x0a001102 METAL_COLOR_TAB +0x0a001202 METAL_XLAT_TAB +0x0a201302 RADIOACTIVE_COLOR_TAB +0x0a401402 OPALESCENT_COLOR_TAB +0x0a601502 OPALESCENT_XLAT_TAB +0x0a801602 CYANIC_COLOR_TAB +0x0aa01702 ACID_COLOR_TAB +0x0ac01802 ALKALI_COLOR_TAB +0x0ae01902 HALIDE_COLOR_TAB +0x0b001a02 GREEN_COLOR_TAB +0x0b201b02 COPPER_COLOR_TAB +0x0b401c02 CARBIDE_COLOR_TAB +0x0b601d02 ULTRAMARINE_COLOR_TAB +0x0b801e02 NOBLE_COLOR_TAB +0x0ba01f02 AZURE_COLOR_TAB +0x0bc02002 CHONDRITE_COLOR_TAB +0x0bc02102 CHONDRITE_XLAT_TAB +0x0be02202 PURPLE_COLOR_TAB +0x0c002302 SUPER_DENSE_COLOR_TAB +0x0c202402 PELLUCID_COLOR_TAB +0x0c402502 DUST_COLOR_TAB +0x0c602602 MAROON_COLOR_TAB +0x0c802702 CIMMERIAN_COLOR_TAB +0x0ca02802 INFRARED_COLOR_TAB +0x0cc02902 SELENIC_COLOR_TAB +0x0ce02a02 AURIC_COLOR_TAB +0x0d002b02 FLUORESCENT_COLOR_TAB +0x0d202c02 ULTRAVIOLET_COLOR_TAB +0x0d402d02 PLUTONIC_COLOR_TAB +0x0d602e02 RAINBOW_COLOR_TAB +0x0d602f02 RAINBOW_XLAT_TAB +0x0d803002 CRACKED_COLOR_TAB +0x0d803102 CRACKED_XLAT_TAB +0x0da03202 SAPPHIRE_COLOR_TAB +0x0dc03302 SAPPHIRE_XLAT_TAB +0x0de03402 ORGANIC_COLOR_TAB +0x0e003502 XENOLITHIC_COLOR_TAB +0x0e203602 REDUX_COLOR_TAB +0x0e203702 REDUX_XLAT_TAB +0x0e403802 PRIMORDIAL_COLOR_TAB +0x0e603902 EMERALD_COLOR_TAB +0x0e803a02 CHLORINE_COLOR_TAB +0x0ea03b02 CHLORINE_XLAT_TAB +0x0ec03c02 MAGNETIC_COLOR_TAB +0x0ee03d02 WATER_COLOR_TAB +0x0f003e02 TELLURIC_COLOR_TAB +0x0f203f02 HYDROCARBON_COLOR_TAB +0x0f404002 IODINE_COLOR_TAB +0x0f604102 VINYLOGOUS_COLOR_TAB +0x0f804202 RUBY_COLOR_TAB +0x0fa04302 MAGMA_COLOR_TAB +0x0fc04402 CRIMSON_COLOR_TAB +0x0fe04502 GAS_XLAT_TAB +0x10004602 BLU_GAS_COLOR_TAB +0x10204702 CYA_GAS_COLOR_TAB +0x10404802 GRN_GAS_COLOR_TAB +0x10604902 GRY_GAS_COLOR_TAB +0x10804a02 ORA_GAS_COLOR_TAB +0x10a04b02 PUR_GAS_COLOR_TAB +0x10c04c02 RED_GAS_COLOR_TAB +0x10e04d02 VIO_GAS_COLOR_TAB +0x11004e02 YEL_GAS_COLOR_TAB +0x11203d01 LANDER_FONT +0x11403e01 MOONBASE_MASK_PMAP_ANIM +0x11404f02 MOONBASE_STRTAB +0x11603f01 MAIDENS_MASK_PMAP_ANIM +0x11605002 MAIDENS_STRTAB +0x11805102 CHMMR_BASE_STRTAB +0x11a04001 AQUA_MASK_PMAP_ANIM +0x11a05202 AQUA_STRTAB +0x11c04101 BURV_BCS_MASK_PMAP_ANIM +0x11c05302 BURV_BCS_STRTAB +0x11e04201 TAALO_DEVICE_MASK_PMAP_ANIM +0x11e05402 TAALO_DEVICE_STRTAB +0x12004301 SUN_DEVICE_MASK_PMAP_ANIM +0x12005502 SUN_DEVICE_STRTAB +0x12204401 VAULT_MASK_PMAP_ANIM +0x12205602 VAULT_STRTAB +0x12404501 WRECK_MASK_PMAP_ANIM +0x12405702 WRECK_STRTAB +0x12604601 BOMB_MASK_PMAP_ANIM +0x12605802 BOMB_STRTAB +0x12805902 BEAST_STRTAB +0x12a04701 EGG_CASE_MASK_PMAP_ANIM +0x12a05a02 EGG_CASE_STRTAB +0x12c04801 SPAPLUTO_MASK_PMAP_ANIM +0x12c05b02 SPAPLUTO_STRTAB +0x12e05c02 BURV_RUINS_STRTAB +0x13005d02 ANDROSYNTH_RUINS_STRTAB +0x13205e02 DRUUGE_RUINS_STRTAB +0x13405f02 PKUNK_RUINS_STRTAB +0x13604901 RUINS_MASK_PMAP_ANIM +0x13806002 RUINS_STRTAB +0x13a04a01 UMGAH_BCS_MASK_PMAP_ANIM +0x13a06102 UMGAH_BCS_STRTAB +0x13c00203 IP_MUSIC +0x13e00303 ORBIT1_MUSIC +0x13e00403 ORBIT2_MUSIC +0x13e00503 ORBIT3_MUSIC +0x13e00603 ORBIT4_MUSIC +0x13e00703 ORBIT5_MUSIC +0x14004b01 MELEE_SCREEN_PMAP_ANIM +0x14204c01 MELEE_PICK_MASK_PMAP_ANIM +0x14400803 REDALERT_MUSIC +0x14404d01 SEGUE_PMAP_ANIM +0x14604e01 SC2_PICK_PMAP_ANIM +0x14801904 ARILOU_CONVERSATION +0x14a01a04 CHMMR_CONVERSATION +0x14c01b04 COMMANDER_CONVERSATION +0x14e01c04 ORZ_CONVERSATION +0x15001d04 PKUNK_CONVERSATION +0x15201e04 SHOFIXTI_CONVERSATION +0x15401f04 SPATHI_CONVERSATION +0x15602004 SUPOX_CONVERSATION +0x15802104 THRADD_CONVERSATION +0x15a02204 UTWIG_CONVERSATION +0x15c02304 VUX_CONVERSATION +0x15e02404 YEHAT_CONVERSATION +0x16002504 MELNORME_CONVERSATION +0x16202604 DRUUGE_CONVERSATION +0x16402704 ILWRATH_CONVERSATION +0x16602804 MYCON_CONVERSATION +0x16802904 SLYLANDRO_CONVERSATION +0x16a02a04 UMGAH_CONVERSATION +0x16c02b04 URQUAN_CONVERSATION +0x16e02c04 ZOQFOTPIK_CONVERSATION +0x17002d04 SYREEN_CONVERSATION +0x17202e04 BLACKURQ_CONVERSATION +0x17402f04 TALKING_PET_CONVERSATION +0x17603004 SLYLANDRO_HOME_CONVERSATION +0x17804f01 PLAYER_FONT +0x17a03104 SIS_RES_INDEX +0x17c03204 SAMATRA_RES_INDEX +0x17e03304 PROBE_RES_INDEX +0x18005001 RESTART_PMAP_ANIM +0x18205101 MODULES_PMAP_ANIM +0x18405201 SISMODS_MASK_PMAP_ANIM +0x18405301 OUTFIT_PMAP_ANIM +0x18600903 OUTFIT_MUSIC +0x18805401 SISBLU_MASK_ANIM +0x18805501 SHIPYARD_PMAP_ANIM +0x18a00a03 SHIPYARD_MUSIC +0x18c00b03 STARBASE_MUSIC +0x18c05601 STARBASE_ANIM +0x18e05701 SAMATRA_BIG_MASK_PMAP_ANIM +0x19005801 SHIELDED_BIG_MASK_PMAP_ANIM +0x19005901 SHIELDED_MED_MASK_PMAP_ANIM +0x19005a01 SHIELDED_SML_MASK_PMAP_ANIM +0x19205b01 PLANET00_BIG_MASK_PMAP_ANIM +0x19205c01 PLANET00_MED_MASK_PMAP_ANIM +0x19205d01 PLANET00_SML_MASK_PMAP_ANIM +0x19405e01 PLANET01_BIG_MASK_PMAP_ANIM +0x19405f01 PLANET01_MED_MASK_PMAP_ANIM +0x19406001 PLANET01_SML_MASK_PMAP_ANIM +0x19606101 PLANET02_BIG_MASK_PMAP_ANIM +0x19606201 PLANET02_MED_MASK_PMAP_ANIM +0x19606301 PLANET02_SML_MASK_PMAP_ANIM +0x19806401 PLANET03_BIG_MASK_PMAP_ANIM +0x19806501 PLANET03_MED_MASK_PMAP_ANIM +0x19806601 PLANET03_SML_MASK_PMAP_ANIM +0x19a06701 PLANET04_BIG_MASK_PMAP_ANIM +0x19a06801 PLANET04_MED_MASK_PMAP_ANIM +0x19a06901 PLANET04_SML_MASK_PMAP_ANIM +0x19c06a01 PLANET05_BIG_MASK_PMAP_ANIM +0x19c06b01 PLANET05_MED_MASK_PMAP_ANIM +0x19c06c01 PLANET05_SML_MASK_PMAP_ANIM +0x19e06d01 PLANET06_BIG_MASK_PMAP_ANIM +0x19e06e01 PLANET06_MED_MASK_PMAP_ANIM +0x19e06f01 PLANET06_SML_MASK_PMAP_ANIM +0x1a007001 PLANET07_BIG_MASK_PMAP_ANIM +0x1a007101 PLANET07_MED_MASK_PMAP_ANIM +0x1a007201 PLANET07_SML_MASK_PMAP_ANIM +0x1a207301 PLANET08_BIG_MASK_PMAP_ANIM +0x1a207401 PLANET08_MED_MASK_PMAP_ANIM +0x1a207501 PLANET08_SML_MASK_PMAP_ANIM +0x1a407601 PLANET09_BIG_MASK_PMAP_ANIM +0x1a407701 PLANET09_MED_MASK_PMAP_ANIM +0x1a407801 PLANET09_SML_MASK_PMAP_ANIM +0x1a607901 PLANET10_BIG_MASK_PMAP_ANIM +0x1a607a01 PLANET10_MED_MASK_PMAP_ANIM +0x1a607b01 PLANET10_SML_MASK_PMAP_ANIM +0x1a807c01 PLANET11_BIG_MASK_PMAP_ANIM +0x1a807d01 PLANET11_MED_MASK_PMAP_ANIM +0x1a807e01 PLANET11_SML_MASK_PMAP_ANIM +0x1aa07f01 PLANET12_BIG_MASK_PMAP_ANIM +0x1aa08001 PLANET12_MED_MASK_PMAP_ANIM +0x1aa08101 PLANET12_SML_MASK_PMAP_ANIM +0x1ac08201 PLANET13_BIG_MASK_PMAP_ANIM +0x1ac08301 PLANET13_MED_MASK_PMAP_ANIM +0x1ac08401 PLANET13_SML_MASK_PMAP_ANIM +0x1ae08501 PLANET14_BIG_MASK_PMAP_ANIM +0x1ae08601 PLANET14_MED_MASK_PMAP_ANIM +0x1ae08701 PLANET14_SML_MASK_PMAP_ANIM +0x1b008801 PLANET15_BIG_MASK_PMAP_ANIM +0x1b008901 PLANET15_MED_MASK_PMAP_ANIM +0x1b008a01 PLANET15_SML_MASK_PMAP_ANIM +0x1b208b01 PLANET16_BIG_MASK_PMAP_ANIM +0x1b208c01 PLANET16_MED_MASK_PMAP_ANIM +0x1b208d01 PLANET16_SML_MASK_PMAP_ANIM +0x1b408e01 PLANET17_BIG_MASK_PMAP_ANIM +0x1b408f01 PLANET17_MED_MASK_PMAP_ANIM +0x1b409001 PLANET17_SML_MASK_PMAP_ANIM +0x1b609101 PLANET18_BIG_MASK_PMAP_ANIM +0x1b609201 PLANET18_MED_MASK_PMAP_ANIM +0x1b609301 PLANET18_SML_MASK_PMAP_ANIM +0x1b809401 PLANET19_BIG_MASK_PMAP_ANIM +0x1b809501 PLANET19_MED_MASK_PMAP_ANIM +0x1b809601 PLANET19_SML_MASK_PMAP_ANIM +0x1ba09701 PLANET20_BIG_MASK_PMAP_ANIM +0x1ba09801 PLANET20_MED_MASK_PMAP_ANIM +0x1ba09901 PLANET20_SML_MASK_PMAP_ANIM +0x1bc09a01 PLANET21_BIG_MASK_PMAP_ANIM +0x1bc09b01 PLANET21_MED_MASK_PMAP_ANIM +0x1bc09c01 PLANET21_SML_MASK_PMAP_ANIM +0x1be09d01 PLANET22_BIG_MASK_PMAP_ANIM +0x1be09e01 PLANET22_MED_MASK_PMAP_ANIM +0x1be09f01 PLANET22_SML_MASK_PMAP_ANIM +0x1c00a001 PLANET23_BIG_MASK_PMAP_ANIM +0x1c00a101 PLANET23_MED_MASK_PMAP_ANIM +0x1c00a201 PLANET23_SML_MASK_PMAP_ANIM +0x1c20a301 PLANET24_BIG_MASK_PMAP_ANIM +0x1c20a401 PLANET24_MED_MASK_PMAP_ANIM +0x1c20a501 PLANET24_SML_MASK_PMAP_ANIM +0x1c40a601 PLANET25_BIG_MASK_PMAP_ANIM +0x1c40a701 PLANET25_MED_MASK_PMAP_ANIM +0x1c40a801 PLANET25_SML_MASK_PMAP_ANIM +0x1c60a901 PLANET26_BIG_MASK_PMAP_ANIM +0x1c60aa01 PLANET26_MED_MASK_PMAP_ANIM +0x1c60ab01 PLANET26_SML_MASK_PMAP_ANIM +0x1c80ac01 PLANET27_BIG_MASK_PMAP_ANIM +0x1c80ad01 PLANET27_MED_MASK_PMAP_ANIM +0x1c80ae01 PLANET27_SML_MASK_PMAP_ANIM +0x1ca0af01 PLANET28_BIG_MASK_PMAP_ANIM +0x1ca0b001 PLANET28_MED_MASK_PMAP_ANIM +0x1ca0b101 PLANET28_SML_MASK_PMAP_ANIM +0x1cc0b201 PLANET29_BIG_MASK_PMAP_ANIM +0x1cc0b301 PLANET29_MED_MASK_PMAP_ANIM +0x1cc0b401 PLANET29_SML_MASK_PMAP_ANIM +0x1ce0b501 PLANET30_BIG_MASK_PMAP_ANIM +0x1ce0b601 PLANET30_MED_MASK_PMAP_ANIM +0x1ce0b701 PLANET30_SML_MASK_PMAP_ANIM +0x1d00b801 PLANET31_BIG_MASK_PMAP_ANIM +0x1d00b901 PLANET31_MED_MASK_PMAP_ANIM +0x1d00ba01 PLANET31_SML_MASK_PMAP_ANIM +0x1d20bb01 PLANET32_BIG_MASK_PMAP_ANIM +0x1d20bc01 PLANET32_MED_MASK_PMAP_ANIM +0x1d20bd01 PLANET32_SML_MASK_PMAP_ANIM +0x1d40be01 PLANET33_BIG_MASK_PMAP_ANIM +0x1d40bf01 PLANET33_MED_MASK_PMAP_ANIM +0x1d40c001 PLANET33_SML_MASK_PMAP_ANIM +0x1d60c101 PLANET34_BIG_MASK_PMAP_ANIM +0x1d60c201 PLANET34_MED_MASK_PMAP_ANIM +0x1d60c301 PLANET34_SML_MASK_PMAP_ANIM +0x1d80c401 PLANET35_BIG_MASK_PMAP_ANIM +0x1d80c501 PLANET35_MED_MASK_PMAP_ANIM +0x1d80c601 PLANET35_SML_MASK_PMAP_ANIM +0x1da0c701 PLANET36_BIG_MASK_PMAP_ANIM +0x1da0c801 PLANET36_MED_MASK_PMAP_ANIM +0x1da0c901 PLANET36_SML_MASK_PMAP_ANIM +0x1dc0ca01 PLANET37_BIG_MASK_PMAP_ANIM +0x1dc0cb01 PLANET37_MED_MASK_PMAP_ANIM +0x1dc0cc01 PLANET37_SML_MASK_PMAP_ANIM +0x1de0cd01 PLANET38_BIG_MASK_PMAP_ANIM +0x1de0ce01 PLANET38_MED_MASK_PMAP_ANIM +0x1de0cf01 PLANET38_SML_MASK_PMAP_ANIM +0x1e00d001 PLANET39_BIG_MASK_PMAP_ANIM +0x1e00d101 PLANET39_MED_MASK_PMAP_ANIM +0x1e00d201 PLANET39_SML_MASK_PMAP_ANIM +0x1e20d301 PLANET40_BIG_MASK_PMAP_ANIM +0x1e20d401 PLANET40_MED_MASK_PMAP_ANIM +0x1e20d501 PLANET40_SML_MASK_PMAP_ANIM +0x1e40d601 PLANET41_BIG_MASK_PMAP_ANIM +0x1e40d701 PLANET41_MED_MASK_PMAP_ANIM +0x1e40d801 PLANET41_SML_MASK_PMAP_ANIM +0x1e60d901 PLANET42_BIG_MASK_PMAP_ANIM +0x1e60da01 PLANET42_MED_MASK_PMAP_ANIM +0x1e60db01 PLANET42_SML_MASK_PMAP_ANIM +0x1e80dc01 PLANET43_BIG_MASK_PMAP_ANIM +0x1e80dd01 PLANET43_MED_MASK_PMAP_ANIM +0x1e80de01 PLANET43_SML_MASK_PMAP_ANIM +0x1ea0df01 PLANET44_BIG_MASK_PMAP_ANIM +0x1ea0e001 PLANET44_MED_MASK_PMAP_ANIM +0x1ea0e101 PLANET44_SML_MASK_PMAP_ANIM +0x1ec0e201 PLANET45_BIG_MASK_PMAP_ANIM +0x1ec0e301 PLANET45_MED_MASK_PMAP_ANIM +0x1ec0e401 PLANET45_SML_MASK_PMAP_ANIM +0x1ee0e501 PLANET46_BIG_MASK_PMAP_ANIM +0x1ee0e601 PLANET46_MED_MASK_PMAP_ANIM +0x1ee0e701 PLANET46_SML_MASK_PMAP_ANIM +0x1f00e801 PLANET47_BIG_MASK_PMAP_ANIM +0x1f00e901 PLANET47_MED_MASK_PMAP_ANIM +0x1f00ea01 PLANET47_SML_MASK_PMAP_ANIM +0x1f20eb01 PLANET48_BIG_MASK_PMAP_ANIM +0x1f20ec01 PLANET48_MED_MASK_PMAP_ANIM +0x1f20ed01 PLANET48_SML_MASK_PMAP_ANIM +0x1f40ee01 PLANET49_BIG_MASK_PMAP_ANIM +0x1f40ef01 PLANET49_MED_MASK_PMAP_ANIM +0x1f40f001 PLANET49_SML_MASK_PMAP_ANIM +0x1f60f101 PLANET50_BIG_MASK_PMAP_ANIM +0x1f60f201 PLANET50_MED_MASK_PMAP_ANIM +0x1f60f301 PLANET50_SML_MASK_PMAP_ANIM +0x1f80f401 PLANET51_BIG_MASK_PMAP_ANIM +0x1f80f501 PLANET51_MED_MASK_PMAP_ANIM +0x1f80f601 PLANET51_SML_MASK_PMAP_ANIM +0x1fa0f701 PLANET52_BIG_MASK_PMAP_ANIM +0x1fa0f801 PLANET52_MED_MASK_PMAP_ANIM +0x1fa0f901 PLANET52_SML_MASK_PMAP_ANIM +0x1fc0fa01 PLANET53_BIG_MASK_PMAP_ANIM +0x1fc0fb01 PLANET53_MED_MASK_PMAP_ANIM +0x1fc0fc01 PLANET53_SML_MASK_PMAP_ANIM +0x1fe0fd01 PLANET54_BIG_MASK_PMAP_ANIM +0x1fe0fe01 PLANET54_MED_MASK_PMAP_ANIM +0x1fe0ff01 PLANET54_SML_MASK_PMAP_ANIM +0x20010001 PLANET55_BIG_MASK_PMAP_ANIM +0x20010101 PLANET55_MED_MASK_PMAP_ANIM +0x20010201 PLANET55_SML_MASK_PMAP_ANIM +0x20210301 PLANET56_BIG_MASK_PMAP_ANIM +0x20210401 PLANET56_MED_MASK_PMAP_ANIM +0x20210501 PLANET56_SML_MASK_PMAP_ANIM +0x20410601 PLANET57_BIG_MASK_PMAP_ANIM +0x20410701 PLANET57_MED_MASK_PMAP_ANIM +0x20410801 PLANET57_SML_MASK_PMAP_ANIM +0x20610901 PLANET58_BIG_MASK_PMAP_ANIM +0x20610a01 PLANET58_MED_MASK_PMAP_ANIM +0x20610b01 PLANET58_SML_MASK_PMAP_ANIM +0x20800c03 BATTLE_MUSIC +0x20a10c01 CREDIT00_ANIM +0x20c10d01 CREDIT01_ANIM +0x20e10e01 CREDIT02_ANIM +0x21010f01 CREDIT03_ANIM +0x21211001 CREDIT04_ANIM +0x21411101 CREDIT05_ANIM +0x21611201 CREDIT06_ANIM +0x21811301 CREDIT07_ANIM +0x21a11401 CREDIT08_ANIM +0x21c11501 CREDIT09_ANIM +0x21e11601 CREDIT10_ANIM +0x22011701 CREDIT11_ANIM +0x22211801 CREDIT12_ANIM +0x22411901 CREDIT13_ANIM +0x22611a01 CREDIT14_ANIM +0x22811b01 CREDIT15_ANIM +0x22a11c01 CREDIT16_ANIM +0x22c11d01 CREDIT17_ANIM +0x22e11e01 CREDIT18_ANIM +0x23011f01 CREDIT19_ANIM +0x23200d03 CREDITS_MUSIC diff --git a/tools/pkg/res/starcon.pkg.pc.res b/tools/pkg/res/starcon.pkg.pc.res new file mode 100644 index 000000000..6b715c719 --- /dev/null +++ b/tools/pkg/res/starcon.pkg.pc.res @@ -0,0 +1,455 @@ +0x00200001 JOYSTICK_KEYS +0x00200004 STARCON_COLOR_MAP +0x00400002 TITLE_ANIM +0x00600007 ARILOU_SHIP_INDEX +0x00800107 CHMMR_SHIP_INDEX +0x00a00207 EARTHLING_SHIP_INDEX +0x00c00307 ORZ_SHIP_INDEX +0x00e00407 PKUNK_SHIP_INDEX +0x01000507 SHOFIXTI_SHIP_INDEX +0x01200607 SPATHI_SHIP_INDEX +0x01400707 SUPOX_SHIP_INDEX +0x01600807 THRADD_SHIP_INDEX +0x01800907 UTWIG_SHIP_INDEX +0x01a00a07 VUX_SHIP_INDEX +0x01c00b07 YEHAT_SHIP_INDEX +0x01e00c07 MELNORME_SHIP_INDEX +0x02000d07 DRUUGE_SHIP_INDEX +0x02200e07 ILWRATH_SHIP_INDEX +0x02400f07 MYCON_SHIP_INDEX +0x02601007 SLYLANDRO_SHIP_INDEX +0x02801107 UMGAH_SHIP_INDEX +0x02a01207 URQUAN_SHIP_INDEX +0x02c01307 ZOQFOTPIK_SHIP_INDEX +0x02e01407 SYREEN_SHIP_INDEX +0x03001507 BLACKURQ_SHIP_INDEX +0x03201607 ANDROSYN_SHIP_INDEX +0x03401707 CHENJESU_SHIP_INDEX +0x03601807 MMRNMHRM_SHIP_INDEX +0x03800003 STARCON_FONT +0x03800102 STATUS_MASK_PMAP_ANIM +0x03800103 TINY_FONT +0x03800104 STARCON_GAME_STRINGS +0x03800202 ACTIVITY_ANIM +0x03a00302 PLAYMENU_ANIM +0x03c00203 MICRO_FONT +0x03e00402 FLAGSTAT_MASK_PMAP_ANIM +0x03e00502 MISCDATA_MASK_PMAP_ANIM +0x04000005 MENU_SOUNDS +0x04200105 GAME_SOUNDS +0x04400602 STAR_MASK_PMAP_ANIM +0x04400702 ASTEROID_BIG_MASK_PMAP_ANIM +0x04400802 ASTEROID_MED_MASK_PMAP_ANIM +0x04400902 ASTEROID_SML_MASK_PMAP_ANIM +0x04400a02 BLAST_BIG_MASK_PMAP_ANIM +0x04400b02 BLAST_MED_MASK_PMAP_ANIM +0x04400c02 BLAST_SML_MASK_PMAP_ANIM +0x04400d02 BOOM_BIG_MASK_PMAP_ANIM +0x04400e02 BOOM_MED_MASK_PMAP_ANIM +0x04400f02 BOOM_SML_MASK_PMAP_ANIM +0x04601002 AMBIENT_MASK_PMAP_ANIM +0x04800204 HYPER_COLOR_TAB +0x04801102 HYPERSTARS_MASK_PMAP_ANIM +0x04a00304 ARISPACE_COLOR_TAB +0x04a01202 ARISPACE_MASK_PMAP_ANIM +0x04c00006 HYPERSPACE_MUSIC +0x04e00106 QUASISPACE_MUSIC +0x05001302 IPBKGND_MASK_PMAP_ANIM +0x05200404 ORBPLAN_COLOR_MAP +0x05201402 SISIP_MASK_PMAP_ANIM +0x05201502 ORBPLAN_MASK_PMAP_ANIM +0x05201602 SUN_MASK_PMAP_ANIM +0x05400205 LANDER_SOUNDS +0x05401702 LANDER_MASK_PMAP_ANIM +0x05401802 QUAKE_MASK_PMAP_ANIM +0x05401902 LIGHTNING_MASK_ANIM +0x05401a02 LAVA_MASK_PMAP_ANIM +0x05401b02 LANDER_SHIELD_MASK_ANIM +0x05401c02 LANDER_LAUNCH_MASK_PMAP_ANIM +0x05401d02 LANDER_RETURN_MASK_PMAP_ANIM +0x05601e02 ORBIT_VIEW_ANIM +0x05801f02 EARTH_MASK_ANIM +0x05a02002 CANNISTER_MASK_PMAP_ANIM +0x05c02102 LIFE00_MASK_PMAP_ANIM +0x05e02202 LIFE01_MASK_PMAP_ANIM +0x06002302 LIFE02_MASK_PMAP_ANIM +0x06202402 LIFE03_MASK_PMAP_ANIM +0x06402502 LIFE04_MASK_PMAP_ANIM +0x06602602 LIFE05_MASK_PMAP_ANIM +0x06802702 LIFE06_MASK_PMAP_ANIM +0x06a02802 LIFE07_MASK_PMAP_ANIM +0x06c02902 LIFE08_MASK_PMAP_ANIM +0x06e02a02 LIFE09_MASK_PMAP_ANIM +0x07002b02 LIFE10_MASK_PMAP_ANIM +0x07202c02 LIFE11_MASK_PMAP_ANIM +0x07402d02 LIFE12_MASK_PMAP_ANIM +0x07602e02 LIFE13_MASK_PMAP_ANIM +0x07802f02 LIFE14_MASK_PMAP_ANIM +0x07a03002 LIFE15_MASK_PMAP_ANIM +0x07c03102 LIFE16_MASK_PMAP_ANIM +0x07e03202 LIFE17_MASK_PMAP_ANIM +0x08003302 LIFE18_MASK_PMAP_ANIM +0x08203402 LIFE19_MASK_PMAP_ANIM +0x08403502 LIFE20_MASK_PMAP_ANIM +0x08603602 LIFE21_MASK_PMAP_ANIM +0x08803702 LIFE22_MASK_PMAP_ANIM +0x08a03802 LIFE23_MASK_PMAP_ANIM +0x08c03902 LIFE24_MASK_PMAP_ANIM +0x08e03a02 LIFE25_MASK_PMAP_ANIM +0x09000504 OOLITE_COLOR_TAB +0x09000604 OOLITE_XLAT_TAB +0x09200704 YTTRIC_COLOR_TAB +0x09400804 YTTRIC_XLAT_TAB +0x09600904 QUASI_DEGENERATE_COLOR_TAB +0x09800a04 QUASI_DEGENERATE_XLAT_TAB +0x09a00b04 LANTHANIDE_COLOR_TAB +0x09c00c04 TREASURE_COLOR_TAB +0x09e00d04 UREA_COLOR_TAB +0x0a000e04 UREA_XLAT_TAB +0x0a200f04 METAL_COLOR_TAB +0x0a201004 METAL_XLAT_TAB +0x0a401104 RADIOACTIVE_COLOR_TAB +0x0a601204 OPALESCENT_COLOR_TAB +0x0a801304 OPALESCENT_XLAT_TAB +0x0aa01404 CYANIC_COLOR_TAB +0x0ac01504 ACID_COLOR_TAB +0x0ae01604 ALKALI_COLOR_TAB +0x0b001704 HALIDE_COLOR_TAB +0x0b201804 GREEN_COLOR_TAB +0x0b401904 COPPER_COLOR_TAB +0x0b601a04 CARBIDE_COLOR_TAB +0x0b801b04 ULTRAMARINE_COLOR_TAB +0x0ba01c04 NOBLE_COLOR_TAB +0x0bc01d04 AZURE_COLOR_TAB +0x0be01e04 CHONDRITE_COLOR_TAB +0x0be01f04 CHONDRITE_XLAT_TAB +0x0c002004 PURPLE_COLOR_TAB +0x0c202104 SUPER_DENSE_COLOR_TAB +0x0c402204 PELLUCID_COLOR_TAB +0x0c602304 DUST_COLOR_TAB +0x0c802404 MAROON_COLOR_TAB +0x0ca02504 CIMMERIAN_COLOR_TAB +0x0cc02604 INFRARED_COLOR_TAB +0x0ce02704 SELENIC_COLOR_TAB +0x0d002804 AURIC_COLOR_TAB +0x0d202904 FLUORESCENT_COLOR_TAB +0x0d402a04 ULTRAVIOLET_COLOR_TAB +0x0d602b04 PLUTONIC_COLOR_TAB +0x0d802c04 RAINBOW_COLOR_TAB +0x0d802d04 RAINBOW_XLAT_TAB +0x0da02e04 CRACKED_COLOR_TAB +0x0da02f04 CRACKED_XLAT_TAB +0x0dc03004 SAPPHIRE_COLOR_TAB +0x0de03104 SAPPHIRE_XLAT_TAB +0x0e003204 ORGANIC_COLOR_TAB +0x0e203304 XENOLITHIC_COLOR_TAB +0x0e403404 REDUX_COLOR_TAB +0x0e403504 REDUX_XLAT_TAB +0x0e603604 PRIMORDIAL_COLOR_TAB +0x0e803704 EMERALD_COLOR_TAB +0x0ea03804 CHLORINE_COLOR_TAB +0x0ec03904 CHLORINE_XLAT_TAB +0x0ee03a04 MAGNETIC_COLOR_TAB +0x0f003b04 WATER_COLOR_TAB +0x0f203c04 TELLURIC_COLOR_TAB +0x0f403d04 HYDROCARBON_COLOR_TAB +0x0f603e04 IODINE_COLOR_TAB +0x0f803f04 VINYLOGOUS_COLOR_TAB +0x0fa04004 RUBY_COLOR_TAB +0x0fc04104 MAGMA_COLOR_TAB +0x0fe04204 CRIMSON_COLOR_TAB +0x10004304 GAS_XLAT_TAB +0x10204404 BLU_GAS_COLOR_TAB +0x10404504 CYA_GAS_COLOR_TAB +0x10604604 GRN_GAS_COLOR_TAB +0x10804704 GRY_GAS_COLOR_TAB +0x10a04804 ORA_GAS_COLOR_TAB +0x10c04904 PUR_GAS_COLOR_TAB +0x10e04a04 RED_GAS_COLOR_TAB +0x11004b04 VIO_GAS_COLOR_TAB +0x11204c04 YEL_GAS_COLOR_TAB +0x11400303 LANDER_FONT +0x11603b02 MOONBASE_MASK_PMAP_ANIM +0x11604d04 MOONBASE_STRTAB +0x11803c02 MAIDENS_MASK_PMAP_ANIM +0x11804e04 MAIDENS_STRTAB +0x11a04f04 CHMMR_BASE_STRTAB +0x11c03d02 AQUA_MASK_PMAP_ANIM +0x11c05004 AQUA_STRTAB +0x11e03e02 BURV_BCS_MASK_PMAP_ANIM +0x11e05104 BURV_BCS_STRTAB +0x12003f02 TAALO_DEVICE_MASK_PMAP_ANIM +0x12005204 TAALO_DEVICE_STRTAB +0x12204002 SUN_DEVICE_MASK_PMAP_ANIM +0x12205304 SUN_DEVICE_STRTAB +0x12404102 VAULT_MASK_PMAP_ANIM +0x12405404 VAULT_STRTAB +0x12604202 WRECK_MASK_PMAP_ANIM +0x12605504 WRECK_STRTAB +0x12804302 BOMB_MASK_PMAP_ANIM +0x12805604 BOMB_STRTAB +0x12a05704 BEAST_STRTAB +0x12c04402 EGG_CASE_MASK_PMAP_ANIM +0x12c05804 EGG_CASE_STRTAB +0x12e04502 SPAPLUTO_MASK_PMAP_ANIM +0x12e05904 SPAPLUTO_STRTAB +0x13005a04 BURV_RUINS_STRTAB +0x13205b04 ANDROSYNTH_RUINS_STRTAB +0x13405c04 DRUUGE_RUINS_STRTAB +0x13605d04 PKUNK_RUINS_STRTAB +0x13804602 RUINS_MASK_PMAP_ANIM +0x13a05e04 RUINS_STRTAB +0x13c04702 UMGAH_BCS_MASK_PMAP_ANIM +0x13c05f04 UMGAH_BCS_STRTAB +0x13e00206 IP_MUSIC +0x14000306 ORBIT1_MUSIC +0x14000406 ORBIT2_MUSIC +0x14000506 ORBIT3_MUSIC +0x14000606 ORBIT4_MUSIC +0x14000706 ORBIT5_MUSIC +0x14204802 MELEE_SCREEN_PMAP_ANIM +0x14404902 MELEE_PICK_MASK_PMAP_ANIM +0x14600806 REDALERT_MUSIC +0x14604a02 SEGUE_PMAP_ANIM +0x14804b02 SC2_PICK_PMAP_ANIM +0x14a01907 ARILOU_CONVERSATION +0x14c01a07 CHMMR_CONVERSATION +0x14e01b07 COMMANDER_CONVERSATION +0x15001c07 ORZ_CONVERSATION +0x15201d07 PKUNK_CONVERSATION +0x15401e07 SHOFIXTI_CONVERSATION +0x15601f07 SPATHI_CONVERSATION +0x15802007 SUPOX_CONVERSATION +0x15a02107 THRADD_CONVERSATION +0x15c02207 UTWIG_CONVERSATION +0x15e02307 VUX_CONVERSATION +0x16002407 YEHAT_CONVERSATION +0x16202507 MELNORME_CONVERSATION +0x16402607 DRUUGE_CONVERSATION +0x16602707 ILWRATH_CONVERSATION +0x16802807 MYCON_CONVERSATION +0x16a02907 SLYLANDRO_CONVERSATION +0x16c02a07 UMGAH_CONVERSATION +0x16e02b07 URQUAN_CONVERSATION +0x17002c07 ZOQFOTPIK_CONVERSATION +0x17202d07 SYREEN_CONVERSATION +0x17402e07 BLACKURQ_CONVERSATION +0x17602f07 TALKING_PET_CONVERSATION +0x17803007 SLYLANDRO_HOME_CONVERSATION +0x17a00403 PLAYER_FONT +0x17c03107 SIS_RES_INDEX +0x17e03207 SAMATRA_RES_INDEX +0x18003307 PROBE_RES_INDEX +0x18204c02 RESTART_PMAP_ANIM +0x18404d02 MODULES_PMAP_ANIM +0x18604e02 SISMODS_MASK_PMAP_ANIM +0x18604f02 OUTFIT_PMAP_ANIM +0x18800906 OUTFIT_MUSIC +0x18a05002 SISBLU_MASK_ANIM +0x18a05102 SHIPYARD_PMAP_ANIM +0x18c00a06 SHIPYARD_MUSIC +0x18e00b06 STARBASE_MUSIC +0x18e05202 STARBASE_ANIM +0x19005302 SAMATRA_BIG_MASK_PMAP_ANIM +0x19205402 SHIELDED_BIG_MASK_PMAP_ANIM +0x19205502 SHIELDED_MED_MASK_PMAP_ANIM +0x19205602 SHIELDED_SML_MASK_PMAP_ANIM +0x19405702 PLANET00_BIG_MASK_PMAP_ANIM +0x19405802 PLANET00_MED_MASK_PMAP_ANIM +0x19405902 PLANET00_SML_MASK_PMAP_ANIM +0x19605a02 PLANET01_BIG_MASK_PMAP_ANIM +0x19605b02 PLANET01_MED_MASK_PMAP_ANIM +0x19605c02 PLANET01_SML_MASK_PMAP_ANIM +0x19805d02 PLANET02_BIG_MASK_PMAP_ANIM +0x19805e02 PLANET02_MED_MASK_PMAP_ANIM +0x19805f02 PLANET02_SML_MASK_PMAP_ANIM +0x19a06002 PLANET03_BIG_MASK_PMAP_ANIM +0x19a06102 PLANET03_MED_MASK_PMAP_ANIM +0x19a06202 PLANET03_SML_MASK_PMAP_ANIM +0x19c06302 PLANET04_BIG_MASK_PMAP_ANIM +0x19c06402 PLANET04_MED_MASK_PMAP_ANIM +0x19c06502 PLANET04_SML_MASK_PMAP_ANIM +0x19e06602 PLANET05_BIG_MASK_PMAP_ANIM +0x19e06702 PLANET05_MED_MASK_PMAP_ANIM +0x19e06802 PLANET05_SML_MASK_PMAP_ANIM +0x1a006902 PLANET06_BIG_MASK_PMAP_ANIM +0x1a006a02 PLANET06_MED_MASK_PMAP_ANIM +0x1a006b02 PLANET06_SML_MASK_PMAP_ANIM +0x1a206c02 PLANET07_BIG_MASK_PMAP_ANIM +0x1a206d02 PLANET07_MED_MASK_PMAP_ANIM +0x1a206e02 PLANET07_SML_MASK_PMAP_ANIM +0x1a406f02 PLANET08_BIG_MASK_PMAP_ANIM +0x1a407002 PLANET08_MED_MASK_PMAP_ANIM +0x1a407102 PLANET08_SML_MASK_PMAP_ANIM +0x1a607202 PLANET09_BIG_MASK_PMAP_ANIM +0x1a607302 PLANET09_MED_MASK_PMAP_ANIM +0x1a607402 PLANET09_SML_MASK_PMAP_ANIM +0x1a807502 PLANET10_BIG_MASK_PMAP_ANIM +0x1a807602 PLANET10_MED_MASK_PMAP_ANIM +0x1a807702 PLANET10_SML_MASK_PMAP_ANIM +0x1aa07802 PLANET11_BIG_MASK_PMAP_ANIM +0x1aa07902 PLANET11_MED_MASK_PMAP_ANIM +0x1aa07a02 PLANET11_SML_MASK_PMAP_ANIM +0x1ac07b02 PLANET12_BIG_MASK_PMAP_ANIM +0x1ac07c02 PLANET12_MED_MASK_PMAP_ANIM +0x1ac07d02 PLANET12_SML_MASK_PMAP_ANIM +0x1ae07e02 PLANET13_BIG_MASK_PMAP_ANIM +0x1ae07f02 PLANET13_MED_MASK_PMAP_ANIM +0x1ae08002 PLANET13_SML_MASK_PMAP_ANIM +0x1b008102 PLANET14_BIG_MASK_PMAP_ANIM +0x1b008202 PLANET14_MED_MASK_PMAP_ANIM +0x1b008302 PLANET14_SML_MASK_PMAP_ANIM +0x1b208402 PLANET15_BIG_MASK_PMAP_ANIM +0x1b208502 PLANET15_MED_MASK_PMAP_ANIM +0x1b208602 PLANET15_SML_MASK_PMAP_ANIM +0x1b408702 PLANET16_BIG_MASK_PMAP_ANIM +0x1b408802 PLANET16_MED_MASK_PMAP_ANIM +0x1b408902 PLANET16_SML_MASK_PMAP_ANIM +0x1b608a02 PLANET17_BIG_MASK_PMAP_ANIM +0x1b608b02 PLANET17_MED_MASK_PMAP_ANIM +0x1b608c02 PLANET17_SML_MASK_PMAP_ANIM +0x1b808d02 PLANET18_BIG_MASK_PMAP_ANIM +0x1b808e02 PLANET18_MED_MASK_PMAP_ANIM +0x1b808f02 PLANET18_SML_MASK_PMAP_ANIM +0x1ba09002 PLANET19_BIG_MASK_PMAP_ANIM +0x1ba09102 PLANET19_MED_MASK_PMAP_ANIM +0x1ba09202 PLANET19_SML_MASK_PMAP_ANIM +0x1bc09302 PLANET20_BIG_MASK_PMAP_ANIM +0x1bc09402 PLANET20_MED_MASK_PMAP_ANIM +0x1bc09502 PLANET20_SML_MASK_PMAP_ANIM +0x1be09602 PLANET21_BIG_MASK_PMAP_ANIM +0x1be09702 PLANET21_MED_MASK_PMAP_ANIM +0x1be09802 PLANET21_SML_MASK_PMAP_ANIM +0x1c009902 PLANET22_BIG_MASK_PMAP_ANIM +0x1c009a02 PLANET22_MED_MASK_PMAP_ANIM +0x1c009b02 PLANET22_SML_MASK_PMAP_ANIM +0x1c209c02 PLANET23_BIG_MASK_PMAP_ANIM +0x1c209d02 PLANET23_MED_MASK_PMAP_ANIM +0x1c209e02 PLANET23_SML_MASK_PMAP_ANIM +0x1c409f02 PLANET24_BIG_MASK_PMAP_ANIM +0x1c40a002 PLANET24_MED_MASK_PMAP_ANIM +0x1c40a102 PLANET24_SML_MASK_PMAP_ANIM +0x1c60a202 PLANET25_BIG_MASK_PMAP_ANIM +0x1c60a302 PLANET25_MED_MASK_PMAP_ANIM +0x1c60a402 PLANET25_SML_MASK_PMAP_ANIM +0x1c80a502 PLANET26_BIG_MASK_PMAP_ANIM +0x1c80a602 PLANET26_MED_MASK_PMAP_ANIM +0x1c80a702 PLANET26_SML_MASK_PMAP_ANIM +0x1ca0a802 PLANET27_BIG_MASK_PMAP_ANIM +0x1ca0a902 PLANET27_MED_MASK_PMAP_ANIM +0x1ca0aa02 PLANET27_SML_MASK_PMAP_ANIM +0x1cc0ab02 PLANET28_BIG_MASK_PMAP_ANIM +0x1cc0ac02 PLANET28_MED_MASK_PMAP_ANIM +0x1cc0ad02 PLANET28_SML_MASK_PMAP_ANIM +0x1ce0ae02 PLANET29_BIG_MASK_PMAP_ANIM +0x1ce0af02 PLANET29_MED_MASK_PMAP_ANIM +0x1ce0b002 PLANET29_SML_MASK_PMAP_ANIM +0x1d00b102 PLANET30_BIG_MASK_PMAP_ANIM +0x1d00b202 PLANET30_MED_MASK_PMAP_ANIM +0x1d00b302 PLANET30_SML_MASK_PMAP_ANIM +0x1d20b402 PLANET31_BIG_MASK_PMAP_ANIM +0x1d20b502 PLANET31_MED_MASK_PMAP_ANIM +0x1d20b602 PLANET31_SML_MASK_PMAP_ANIM +0x1d40b702 PLANET32_BIG_MASK_PMAP_ANIM +0x1d40b802 PLANET32_MED_MASK_PMAP_ANIM +0x1d40b902 PLANET32_SML_MASK_PMAP_ANIM +0x1d60ba02 PLANET33_BIG_MASK_PMAP_ANIM +0x1d60bb02 PLANET33_MED_MASK_PMAP_ANIM +0x1d60bc02 PLANET33_SML_MASK_PMAP_ANIM +0x1d80bd02 PLANET34_BIG_MASK_PMAP_ANIM +0x1d80be02 PLANET34_MED_MASK_PMAP_ANIM +0x1d80bf02 PLANET34_SML_MASK_PMAP_ANIM +0x1da0c002 PLANET35_BIG_MASK_PMAP_ANIM +0x1da0c102 PLANET35_MED_MASK_PMAP_ANIM +0x1da0c202 PLANET35_SML_MASK_PMAP_ANIM +0x1dc0c302 PLANET36_BIG_MASK_PMAP_ANIM +0x1dc0c402 PLANET36_MED_MASK_PMAP_ANIM +0x1dc0c502 PLANET36_SML_MASK_PMAP_ANIM +0x1de0c602 PLANET37_BIG_MASK_PMAP_ANIM +0x1de0c702 PLANET37_MED_MASK_PMAP_ANIM +0x1de0c802 PLANET37_SML_MASK_PMAP_ANIM +0x1e00c902 PLANET38_BIG_MASK_PMAP_ANIM +0x1e00ca02 PLANET38_MED_MASK_PMAP_ANIM +0x1e00cb02 PLANET38_SML_MASK_PMAP_ANIM +0x1e20cc02 PLANET39_BIG_MASK_PMAP_ANIM +0x1e20cd02 PLANET39_MED_MASK_PMAP_ANIM +0x1e20ce02 PLANET39_SML_MASK_PMAP_ANIM +0x1e40cf02 PLANET40_BIG_MASK_PMAP_ANIM +0x1e40d002 PLANET40_MED_MASK_PMAP_ANIM +0x1e40d102 PLANET40_SML_MASK_PMAP_ANIM +0x1e60d202 PLANET41_BIG_MASK_PMAP_ANIM +0x1e60d302 PLANET41_MED_MASK_PMAP_ANIM +0x1e60d402 PLANET41_SML_MASK_PMAP_ANIM +0x1e80d502 PLANET42_BIG_MASK_PMAP_ANIM +0x1e80d602 PLANET42_MED_MASK_PMAP_ANIM +0x1e80d702 PLANET42_SML_MASK_PMAP_ANIM +0x1ea0d802 PLANET43_BIG_MASK_PMAP_ANIM +0x1ea0d902 PLANET43_MED_MASK_PMAP_ANIM +0x1ea0da02 PLANET43_SML_MASK_PMAP_ANIM +0x1ec0db02 PLANET44_BIG_MASK_PMAP_ANIM +0x1ec0dc02 PLANET44_MED_MASK_PMAP_ANIM +0x1ec0dd02 PLANET44_SML_MASK_PMAP_ANIM +0x1ee0de02 PLANET45_BIG_MASK_PMAP_ANIM +0x1ee0df02 PLANET45_MED_MASK_PMAP_ANIM +0x1ee0e002 PLANET45_SML_MASK_PMAP_ANIM +0x1f00e102 PLANET46_BIG_MASK_PMAP_ANIM +0x1f00e202 PLANET46_MED_MASK_PMAP_ANIM +0x1f00e302 PLANET46_SML_MASK_PMAP_ANIM +0x1f20e402 PLANET47_BIG_MASK_PMAP_ANIM +0x1f20e502 PLANET47_MED_MASK_PMAP_ANIM +0x1f20e602 PLANET47_SML_MASK_PMAP_ANIM +0x1f40e702 PLANET48_BIG_MASK_PMAP_ANIM +0x1f40e802 PLANET48_MED_MASK_PMAP_ANIM +0x1f40e902 PLANET48_SML_MASK_PMAP_ANIM +0x1f60ea02 PLANET49_BIG_MASK_PMAP_ANIM +0x1f60eb02 PLANET49_MED_MASK_PMAP_ANIM +0x1f60ec02 PLANET49_SML_MASK_PMAP_ANIM +0x1f80ed02 PLANET50_BIG_MASK_PMAP_ANIM +0x1f80ee02 PLANET50_MED_MASK_PMAP_ANIM +0x1f80ef02 PLANET50_SML_MASK_PMAP_ANIM +0x1fa0f002 PLANET51_BIG_MASK_PMAP_ANIM +0x1fa0f102 PLANET51_MED_MASK_PMAP_ANIM +0x1fa0f202 PLANET51_SML_MASK_PMAP_ANIM +0x1fc0f302 PLANET52_BIG_MASK_PMAP_ANIM +0x1fc0f402 PLANET52_MED_MASK_PMAP_ANIM +0x1fc0f502 PLANET52_SML_MASK_PMAP_ANIM +0x1fe0f602 PLANET53_BIG_MASK_PMAP_ANIM +0x1fe0f702 PLANET53_MED_MASK_PMAP_ANIM +0x1fe0f802 PLANET53_SML_MASK_PMAP_ANIM +0x2000f902 PLANET54_BIG_MASK_PMAP_ANIM +0x2000fa02 PLANET54_MED_MASK_PMAP_ANIM +0x2000fb02 PLANET54_SML_MASK_PMAP_ANIM +0x2020fc02 PLANET55_BIG_MASK_PMAP_ANIM +0x2020fd02 PLANET55_MED_MASK_PMAP_ANIM +0x2020fe02 PLANET55_SML_MASK_PMAP_ANIM +0x2040ff02 PLANET56_BIG_MASK_PMAP_ANIM +0x20410002 PLANET56_MED_MASK_PMAP_ANIM +0x20410102 PLANET56_SML_MASK_PMAP_ANIM +0x20610202 PLANET57_BIG_MASK_PMAP_ANIM +0x20610302 PLANET57_MED_MASK_PMAP_ANIM +0x20610402 PLANET57_SML_MASK_PMAP_ANIM +0x20810502 PLANET58_BIG_MASK_PMAP_ANIM +0x20810602 PLANET58_MED_MASK_PMAP_ANIM +0x20810702 PLANET58_SML_MASK_PMAP_ANIM +0x20a00c06 BATTLE_MUSIC +0x20c10802 CREDIT00_ANIM +0x20e10902 CREDIT01_ANIM +0x21010a02 CREDIT02_ANIM +0x21210b02 CREDIT03_ANIM +0x21410c02 CREDIT04_ANIM +0x21610d02 CREDIT05_ANIM +0x21810e02 CREDIT06_ANIM +0x21a10f02 CREDIT07_ANIM +0x21c11002 CREDIT08_ANIM +0x21e11102 CREDIT09_ANIM +0x22011202 CREDIT10_ANIM +0x22211302 CREDIT11_ANIM +0x22411402 CREDIT12_ANIM +0x22611502 CREDIT13_ANIM +0x22811602 CREDIT14_ANIM +0x22a11702 CREDIT15_ANIM +0x22c11802 CREDIT16_ANIM +0x22e11902 CREDIT17_ANIM +0x23011a02 CREDIT18_ANIM +0x23211b02 CREDIT19_ANIM +0x23400d06 CREDITS_MUSIC diff --git a/tools/pkg/res/supox.con.3do.res b/tools/pkg/res/supox.con.3do.res new file mode 100644 index 000000000..d71acfeae --- /dev/null +++ b/tools/pkg/res/supox.con.3do.res @@ -0,0 +1,3 @@ +0x00200001 SUPOX_PMAP_ANIM +0x00200002 SUPOX_PLAYER_PHRASES +0x00200003 SUPOX_MUSIC diff --git a/tools/pkg/res/supox.con.pc.res b/tools/pkg/res/supox.con.pc.res new file mode 100644 index 000000000..73c8ee085 --- /dev/null +++ b/tools/pkg/res/supox.con.pc.res @@ -0,0 +1,4 @@ +0x00200002 SUPOX_PMAP_ANIM +0x00200003 SUPOX_FONT +0x00200004 SUPOX_CONVERSATION_PHRASES +0x00200006 SUPOX_MUSIC diff --git a/tools/pkg/res/supox.shp.3do.res b/tools/pkg/res/supox.shp.3do.res new file mode 100644 index 000000000..47097657c --- /dev/null +++ b/tools/pkg/res/supox.shp.3do.res @@ -0,0 +1,13 @@ +0x00200001 SUPOX_ICON_MASK_PMAP_ANIM +0x00200002 SUPOX_RACE_STRINGS +0x00200005 SUPOX_CODE +0x00200101 SUPOX_MICON_MASK_PMAP_ANIM +0x00400003 SUPOX_VICTORY_SONG +0x00400102 SUPOX_SHIP_SOUNDS +0x00400201 SUPOX_BIG_MASK_PMAP_ANIM +0x00400301 SUPOX_MED_MASK_PMAP_ANIM +0x00400401 SUPOX_SML_MASK_PMAP_ANIM +0x00400501 GOB_BIG_MASK_PMAP_ANIM +0x00400601 GOB_MED_MASK_PMAP_ANIM +0x00400701 GOB_SML_MASK_PMAP_ANIM +0x00400801 SUPOX_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/supox.shp.pc.res b/tools/pkg/res/supox.shp.pc.res new file mode 100644 index 000000000..13d09ea7d --- /dev/null +++ b/tools/pkg/res/supox.shp.pc.res @@ -0,0 +1,13 @@ +0x00200002 SUPOX_ICON_MASK_PMAP_ANIM +0x00200004 SUPOX_RACE_STRINGS +0x00200008 SUPOX_CODE +0x00200102 SUPOX_MICON_MASK_PMAP_ANIM +0x00400005 SUPOX_SHIP_SOUNDS +0x00400006 SUPOX_VICTORY_SONG +0x00400202 SUPOX_BIG_MASK_PMAP_ANIM +0x00400302 SUPOX_MED_MASK_PMAP_ANIM +0x00400402 SUPOX_SML_MASK_PMAP_ANIM +0x00400502 GOB_BIG_MASK_PMAP_ANIM +0x00400602 GOB_MED_MASK_PMAP_ANIM +0x00400702 GOB_SML_MASK_PMAP_ANIM +0x00400802 SUPOX_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/syreen.con.3do.res b/tools/pkg/res/syreen.con.3do.res new file mode 100644 index 000000000..e726761ce --- /dev/null +++ b/tools/pkg/res/syreen.con.3do.res @@ -0,0 +1,4 @@ +0x00200001 SYREEN_PMAP_ANIM +0x00200002 SYREEN_PLAYER_PHRASES +0x00200003 SYREEN_MUSIC +0x00200102 SYREEN_COLOR_MAP diff --git a/tools/pkg/res/syreen.con.pc.res b/tools/pkg/res/syreen.con.pc.res new file mode 100644 index 000000000..25777f7a2 --- /dev/null +++ b/tools/pkg/res/syreen.con.pc.res @@ -0,0 +1,5 @@ +0x00200002 SYREEN_PMAP_ANIM +0x00200003 SYREEN_FONT +0x00200004 SYREEN_CONVERSATION_PHRASES +0x00200006 SYREEN_MUSIC +0x00200104 SYREEN_COLOR_MAP diff --git a/tools/pkg/res/syreen.shp.3do.res b/tools/pkg/res/syreen.shp.3do.res new file mode 100644 index 000000000..aab14ac31 --- /dev/null +++ b/tools/pkg/res/syreen.shp.3do.res @@ -0,0 +1,13 @@ +0x00200001 SYREEN_ICON_MASK_PMAP_ANIM +0x00200002 SYREEN_RACE_STRINGS +0x00200005 SYREEN_CODE +0x00200101 SYREEN_MICON_MASK_PMAP_ANIM +0x00400003 SYREEN_VICTORY_SONG +0x00400102 SYREEN_SHIP_SOUNDS +0x00400201 SYREEN_BIG_MASK_PMAP_ANIM +0x00400301 SYREEN_MED_MASK_PMAP_ANIM +0x00400401 SYREEN_SML_MASK_PMAP_ANIM +0x00400501 DAGGER_BIG_MASK_PMAP_ANIM +0x00400601 DAGGER_MED_MASK_PMAP_ANIM +0x00400701 DAGGER_SML_MASK_PMAP_ANIM +0x00400801 SYREEN_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/syreen.shp.pc.res b/tools/pkg/res/syreen.shp.pc.res new file mode 100644 index 000000000..4282c8b8d --- /dev/null +++ b/tools/pkg/res/syreen.shp.pc.res @@ -0,0 +1,13 @@ +0x00200002 SYREEN_ICON_MASK_PMAP_ANIM +0x00200004 SYREEN_RACE_STRINGS +0x00200008 SYREEN_CODE +0x00200102 SYREEN_MICON_MASK_PMAP_ANIM +0x00400005 SYREEN_SHIP_SOUNDS +0x00400006 SYREEN_VICTORY_SONG +0x00400202 SYREEN_BIG_MASK_PMAP_ANIM +0x00400302 SYREEN_MED_MASK_PMAP_ANIM +0x00400402 SYREEN_SML_MASK_PMAP_ANIM +0x00400502 DAGGER_BIG_MASK_PMAP_ANIM +0x00400602 DAGGER_MED_MASK_PMAP_ANIM +0x00400702 DAGGER_SML_MASK_PMAP_ANIM +0x00400802 SYREEN_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/talkpet.con.3do.res b/tools/pkg/res/talkpet.con.3do.res new file mode 100644 index 000000000..0bbe7694c --- /dev/null +++ b/tools/pkg/res/talkpet.con.3do.res @@ -0,0 +1,4 @@ +0x00200001 TALKING_PET_PMAP_ANIM +0x00200002 TALKING_PET_PLAYER_PHRASES +0x00200003 TALKING_PET_MUSIC +0x00200102 TALKING_PET_COLOR_MAP diff --git a/tools/pkg/res/talkpet.con.pc.res b/tools/pkg/res/talkpet.con.pc.res new file mode 100644 index 000000000..ad897406b --- /dev/null +++ b/tools/pkg/res/talkpet.con.pc.res @@ -0,0 +1,5 @@ +0x00200002 TALKING_PET_PMAP_ANIM +0x00200003 TALKING_PET_FONT +0x00200004 TALKING_PET_CONVERSATION_PHRASES +0x00200006 TALKING_PET_MUSIC +0x00200104 TALKING_PET_COLOR_MAP diff --git a/tools/pkg/res/thradd.con.3do.res b/tools/pkg/res/thradd.con.3do.res new file mode 100644 index 000000000..573e0d3e6 --- /dev/null +++ b/tools/pkg/res/thradd.con.3do.res @@ -0,0 +1,3 @@ +0x00200001 THRADD_PMAP_ANIM +0x00200002 THRADD_PLAYER_PHRASES +0x00200003 THRADD_MUSIC diff --git a/tools/pkg/res/thradd.con.pc.res b/tools/pkg/res/thradd.con.pc.res new file mode 100644 index 000000000..97ab881e3 --- /dev/null +++ b/tools/pkg/res/thradd.con.pc.res @@ -0,0 +1,4 @@ +0x00200002 THRADD_PMAP_ANIM +0x00200003 THRADD_FONT +0x00200004 THRADD_CONVERSATION_PHRASES +0x00200006 THRADD_MUSIC diff --git a/tools/pkg/res/thradd.shp.3do.res b/tools/pkg/res/thradd.shp.3do.res new file mode 100644 index 000000000..8412f5e0c --- /dev/null +++ b/tools/pkg/res/thradd.shp.3do.res @@ -0,0 +1,16 @@ +0x00200001 THRADDASH_ICON_MASK_PMAP_ANIM +0x00200002 THRADDASH_RACE_STRINGS +0x00200005 THRADDASH_CODE +0x00200101 THRADDASH_MICON_MASK_PMAP_ANIM +0x00400003 THRADDASH_VICTORY_SONG +0x00400102 THRADDASH_SHIP_SOUNDS +0x00400201 THRADDASH_BIG_MASK_PMAP_ANIM +0x00400301 THRADDASH_MED_MASK_PMAP_ANIM +0x00400401 THRADDASH_SML_MASK_PMAP_ANIM +0x00400501 HORN_BIG_MASK_PMAP_ANIM +0x00400601 HORN_MED_MASK_PMAP_ANIM +0x00400701 HORN_SML_MASK_PMAP_ANIM +0x00400801 NAPALM_BIG_MASK_PMAP_ANIM +0x00400901 NAPALM_MED_MASK_PMAP_ANIM +0x00400a01 NAPALM_SML_MASK_PMAP_ANIM +0x00400b01 THRADDASH_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/thradd.shp.pc.res b/tools/pkg/res/thradd.shp.pc.res new file mode 100644 index 000000000..f4133416a --- /dev/null +++ b/tools/pkg/res/thradd.shp.pc.res @@ -0,0 +1,16 @@ +0x00200002 THRADDASH_ICON_MASK_PMAP_ANIM +0x00200004 THRADDASH_RACE_STRINGS +0x00200008 THRADDASH_CODE +0x00200102 THRADDASH_MICON_MASK_PMAP_ANIM +0x00400005 THRADDASH_SHIP_SOUNDS +0x00400006 THRADDASH_VICTORY_SONG +0x00400202 THRADDASH_BIG_MASK_PMAP_ANIM +0x00400302 THRADDASH_MED_MASK_PMAP_ANIM +0x00400402 THRADDASH_SML_MASK_PMAP_ANIM +0x00400502 HORN_BIG_MASK_PMAP_ANIM +0x00400602 HORN_MED_MASK_PMAP_ANIM +0x00400702 HORN_SML_MASK_PMAP_ANIM +0x00400802 NAPALM_BIG_MASK_PMAP_ANIM +0x00400902 NAPALM_MED_MASK_PMAP_ANIM +0x00400a02 NAPALM_SML_MASK_PMAP_ANIM +0x00400b02 THRADDASH_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/umgah.con.3do.res b/tools/pkg/res/umgah.con.3do.res new file mode 100644 index 000000000..5647b9865 --- /dev/null +++ b/tools/pkg/res/umgah.con.3do.res @@ -0,0 +1,3 @@ +0x00200001 UMGAH_PMAP_ANIM +0x00200002 UMGAH_PLAYER_PHRASES +0x00200003 UMGAH_MUSIC diff --git a/tools/pkg/res/umgah.con.pc.res b/tools/pkg/res/umgah.con.pc.res new file mode 100644 index 000000000..6cad567cf --- /dev/null +++ b/tools/pkg/res/umgah.con.pc.res @@ -0,0 +1,4 @@ +0x00200002 UMGAH_PMAP_ANIM +0x00200003 UMGAH_FONT +0x00200004 UMGAH_CONVERSATION_PHRASES +0x00200006 UMGAH_MUSIC diff --git a/tools/pkg/res/umgah.shp.3do.res b/tools/pkg/res/umgah.shp.3do.res new file mode 100644 index 000000000..8a8c498f8 --- /dev/null +++ b/tools/pkg/res/umgah.shp.3do.res @@ -0,0 +1,14 @@ +0x00200001 UMGAH_ICON_MASK_PMAP_ANIM +0x00200002 UMGAH_RACE_STRINGS +0x00200005 UMGAH_CODE +0x00200101 UMGAH_MICON_MASK_PMAP_ANIM +0x00400003 UMGAH_VICTORY_SONG +0x00400102 UMGAH_SHIP_SOUNDS +0x00400201 UMGAH_BIG_MASK_PMAP_ANIM +0x00400301 UMGAH_MED_MASK_PMAP_ANIM +0x00400401 UMGAH_SML_MASK_PMAP_ANIM +0x00400501 SPRITZ_MASK_PMAP_ANIM +0x00400601 CONE_BIG_MASK_ANIM +0x00400701 CONE_MED_MASK_ANIM +0x00400801 CONE_SML_MASK_ANIM +0x00400901 UMGAH_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/umgah.shp.pc.res b/tools/pkg/res/umgah.shp.pc.res new file mode 100644 index 000000000..245e0dacb --- /dev/null +++ b/tools/pkg/res/umgah.shp.pc.res @@ -0,0 +1,14 @@ +0x00200002 UMGAH_ICON_MASK_PMAP_ANIM +0x00200004 UMGAH_RACE_STRINGS +0x00200008 UMGAH_CODE +0x00200102 UMGAH_MICON_MASK_PMAP_ANIM +0x00400005 UMGAH_SHIP_SOUNDS +0x00400006 UMGAH_VICTORY_SONG +0x00400202 UMGAH_BIG_MASK_PMAP_ANIM +0x00400302 UMGAH_MED_MASK_PMAP_ANIM +0x00400402 UMGAH_SML_MASK_PMAP_ANIM +0x00400502 SPRITZ_MASK_PMAP_ANIM +0x00400602 CONE_BIG_MASK_ANIM +0x00400702 CONE_MED_MASK_ANIM +0x00400802 CONE_SML_MASK_ANIM +0x00400902 UMGAH_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/urquan.con.3do.res b/tools/pkg/res/urquan.con.3do.res new file mode 100644 index 000000000..7fa96a70f --- /dev/null +++ b/tools/pkg/res/urquan.con.3do.res @@ -0,0 +1,3 @@ +0x00200001 URQUAN_PMAP_ANIM +0x00200002 URQUAN_PLAYER_PHRASES +0x00200003 URQUAN_MUSIC diff --git a/tools/pkg/res/urquan.con.pc.res b/tools/pkg/res/urquan.con.pc.res new file mode 100644 index 000000000..4d1c81fa9 --- /dev/null +++ b/tools/pkg/res/urquan.con.pc.res @@ -0,0 +1,4 @@ +0x00200002 URQUAN_PMAP_ANIM +0x00200003 URQUAN_FONT +0x00200004 URQUAN_CONVERSATION_PHRASES +0x00200006 URQUAN_MUSIC diff --git a/tools/pkg/res/urquan.shp.3do.res b/tools/pkg/res/urquan.shp.3do.res new file mode 100644 index 000000000..bc7ec8dd0 --- /dev/null +++ b/tools/pkg/res/urquan.shp.3do.res @@ -0,0 +1,16 @@ +0x00200001 URQUAN_ICON_MASK_PMAP_ANIM +0x00200002 URQUAN_RACE_STRINGS +0x00200005 URQUAN_CODE +0x00200101 URQUAN_MICON_MASK_PMAP_ANIM +0x00400003 URQUAN_VICTORY_SONG +0x00400102 URQUAN_SHIP_SOUNDS +0x00400201 URQUAN_BIG_MASK_PMAP_ANIM +0x00400301 URQUAN_MED_MASK_PMAP_ANIM +0x00400401 URQUAN_SML_MASK_PMAP_ANIM +0x00400501 FUSION_BIG_MASK_PMAP_ANIM +0x00400601 FUSION_MED_MASK_PMAP_ANIM +0x00400701 FUSION_SML_MASK_PMAP_ANIM +0x00400801 FIGHTER_BIG_MASK_PMAP_ANIM +0x00400901 FIGHTER_MED_MASK_PMAP_ANIM +0x00400a01 FIGHTER_SML_MASK_PMAP_ANIM +0x00400b01 URQUAN_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/urquan.shp.pc.res b/tools/pkg/res/urquan.shp.pc.res new file mode 100644 index 000000000..8acac8ce4 --- /dev/null +++ b/tools/pkg/res/urquan.shp.pc.res @@ -0,0 +1,16 @@ +0x00200002 URQUAN_ICON_MASK_PMAP_ANIM +0x00200004 URQUAN_RACE_STRINGS +0x00200008 URQUAN_CODE +0x00200102 URQUAN_MICON_MASK_PMAP_ANIM +0x00400005 URQUAN_SHIP_SOUNDS +0x00400006 URQUAN_VICTORY_SONG +0x00400202 URQUAN_BIG_MASK_PMAP_ANIM +0x00400302 URQUAN_MED_MASK_PMAP_ANIM +0x00400402 URQUAN_SML_MASK_PMAP_ANIM +0x00400502 FUSION_BIG_MASK_PMAP_ANIM +0x00400602 FUSION_MED_MASK_PMAP_ANIM +0x00400702 FUSION_SML_MASK_PMAP_ANIM +0x00400802 FIGHTER_BIG_MASK_PMAP_ANIM +0x00400902 FIGHTER_MED_MASK_PMAP_ANIM +0x00400a02 FIGHTER_SML_MASK_PMAP_ANIM +0x00400b02 URQUAN_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/utwig.con.3do.res b/tools/pkg/res/utwig.con.3do.res new file mode 100644 index 000000000..b2379b50f --- /dev/null +++ b/tools/pkg/res/utwig.con.3do.res @@ -0,0 +1,3 @@ +0x00200001 UTWIG_PMAP_ANIM +0x00200002 UTWIG_PLAYER_PHRASES +0x00200003 UTWIG_MUSIC diff --git a/tools/pkg/res/utwig.con.pc.res b/tools/pkg/res/utwig.con.pc.res new file mode 100644 index 000000000..fc01101f2 --- /dev/null +++ b/tools/pkg/res/utwig.con.pc.res @@ -0,0 +1,4 @@ +0x00200002 UTWIG_PMAP_ANIM +0x00200003 UTWIG_FONT +0x00200004 UTWIG_CONVERSATION_PHRASES +0x00200006 UTWIG_MUSIC diff --git a/tools/pkg/res/utwig.shp.3do.res b/tools/pkg/res/utwig.shp.3do.res new file mode 100644 index 000000000..3a57a7b74 --- /dev/null +++ b/tools/pkg/res/utwig.shp.3do.res @@ -0,0 +1,13 @@ +0x00200001 UTWIG_ICON_MASK_PMAP_ANIM +0x00200002 UTWIG_RACE_STRINGS +0x00200005 UTWIG_CODE +0x00200101 UTWIG_MICON_MASK_PMAP_ANIM +0x00400003 UTWIG_VICTORY_SONG +0x00400102 UTWIG_SHIP_SOUNDS +0x00400201 UTWIG_BIG_MASK_PMAP_ANIM +0x00400301 UTWIG_MED_MASK_PMAP_ANIM +0x00400401 UTWIG_SML_MASK_PMAP_ANIM +0x00400501 LANCE_BIG_MASK_PMAP_ANIM +0x00400601 LANCE_MED_MASK_PMAP_ANIM +0x00400701 LANCE_SML_MASK_PMAP_ANIM +0x00400801 UTWIG_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/utwig.shp.pc.res b/tools/pkg/res/utwig.shp.pc.res new file mode 100644 index 000000000..6d716192a --- /dev/null +++ b/tools/pkg/res/utwig.shp.pc.res @@ -0,0 +1,13 @@ +0x00200002 UTWIG_ICON_MASK_PMAP_ANIM +0x00200004 UTWIG_RACE_STRINGS +0x00200008 UTWIG_CODE +0x00200102 UTWIG_MICON_MASK_PMAP_ANIM +0x00400005 UTWIG_SHIP_SOUNDS +0x00400006 UTWIG_VICTORY_SONG +0x00400202 UTWIG_BIG_MASK_PMAP_ANIM +0x00400302 UTWIG_MED_MASK_PMAP_ANIM +0x00400402 UTWIG_SML_MASK_PMAP_ANIM +0x00400502 LANCE_BIG_MASK_PMAP_ANIM +0x00400602 LANCE_MED_MASK_PMAP_ANIM +0x00400702 LANCE_SML_MASK_PMAP_ANIM +0x00400802 UTWIG_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/vux.con.3do.res b/tools/pkg/res/vux.con.3do.res new file mode 100644 index 000000000..341f56a19 --- /dev/null +++ b/tools/pkg/res/vux.con.3do.res @@ -0,0 +1,4 @@ +0x00200001 VUX_PMAP_ANIM +0x00200002 VUX_PLAYER_PHRASES +0x00200003 VUX_MUSIC +0x00200102 VUX_COLOR_MAP diff --git a/tools/pkg/res/vux.con.pc.res b/tools/pkg/res/vux.con.pc.res new file mode 100644 index 000000000..0dfad1f42 --- /dev/null +++ b/tools/pkg/res/vux.con.pc.res @@ -0,0 +1,5 @@ +0x00200002 VUX_PMAP_ANIM +0x00200003 VUX_FONT +0x00200004 VUX_CONVERSATION_PHRASES +0x00200006 VUX_MUSIC +0x00200104 VUX_COLOR_MAP diff --git a/tools/pkg/res/vux.shp.3do.res b/tools/pkg/res/vux.shp.3do.res new file mode 100644 index 000000000..52b826eba --- /dev/null +++ b/tools/pkg/res/vux.shp.3do.res @@ -0,0 +1,14 @@ +0x00200001 VUX_ICON_MASK_PMAP_ANIM +0x00200002 VUX_RACE_STRINGS +0x00200005 VUX_CODE +0x00200101 VUX_MICON_MASK_PMAP_ANIM +0x00400003 VUX_VICTORY_SONG +0x00400102 VUX_SHIP_SOUNDS +0x00400201 VUX_BIG_MASK_PMAP_ANIM +0x00400301 VUX_MED_MASK_PMAP_ANIM +0x00400401 VUX_SML_MASK_PMAP_ANIM +0x00400501 LIMPETS_BIG_MASK_PMAP_ANIM +0x00400601 LIMPETS_MED_MASK_PMAP_ANIM +0x00400701 LIMPETS_SML_MASK_PMAP_ANIM +0x00400801 SLIME_MASK_PMAP_ANIM +0x00400901 VUX_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/vux.shp.pc.res b/tools/pkg/res/vux.shp.pc.res new file mode 100644 index 000000000..6425a2685 --- /dev/null +++ b/tools/pkg/res/vux.shp.pc.res @@ -0,0 +1,14 @@ +0x00200002 VUX_ICON_MASK_PMAP_ANIM +0x00200004 VUX_RACE_STRINGS +0x00200008 VUX_CODE +0x00200102 VUX_MICON_MASK_PMAP_ANIM +0x00400005 VUX_SHIP_SOUNDS +0x00400006 VUX_VICTORY_SONG +0x00400202 VUX_BIG_MASK_PMAP_ANIM +0x00400302 VUX_MED_MASK_PMAP_ANIM +0x00400402 VUX_SML_MASK_PMAP_ANIM +0x00400502 LIMPETS_BIG_MASK_PMAP_ANIM +0x00400602 LIMPETS_MED_MASK_PMAP_ANIM +0x00400702 LIMPETS_SML_MASK_PMAP_ANIM +0x00400802 SLIME_MASK_PMAP_ANIM +0x00400902 VUX_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/yehat.con.3do.res b/tools/pkg/res/yehat.con.3do.res new file mode 100644 index 000000000..826896950 --- /dev/null +++ b/tools/pkg/res/yehat.con.3do.res @@ -0,0 +1,4 @@ +0x00200001 YEHAT_PMAP_ANIM +0x00200003 YEHAT_MUSIC +0x00400002 YEHAT_PLAYER_PHRASES +0x00600102 REBEL_PLAYER_PHRASES diff --git a/tools/pkg/res/yehat.con.pc.res b/tools/pkg/res/yehat.con.pc.res new file mode 100644 index 000000000..e5c1c25ad --- /dev/null +++ b/tools/pkg/res/yehat.con.pc.res @@ -0,0 +1,5 @@ +0x00200002 YEHAT_PMAP_ANIM +0x00200003 YEHAT_FONT +0x00200006 YEHAT_MUSIC +0x00400004 YEHAT_CONVERSATION_PHRASES +0x00600104 REBEL_CONVERSATION_PHRASES diff --git a/tools/pkg/res/yehat.shp.3do.res b/tools/pkg/res/yehat.shp.3do.res new file mode 100644 index 000000000..153a38595 --- /dev/null +++ b/tools/pkg/res/yehat.shp.3do.res @@ -0,0 +1,16 @@ +0x00200001 YEHAT_ICON_MASK_PMAP_ANIM +0x00200002 YEHAT_RACE_STRINGS +0x00200005 YEHAT_CODE +0x00200101 YEHAT_MICON_MASK_PMAP_ANIM +0x00400003 YEHAT_VICTORY_SONG +0x00400102 YEHAT_SHIP_SOUNDS +0x00400201 YEHAT_BIG_MASK_PMAP_ANIM +0x00400301 YEHAT_MED_MASK_PMAP_ANIM +0x00400401 YEHAT_SML_MASK_PMAP_ANIM +0x00400501 CANNON_BIG_MASK_PMAP_ANIM +0x00400601 CANNON_MED_MASK_PMAP_ANIM +0x00400701 CANNON_SML_MASK_PMAP_ANIM +0x00400801 SHIELD_BIG_MASK_ANIM +0x00400901 SHIELD_MED_MASK_ANIM +0x00400a01 SHIELD_SML_MASK_ANIM +0x00400b01 YEHAT_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/yehat.shp.pc.res b/tools/pkg/res/yehat.shp.pc.res new file mode 100644 index 000000000..de36c001a --- /dev/null +++ b/tools/pkg/res/yehat.shp.pc.res @@ -0,0 +1,16 @@ +0x00200002 YEHAT_ICON_MASK_PMAP_ANIM +0x00200004 YEHAT_RACE_STRINGS +0x00200008 YEHAT_CODE +0x00200102 YEHAT_MICON_MASK_PMAP_ANIM +0x00400005 YEHAT_SHIP_SOUNDS +0x00400006 YEHAT_VICTORY_SONG +0x00400202 YEHAT_BIG_MASK_PMAP_ANIM +0x00400302 YEHAT_MED_MASK_PMAP_ANIM +0x00400402 YEHAT_SML_MASK_PMAP_ANIM +0x00400502 CANNON_BIG_MASK_PMAP_ANIM +0x00400602 CANNON_MED_MASK_PMAP_ANIM +0x00400702 CANNON_SML_MASK_PMAP_ANIM +0x00400802 SHIELD_BIG_MASK_ANIM +0x00400902 SHIELD_MED_MASK_ANIM +0x00400a02 SHIELD_SML_MASK_ANIM +0x00400b02 YEHAT_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/zoqfot.con.3do.res b/tools/pkg/res/zoqfot.con.3do.res new file mode 100644 index 000000000..f8382caef --- /dev/null +++ b/tools/pkg/res/zoqfot.con.3do.res @@ -0,0 +1,3 @@ +0x00200001 ZOQFOTPIK_PMAP_ANIM +0x00200002 ZOQFOTPIK_PLAYER_PHRASES +0x00200003 ZOQFOTPIK_MUSIC diff --git a/tools/pkg/res/zoqfot.con.pc.res b/tools/pkg/res/zoqfot.con.pc.res new file mode 100644 index 000000000..ef5046cfb --- /dev/null +++ b/tools/pkg/res/zoqfot.con.pc.res @@ -0,0 +1,4 @@ +0x00200002 ZOQFOTPIK_PMAP_ANIM +0x00200003 ZOQFOTPIK_FONT +0x00200004 ZOQFOTPIK_CONVERSATION_PHRASES +0x00200006 ZOQFOTPIK_MUSIC diff --git a/tools/pkg/res/zoqfot.shp.3do.res b/tools/pkg/res/zoqfot.shp.3do.res new file mode 100644 index 000000000..58d7e0495 --- /dev/null +++ b/tools/pkg/res/zoqfot.shp.3do.res @@ -0,0 +1,16 @@ +0x00200001 ZOQFOTPIK_ICON_MASK_PMAP_ANIM +0x00200002 ZOQFOTPIK_RACE_STRINGS +0x00200005 ZOQFOTPIK_CODE +0x00200101 ZOQFOTPIK_MICON_MASK_PMAP_ANIM +0x00400003 ZOQFOTPIK_VICTORY_SONG +0x00400102 ZOQFOTPIK_SHIP_SOUNDS +0x00400201 ZOQFOTPIK_BIG_MASK_PMAP_ANIM +0x00400301 ZOQFOTPIK_MED_MASK_PMAP_ANIM +0x00400401 ZOQFOTPIK_SML_MASK_PMAP_ANIM +0x00400501 SPIT_BIG_MASK_PMAP_ANIM +0x00400601 SPIT_MED_MASK_PMAP_ANIM +0x00400701 SPIT_SML_MASK_PMAP_ANIM +0x00400801 STINGER_BIG_MASK_PMAP_ANIM +0x00400901 STINGER_MED_MASK_PMAP_ANIM +0x00400a01 STINGER_SML_MASK_PMAP_ANIM +0x00400b01 ZOQFOTPIK_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/res/zoqfot.shp.pc.res b/tools/pkg/res/zoqfot.shp.pc.res new file mode 100644 index 000000000..90c862c9e --- /dev/null +++ b/tools/pkg/res/zoqfot.shp.pc.res @@ -0,0 +1,16 @@ +0x00200002 ZOQFOTPIK_ICON_MASK_PMAP_ANIM +0x00200004 ZOQFOTPIK_RACE_STRINGS +0x00200008 ZOQFOTPIK_CODE +0x00200102 ZOQFOTPIK_MICON_MASK_PMAP_ANIM +0x00400005 ZOQFOTPIK_SHIP_SOUNDS +0x00400006 ZOQFOTPIK_VICTORY_SONG +0x00400202 ZOQFOTPIK_BIG_MASK_PMAP_ANIM +0x00400302 ZOQFOTPIK_MED_MASK_PMAP_ANIM +0x00400402 ZOQFOTPIK_SML_MASK_PMAP_ANIM +0x00400502 SPIT_BIG_MASK_PMAP_ANIM +0x00400602 SPIT_MED_MASK_PMAP_ANIM +0x00400702 SPIT_SML_MASK_PMAP_ANIM +0x00400802 STINGER_BIG_MASK_PMAP_ANIM +0x00400902 STINGER_MED_MASK_PMAP_ANIM +0x00400a02 STINGER_SML_MASK_PMAP_ANIM +0x00400b02 ZOQFOTPIK_CAPTAIN_MASK_PMAP_ANIM diff --git a/tools/pkg/unpackall.sh b/tools/pkg/unpackall.sh new file mode 100755 index 000000000..bba2947cd --- /dev/null +++ b/tools/pkg/unpackall.sh @@ -0,0 +1,117 @@ +#!/usr/bin/bash +# Extracts 3do starcon.pkg file, using information from the new tree +# as how to name the files. +# By Serge van den Boom, 2002-10-23 +# The GPL applies. + +if [ $# -ne 4 ]; then + echo "Usage: unpackall.sh <3docdpath> " + echo -n "3docontentpath is the path to the starcon2/ dir from the " + echo "original SC2 CD-ROM." + echo -n "uqmocntentpath is the path to the content/ dir from the UQM cvs " + echo "tree." + echo "respath is the path to the .res files generated by collectres.sh" + echo "destpath is the path to place the extracted files" + exit 1; +fi + +CDPATH="${1%/}"/ +UQMPATH="${2%/}"/ +RESPATH="${3%/}"/ +DESTDIR="${4%/}"/ +TEMPDIR=/tmp/unpacksc2.$$/ + +UNPKG=./unpkg +PARSERES=./parseres + +if [ ! -e "$CDPATH"starcon.pkg ]; then + echo "\"${CDPATH}\" is not a valid 3DO SC2 content dir" + echo "It should be the dir starcon2/ from the original CD-ROM." + exit 1 +fi + +if [ ! -e "${UQMPATH}starcon.ndx" ]; then + echo "\"${UQMPATH}\" is not a valid 3DO SC2 content dir" + exit 1 +fi + +if [ ! -e "${RESPATH}starcon.pkg.pc.res" -o \ + ! -e "${RESPATH}starcon.pkg.3do.res" ]; then + echo "\"${RESPATH}\" does not contain the needed .res files" + exit 1 +fi + +if [ ! -d "$DESTDIR" -o ! -w "$DESTDIR" ]; then + echo "\"${DESTDIR}\" is not a good destination" + exit 1 +fi + +mkdir "$TEMPDIR" +if [ $? -ne 0 ]; then + echo "Could not create temp dir '$TEMPDIR'" + exit 1 +fi + +export CDPATH UQMPATH RESPATH DESTDIR TEMPDIR +unpackone() { + PACKAGECD="$1" + PACKAGEUQM="$2" + SRCPATH="$3" + + echo "$@" + echo -n "Package $PACKAGECD: " + $UNPKG -l "${UQMPATH}$PACKAGEUQM" > "${TEMPDIR}${PACKAGECD}.fil" + + echo "unpacking... " + $UNPKG -o "${DESTDIR}" "${SRCPATH}$PACKAGECD" + + echo "renaming files... " + local RES FILE + while read RES FILE; do + RES="${RES#0x}" + echo "- ${DESTDIR}${RES} ==> ${DESTDIR}$FILE" + mv -- "${DESTDIR}${RES}" "${DESTDIR}$FILE" + done < "${RESPATH}${PACKAGECD}.3do.res" + + while read RES FILE; do + RES="${RES#0x}" + echo "- ${DESTDIR}$FILE ==> ${DESTDIR}$RES" + mv -- "${DESTDIR}$FILE" "${DESTDIR}$RES" + done < "${RESPATH}${PACKAGECD}.pc.res" + + while read RES FILE; do + RES="${RES#0x}" + DIR="${FILE%/*}" + if [ "$DIR" != "$FILE" -a ! -d "${DESTDIR}${DIR}" ]; then + mkdir -p -- "${DESTDIR}${DIR}" + fi + echo "- ${DESTDIR}${RES} ==> ${DESTDIR}${FILE}" + mv -- "${DESTDIR}${RES}" "${DESTDIR}${FILE}" + done < "${TEMPDIR}${PACKAGECD}.fil" + + rm -- "${TEMPDIR}${PACKAGECD}.fil" + echo +} + +unpackone starcon.pkg starcon.ndx "$CDPATH" + +for PACKAGE in androsyn.shp arilou.shp blackurq.shp chenjesu.shp chmmr.shp \ + druuge.shp human.shp ilwrath.shp melnorme.shp mmrnmhrm.shp \ + mycon.shp orz.shp pkunk.shp shofixti.shp slylandr.shp spathi.shp \ + supox.shp syreen.shp thradd.shp umgah.shp urquan.shp utwig.shp \ + vux.shp yehat.shp zoqfot.shp \ + probe.sc2 lastbat.sc2 sis.dat \ + arilou.con blackur.con chmmr.con comandr.con druuge.con \ + ilwrath.con melnorm.con mycon.con orz.con pkunk.con shofixt.con \ + slyhome.con slyland.con spathi.con supox.con syreen.con \ + talkpet.con thradd.con umgah.con urquan.con utwig.con vux.con \ + yehat.con zoqfot.con; do + unpackone "$PACKAGE" "$PACKAGE" "$DESTDIR" + + # Remove the packed files which came from starcon.pkg once + # we unpacked them + rm -- "${DESTDIR}${PACKAGE}" +done + +rmdir "$TEMPDIR" + diff --git a/tools/pkg/unpkg.c b/tools/pkg/unpkg.c index 652a2aba0..5d117574e 100644 --- a/tools/pkg/unpkg.c +++ b/tools/pkg/unpkg.c @@ -1,7 +1,7 @@ /* * .pkg file extractor * By Serge van den Boom (svdb@stack.nl), 20021012 - * GPL applies + * The GPL applies. * * */ @@ -20,30 +20,38 @@ #include "unpkg.h" +struct options { + char *infile; + char *outdir; + char list; + char print; + char verbose; +}; + + index_header *readIndex(const uint8 *buf); void printIndex(const index_header *h, const uint8 *buf, FILE *out); char *get_file_name(const uint8 *buf, const index_header *h, uint16 file_index); -void writeFiles(const index_header *h, const uint8 *data); +void writeFiles(const index_header *h, const uint8 *data, const char *path); +void parse_arguments(int argc, char *argv[], struct options *opts); +void listResources(const index_header *h, const uint8 *buf, FILE *out); + int main(int argc, char *argv[]) { - char *filename; int in; struct stat sb; uint8 *buf; index_header *h; + struct options opts; - if (argc < 2 || argc > 3) { - fprintf(stderr, "unpkg [outdir]\n"); - return EXIT_FAILURE; - } + parse_arguments(argc, argv, &opts); - filename = argv[1]; - - in = open(filename, O_RDONLY); + in = open(opts.infile, O_RDONLY); if (in == -1) { - perror("Could not open input file"); + fprintf(stderr, "Error: Could not open file %s: %s\n", opts.infile, + strerror(errno)); return EXIT_FAILURE; } @@ -60,20 +68,43 @@ main(int argc, char *argv[]) { close(in); h = readIndex(buf); - printIndex(h, buf, stderr); + if (opts.print) + printIndex(h, buf, stdout); - if (argc > 2) { - char *dir = argv[2]; - if (h->res_flags) { - // packaged - if (chdir(dir) == -1) { - perror("Could not change directory"); - return EXIT_FAILURE; - } - writeFiles(h, buf); - } else { - fprintf(stderr, "Cannot unpack data from unpacked file.\n"); + if (opts.list) + listResources(h, buf, stdout); + + if (opts.outdir != NULL) { + size_t len; + struct stat sb; + + if (!h->res_flags) { + fprintf(stderr, "Error: Cannot unpack data from unpackaged " + "file.\n"); + exit(EXIT_FAILURE); } + + if (access(opts.outdir, W_OK) == -1) { + fprintf(stderr, "Error: Invalid destination dir %s: %s\n", + opts.outdir, strerror(errno)); + exit(EXIT_FAILURE); + } + if (stat(opts.outdir, &sb) == -1) { + fprintf(stderr, "Error: Could not stat %s: %s\n", opts.outdir, + strerror(errno)); + exit(EXIT_FAILURE); + } + if (!S_ISDIR(sb.st_mode)) { + fprintf(stderr, "Error: %s is not a directory.\n", + opts.outdir); + exit(EXIT_FAILURE); + } + + len = strlen(opts.outdir); + if (opts.outdir[len - 1] == '/') + opts.outdir[len - 1] = '\0'; + + writeFiles(h, buf, opts.outdir); } // freeIndex(h); @@ -81,6 +112,49 @@ main(int argc, char *argv[]) { return EXIT_SUCCESS; } +void +usage() { + fprintf(stderr, "unpkg [-o outputdir] [-v] [-l listfile] \n"); +} + +void +parse_arguments(int argc, char *argv[], struct options *opts) { + char ch; + + memset(opts, '\0', sizeof (struct options)); + while (1) { + ch = getopt(argc, argv, "hlo:pv"); + if (ch == -1) + break; + switch(ch) { + case 'l': + opts->list = 1; + break; + case 'o': + opts->outdir = optarg; + break; + case 'p': + opts->print = 1; + break; + case 'v': + opts->verbose = 1; + break; + case '?': + case 'h': + default: + usage(); + exit(EXIT_FAILURE); + } + } + argc -= optind; + argv += optind; + if (argc != 1) { + usage(); + exit(EXIT_FAILURE); + } + opts->infile = argv[0]; +} + index_header * readIndex(const uint8 *buf) { index_header *h; @@ -142,8 +216,10 @@ readIndex(const uint8 *buf) { uint32 next_offset; if (h->res_flags) { // packaged - h->package_list[i].filename = strdup(get_file_name(buf, h, - h->package_list[i].file_index)); + char *temp; + temp = get_file_name(buf, h, h->package_list[i].file_index); + h->package_list[i].filename = + (temp == NULL) ? NULL : strdup(temp); } else { // not packaged h->package_list[i].filename = NULL; @@ -184,12 +260,15 @@ readIndex(const uint8 *buf) { next_offset += h->package_list[i].type_list[j]. instances[k].size; } else { + char *temp; h->package_list[i].type_list[j].instances[k].size = 0; h->package_list[i].type_list[j].instances[k].offset = 0; + temp = get_file_name(buf, h, + MAKE_WORD(bufptr[0], bufptr[1])); h->package_list[i].type_list[j].instances[k]. - filename = strdup(get_file_name(buf, h, - MAKE_WORD(bufptr[0], bufptr[1]))); + filename = (temp == NULL) ? + NULL : strdup(temp); } bufptr += 2; } // for k @@ -318,6 +397,42 @@ printIndex(const index_header *h, const uint8 *buf, FILE *out) { } } +void +listResources(const index_header *h, const uint8 *buf, FILE *out) { + int i, j; + int num_types, num_instances; + char *filename; + + for (i = 0; i < h->num_packages; i++) { + if (h->res_flags) { + // packaged + filename = (h->package_list[i].filename == NULL) ? + "<>" : h->package_list[i].filename; + } + + num_types = h->package_list[i].num_types; + for (j = 0; j < num_types; j++) { + int k; + + num_instances = h->package_list[i].type_list[j].num_instances; + for (k = 0; k < num_instances; k++) { + if (!h->res_flags) { + filename = (h->package_list[i].type_list[j].instances[k]. + filename == NULL) ? "<>" : + h->package_list[i].type_list[j].instances[k]. + filename; + } + fprintf(out, "0x%08x %s\n", + MAKE_RESOURCE(i + 1, + h->package_list[i].type_list[j].type, + h->package_list[i].type_list[j].first_instance + k), + filename); + } // for k + } // for j + } // for i + (void) buf; +} + char * get_file_name(const uint8 *buf, const index_header *h, uint16 file_index) { static char result[MAXPATHLEN]; @@ -355,6 +470,31 @@ void writeFile(const char *file, const uint8 *data, size_t len) { int fd; + // check if all the path components exist + { + const char *ptr; + char path[MAXPATHLEN]; + + ptr = file; + if (ptr[0] == '/') + ptr++; + while (1) { + ptr = strchr(ptr, '/'); + if (ptr == NULL) + break; + ptr++; + memcpy(path, file, ptr - file); + path[ptr - file] = '\0'; + if (mkdir(path, 0777) == -1) { + if (errno == EEXIST) + continue; + fprintf(stderr, "Error: Could not make directory %s: %s\n", + path, strerror(errno)); + exit(EXIT_FAILURE); + } + } + } + fd = open(file, O_WRONLY | O_CREAT | O_TRUNC, 0666); if (fd == -1) { perror("Could not open file for writing"); @@ -377,26 +517,35 @@ writeFile(const char *file, const uint8 *data, size_t len) { void -writeFiles(const index_header *h, const uint8 *data) { +writeFiles(const index_header *h, const uint8 *data, const char *path) { int i; - char filename[sizeof("01234567=012-01-012")]; + char filename[MAXPATHLEN]; int num_types, num_instances; for (i = 0; i < h->num_packages; i++) { int j; + num_types = h->package_list[i].num_types; for (j = 0; j < num_types; j++) { int k; num_instances = h->package_list[i].type_list[j].num_instances; for (k = 0; k < num_instances; k++) { - sprintf(filename, "%08x=%03x-%02x-%03x", + sprintf(filename, "%s/%08x", + path, + MAKE_RESOURCE(i + 1, + h->package_list[i].type_list[j].type, + h->package_list[i].type_list[j].first_instance + k)); +#if 0 + sprintf(filename, "%s/%08x=%03x-%02x-%03x", + path, MAKE_RESOURCE(i + 1, h->package_list[i].type_list[j].type, h->package_list[i].type_list[j].first_instance + k), i + 1, h->package_list[i].type_list[j].type, h->package_list[i].type_list[j].first_instance + k); +#endif writeFile(filename, &data[h->package_list[i].type_list[j].instances[k]. offset],