VPW64 default costume stuff ============================ default costume data starts at 8003E438 runtime/0x3F038 Z64 ROM addr each entry is 4 bytes offsets: +00 head number (usually 0x00 unless character has multiple masks) +01 costume number +02 first color (0x0?) +03 second and third color (nibbles) hogan's first default costume data is at 8003E8C8 for the color bytes: [+0x02] [+0x03] FEDCBA98 76543210 |__||__| |__||__| | | | | | | | +--- Color 3 (0-F) | | +------- Color 2 (0-F) | +------------ Color 1 (0-F) +---------------- always 0? -------+---------+------------- HexVal | In-Game | Color -------+---------+------------- 0x0 | 1 | Black 0x1 | 2 | Red 0x2 | 3 | Blue 0x3 | 4 | Purple 0x4 | 5 | Orange 0x5 | 6 | Yellow 0x6 | 7 | Light Blue 0x7 | 8 | Pink 0x8 | 9 | Light Green 0x9 | 10 | Gold 0xA | 11 | Silver 0xB | 12 | Navy Blue 0xC | 13 | Dark Green 0xD | 14 | Dark Gray 0xE | 15 | Gray 0xF | 16 | White -------+---------+------------- Normally the terminator is 0x00000000 after the 4th costume, but sometimes there'll be a nonzero value there, and a few more bytes after. No idea what those values are for yet. They're somehow related to wrestler masks, as they only appear on masked wrestlers. First short is usually 0x0001 in this instance, but Super Delfin has 0x0003. Extra data is 8 bytes long and ends with 0x0000 (which would normally follow the 0x0000 at the beginning of the terminator). pointer list starts at 8003ECB0 runtime --------------------------------- per-wrestler body type data starts at 8002F374 runtime/0x2FF74 Z64 ROM addr 2 bytes per entry +00 ??? +01 body type (documented in wrestler_bodytype.txt) ================================================================================ default costume data dump 00130000 00130100 0015000F 0017002F 00000000 01550D00 01550900 01510000 01050000 00000000 01130000 0113000A 01140101 01550000 00000000 0010020F 0010030F 00100A0F 00120100 00000000 01130100 01130200 01040010 010F0010 00000000 00140303 00140505 00130F0F 00070300 00000000 014E0001 014E0105 014F0000 015B0001 00000000 004F0BBB 004F0333 00490000 00470110 00000000 004700BB 00470CCC 00460330 003F0000 00000000 00120000 00120100 00120200 00110500 00000000 corresponds to Liger 01050000 02050A00 03050200 05050300 00012146 55411772 14330000 corresponds to El Samurai 0327088F 0227000D 02220000 01250F00 00013312 22124221 43220000 015C0100 015C0001 015F000F 014E0005 00000000 00760F10 0076001F 00760F01 010B0B10 00000000 000F0201 0010020F 00110000 00120000 00000000 00140F03 012C0505 00500800 01130000 00000000 00150BBA 00160B9B 00170AB2 0015002D 00000000 00110111 00110666 00110777 00110888 00000000 005F0808 00000100 00000200 00190122 00000000 00150606 0016000B 001703F3 001800F1 00000000 00180626 00500200 00190102 00140101 00000000 00500C00 011A0000 00500700 001B0F21 00000000 00010111 00020F11 00010222 000305FB 00000000 00030333 00030001 00030500 00040222 00000000 00050500 00050700 0006050F 0006070F 00000000 001C0444 001C0552 001C0001 001D0000 00000000 00190111 004F0222 00190333 001B0303 00000000 00190444 004F0888 00190666 001A0000 00000000 001E0000 001F0004 00200305 00210001 00000000 00220000 00230000 004D0000 00200305 00000000 00250444 00250111 002A090A 002B0100 00000000 00190111 001C0101 00190FFF 00190011 00000000 001E062F 001F0020 000402FF 00200300 00000000 00210000 00200000 00230150 0024020F 00000000 00190CCC 00190000 00260101 00270001 00000000 00190FFF 001A0000 00280FFF 015E0000 00000000 001A0100 00190555 00190111 001A0000 00000000 002A0000 002903FF 00190111 00290300 00000000 002C0000 002D0001 002E0005 004D0201 00000000 corresponds to Ultimo Dragon 002B0651 012B0751 022B0157 032B0051 00017321 34615482 57480000 00070500 00080A00 01090500 000A0005 00000000 002F0500 00300400 002F0F00 00300800 00000000 003102F2 00320A02 00330000 00340F51 00000000 corresponds to Hayabusa 002C0F00 012C0400 022C0200 032C0700 00017528 21346118 77110000 000B0500 000C0300 000D0300 000E0000 00000000 00350500 00350100 00360050 01370070 00000000 00000F01 00000001 00010100 00010E00 00000000 00500800 00380100 00500000 00380000 00000000 002D0100 002D0200 002E0100 002E0800 00000000 00390AAA 00390000 013A0AAA 00070300 00000000 corresponds to Super Delfin 002F0152 012F0523 022F0284 032F0A09 00039A12 348A5456 89550000 corresponds to Gran Naniwa 003B0100 013B0200 023B0300 033B0900 00011123 14131412 11110000 00300002 0030000F 00300100 003100F0 00000000 003C0600 003D0600 013E0F02 023F0000 00000000 003F0000 00400300 00410001 01560300 00000000 0041000B 00430101 00430202 0044000F 00000000 00320000 01600000 02330510 03610510 00000000 00730000 01350000 02350600 03740001 00000000 000F0110 00100010 01110000 02120300 00000000 00450100 00450200 00450800 00450300 00000000 005D000D 00460FFF 005C052D 005B040D 00000000 00470111 0059030D 005A070D 00470FFF 00000000 00360100 00360F00 01360100 01360F00 00000000 01480000 0049000F 00570100 00570000 00000000 00190999 00190AAA 00190555 00190444 00000000 00010100 00010A00 00010000 00010500 00000000 00000303 00000B0B 00000C0C 01010900 00000000 00370000 00380500 00370B00 00380200 00000000 00390F0F 003A0A00 00390000 00220000 00000000 003B0105 003D0011 013F0A00 02400000 00000000 004C0002 004D0101 004D0201 004C0001 00000000 00500100 00500200 00500000 00500600 00000000 03040A0E 04040B03 0104090A 02040F02 00000000 00470662 00470121 00480122 00480F22 00000000 00490A00 01490905 02490A09 004A000D 00000000 005F0102 005F0A02 005F050C 015F0009 00000000 00040000 00040E00 004D0000 00550000 00000000 034F0000 034D0E0E 024D0C0C 034D0000 00000000 00130100 000C0200 00140200 01140000 00000000 0000000F 00010F0F 00010101 00000C0F 00000000 00210A90 01210CC0 0120000F 001D0000 00000000 000C0900 010C0100 020C0200 030C0F00 00000000 002400B5 00250000 0024000F 00250111 00000000 0025000A 00000500 00290021 00250111 00000000 003F0000 003F0100 00450000 00000200 00000000 004F0000 00190FFF 00190666 004E0105 00000000 00000F00 00000200 01010F00 01000F00 00000000 005006FF 00500011 00510001 00520F0F 00000000 00530B00 00530100 00530800 00530600 00000000 00000001 00000200 01000F01 01010100 00000000 00540105 01540205 02540A09 03540009 00000000 00530000 00540A00 01550000 0156010F 00000000 00570F00 01570605 02590000 005A0000 00000000 00090100 000D0F00 000F0100 00100A00 00000000 00700000 00710A00 00720F01 00140000 00000000 00580D00 00000000 00580100 00580200 00000000 005E0305 005E0007 005E0807 005E0F06 00000000 007A0101 007B0121 007B0212 000F0200 00000000 00750094 00750062 00000110 00000220 00000000 007702F1 01780100 02780200 03780500 00000000 00650000 01660000 01650100 00660100 00000000 00670100 01680000 00690100 01650000 00000000 006A0100 01660000 006B0100 01650000 00000000 00630D1F 01640D1F 01660000 0063021F 00000000 006C0F00 016D0F00 006E0F00 016F0F00 00000000 007C0510 017D0510 007C0150 01680000 00000000 followed by pointers right after (runtime 8003ECB0/z64 0x3F8B0) -- 00xx area -- 8003E438 - ID4 0001 8003E44C - ID4 0002 8003E460 - ID4 0003 8003E474 - ID4 0004 8003E488 - ID4 0005 8003E49C - ID4 0006 8003E4B0 - ID4 0007 8003E4C4 - ID4 0008 8003E4D8 - ID4 0009 8003E4EC - ID4 000A 8003E500 - ID4 000B 8003E51C - ID4 000C 8003E538 - ID4 000D 8003E54C - ID4 000E -- 01xx area -- 8003E560 - ID4 0101 8003E574 - ID4 0102 8003E588 - ID4 0103 8003E59C - ID4 0104 8003E5B0 - ID4 0105 8003E5C4 - ID4 0106 8003E5D8 - ID4 0107 8003E5EC - ID4 0108 8003E600 - ID4 0109 8003E614 - ID4 010A 8003E628 - ID4 010B 8003E63C - ID4 010C -- 02xx area -- 8003E650 - ID4 0201 8003E664 - ID4 0202 8003E678 - ID4 0203 8003E68C - ID4 0204 8003E6A0 - ID4 0205 8003E6B4 - ID4 0206 8003E6C8 - ID4 0207 8003E6DC - ID4 0208 8003E6F0 - ID4 0209 8003E704 - ID4 020A 8003E718 - ID4 020B 8003E72C - ID4 020C -- 03xx area -- 8003E740 - ID4 0301 8003E754 - ID4 0302 8003E770 - ID4 0303 8003E784 - ID4 0304 8003E798 - ID4 0305 8003E7AC - ID4 0306 8003E7C8 - ID4 0307 8003E7DC - ID4 0308 8003E7F0 - ID4 0309 8003E804 - ID4 030A -- 04xx area -- 8003E818 8003E82C 8003E840 8003E85C 8003E878 8003E88C 8003E8A0 8003E8B4 -- 05xx area -- 8003E8C8 8003E8DC 8003E8F0 8003E904 8003E918 8003E92C 8003E940 8003E954 -- 06xx area -- 8003E968 8003E97C 8003E990 8003E9A4 8003E9B8 8003E9CC 8003E9E0 8003E9F4 8003EA08 8003EA1C 8003EA30 8003EA44 8003EA58 8003EA6C 8003EA80 8003EA94 -- 07xx area -- 8003EAA8 - 0701 Power Warrior 8003EABC - 0702 Great Muta 8003EAD0 - 0703 [costume 1 #37 black/blue/yellow; costume 2 #38 black; costume 3 #37 black/black/white; costume #4 #38 red] 8003EAE4 - 0704 [costume 1 #38 black/black/silver; costume 2 #1 yellow; costume 3 #42 black/blue/red; costume 4 #38 red] 8003EAF8 - 0705 Koji Kanemoto 8003EB0C - 0706 [costume 1 #80 black; costume 2 #26 white; costume 3 #26 light blue; costume 4 #79 red/yellow] 8003EB20 - 0707 [costume 1 #1 white; costume 2 #1 blue; costume 3 #2 mask #2 white; costume 4 #1 mask #2 white] 8003EB34 - 0708 Chris Benoit 8003EB48 - 0709 [costume 1 #84 dark blue; costume 2 #84 red; costume 3 #84 green; costume 4 #84 light blue] 8003EB5C - 070A Naoya Ogawa 8003EB70 - 070B [costume 1 #85 red/yellow; costume 2 #85 blue/yellow; costume 3 #85 white/gold; costume 4 #85 black/gold] 8003EB84 - 070C [costume 1 #84; costume 2 #85; costume 3 #86 mask #2; costume 4 #87 mask #2] 8003EB98 - 070D Muhammad Ali 8003EBAC - 070E Kuniaki Kobayashi -- 08xx area -- 8003EBC0 - 0801 8003EBD4 - 0802 8003EBE8 - 0803 DDP 8003EBFC - 0804 8003EC10 - 0805 8003EC24 - 0806 8003EC38 - 0807 8003EC4C - 0808 8003EC60 - 0809 8003EC74 - 080A 8003EC88 - 080B Randy Savage 8003EC9C - 080C Syxx pointers to beginning of each section (runtime ?/z64 0x3FA58) 8003ECB0 - wrestler ID4 is 00xx 8003ECE8 - wrestler ID4 is 01xx 8003ED18 - wrestler ID4 is 02xx 8003ED48 - wrestler ID4 is 03xx 8003ED70 - wrestler ID4 is 04xx 8003ED90 - wrestler ID4 is 05xx 8003EDB0 - wrestler ID4 is 06xx 8003EDF0 - wrestler ID4 is 07xx 8003EE28 - wrestler ID4 is 08xx ================================================================================ everything below this line regards the exploration process ------------------------------ trying to find things; current costume number locations in edit mode: 80068CA0 800EF690 ------------------------------ runtime 8000E3F0 called from runtime 800C1740 a0 = ?? a1 = wrestler ID4 a2 = new costume ID a3 = ?? 80068C80 -> wrestler ID4 80068CA0 -> costume number 80068CA8 -> wrestler head number 80068CB8 some pointer area; unrelated probably ---------------- runtime 8000C5A4 a0 = t0 (wrestler ID4) a1-a3 same as above t8 gets top portion of ID4; is masked with 0x1F t0 = t9 << 2 8002F3D0 base address for body type and such? at end: s1 = costume result?? ---------------- runtime 8000C694 a0 = ID4 a1 = ID4 a2 = costume number a3 = ? 80030E44 base address for more pointer stuff? ---------------- runtime 8000CAB8 ================================================================================