Twili Posted September 28, 2013 Share Posted September 28, 2013 EVERY ONE OF THESE USES ITS OWN UNIQUE PALETTE OF 16 COLORS. YES, INCLUDING THE BLANK SLOTS. INFO BELOW ON ROM LOCATIONS. These textures are 4bpp CI, most are 32x32 in dimensions, but some are 24x24. The palette, consisting of 16 colors, follows immediately after the color index portion. The devs threw in extra bytes to throw you off, so you can't immediately pick a texture by its "number" (first row being 0x00 - 0x0F, second being 0x10 - 0x1F, etc.) So what you have to do to compensate for these extra bytes is use these notes: From the wrapped gift (very first texture in the top left) to the bowl of soup (first actual texture of row two), you CAN use the hex numbering scheme like so: Multiply the texture number by 0x220 and add the product to 0x1CC310. Soup example: 0x11 * 0x220 + 0x1CC310 = 0x1CE730 From the bread (immediate right of the soup) to the silver key (first actual texture of row five), you must count in hex starting back at 0x00! It's not too bad, though, because if you understand hex, you know that the texture immediately below is 0x10, then 0x20 below that, etc. Due to the aforementioned extra bytes, you multiply by 0x240 this time. The offset you're adding to is also different, 0x1CE970 this time. Yoshi cookie example: 0x28 * 0x240 + 0x1CE970 = 0x1D4370 From the plain gold key (immediate right of silver key) to the red orb, you multiply the texture number, (yes, the gold key is 0x00, it's always relative) by 0x220. Add to 0x1D5550. Frying Pan example: 0x14 * 0x220 + 0x1D5550 = 0x1D7FD0 I think you get how to set up the formula now, so from here on out I'll just list the starting (0x00) and ending texture, the bytes to skip (multiply the texture number) by, and the base offset you add to. Toad Doll (immediate right of red orb) to brown key (immediate right of scarf): 0x220, 0x1D9DB0 Sky blue key (immediate right of brown key) to umbrella (directly below red orb): 0x220, 0x1DAED0 Pink key (immediately right of umbrella) to Third Degree Card (looks like a flag with 3 stars and is surrounded by yellow): 0x220, 0x1DBFF0 Fourth Degree Card (immediate right of Third Degree Card) to green signature (immediate right of casette tape): 0x220, 0x1DD110 Hand bag (immediate right of green signature) to white envelope: 0x220, 0x1DE230 Brown envelope (immediate right of white envelope) to blank texture three rows above bottom left corner of the image: 0x240, 0x1DEF10 Start of gloved pointer finger frames to star piece counter icon (immediate left of hammer three rows above bottom right corner): 0x140, 0x1F8AD0 IMPORTANT NOTE! These 14 (0x0E) textures are 24x24 in dimensions, fit inside the top left corners of 32x32 spaces in the image. Wooden hammer (three rows above the bottom right corner of the image) to eyes-closed heart: 0x240, 0x1F9C50 Eyes-open heart (immediate right of eyes-closed heart) to open-mouth flower: 0x220, 0x1FAE30 Spinning coin frame one (immediate right of mouth-open flower) to spinning coin frame ten): 0x140, 1FB8D0 THESE TEN TEXTURES ARE 24x24, again fit inside 32x32 spaces in the image. Bright glowing star piece (immediate right of final spinning coin) to regular-lit star piece: 0x220, 0x1FC710 Last eleven textures in the image: 0x140, 0x1FCD70 THESE ARE 24x24. CLICK HERE TO GET GEDECOMPRESSOR, A ROM TOOL CAPABLE OF EXTRACTING AND DECOMPRESSING THE YAY0 FILES IN PAPER MARIO. CAN'T RECOMPRESS, SADLY. So yeah, the icon/animated textures I displayed for you are all before the compressed parts of the rom. I wrote a converter for them and had to literally rebuild it each time I ran into one of those road blocks that the devs threw in. Maybe this will get people interested. Help documenting stuff welcome. 1 Link to comment Share on other sites More sharing options...
Flotonic Posted September 28, 2013 Share Posted September 28, 2013 http://i364.photobucket.com/albums/oo89/Flotonic/IMG_06092012_160814.png 1 Link to comment Share on other sites More sharing options...
Twili Posted September 28, 2013 Author Share Posted September 28, 2013 Flotonic got that from what I believe to be an actor table, for the lack of a better descriptor, at 0x5A610. The entries look like: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E0 00 20 00 00 32 78 F0 00 32 81 10 E0 00 20 00 00 32 64 10 00 32 78 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E0 00 C1 60 00 32 81 10 00 32 8E A0 E0 00 C0 00 00 32 8E A0 00 32 C1 10 ... Each entry is 0x18 bytes long, and as you can see, there are null entries; 0x00, 0x02, 0x03, 0x04, and 0x05 in the portion above. There are a total of 0x87 entries in this table. In entry 0x01, and all for that matter, it is unknown what purpose the first four bytes serve, but the next eight are the absolute start and end offsets of the ASM for the actor. The next four bytes are again unknown. The last eight bytes in an entry are the start and end offsets of the model file that the actor uses. Actors can share the same model file, and for that very reason, I have wrote a program to list which actors use the same model file. Here is the result: Model file 00326410 003278F0 used by 0x01Model file 00328EA0 0032C110 used by 0x06 0x07 0x17 0x1D 0x27Model file 0032CEC0 0032DD10 used by 0x08 0x09Model file 0032EC50 0032EE30 used by 0x0A 0x0BModel file 0032FB50 0032FE30 used by 0x0CModel file 00330460 00330910 used by 0x0DModel file 00330F00 00331940 used by 0x0EModel file 003326A0 00333EC0 used by 0x0FModel file 00334C70 00337240 used by 0x10Model file 00337FC0 00339250 used by 0x11 0x22 0x38 0x3A 0x84Model file 00339F60 0033B180 used by 0x12Model file 0033BBD0 0033CDF0 used by 0x13Model file 0033D610 0033E8C0 used by 0x14 0x2BModel file 0033F000 0033FE80 used by 0x15Model file 00340880 003419E0 used by 0x16Model file 00343040 00343680 used by 0x18 0x21Model file 00343F70 00344A10 used by 0x19Model file 003451E0 003454E0 used by 0x1AModel file 00345B40 0034DD20 used by 0x1BModel file 0034E770 0034EC80 used by 0x1CModel file 00350220 00352440 used by 0x1EModel file 00352CE0 00353300 used by 0x1FModel file 00353BB0 003547A0 used by 0x20Model file 00356530 00356980 used by 0x23Model file 003573A0 003584C0 used by 0x24Model file 003593B0 00359F20 used by 0x25 0x68Model file 0035A5E0 0035B9D0 used by 0x26Model file 0035C550 0035CA80 used by 0x28Model file 0035D510 0035DA00 used by 0x29Model file 0035F0E0 003602C0 used by 0x2CModel file 00360A30 00360F40 used by 0x2DModel file 00361670 003625C0 used by 0x2EModel file 00362C50 00363160 used by 0x2FModel file 003638C0 00364300 used by 0x30Model file 00364C00 00364F10 used by 0x31Model file 003659B0 00366030 used by 0x32Model file 00366D60 0036A8D0 used by 0x33Model file 0036AEE0 0036D020 used by 0x34Model file 0036DF90 0036E1D0 used by 0x35Model file 0036ED60 00372790 used by 0x36Model file 003733E0 003740B0 used by 0x37Model file 00375510 00376460 used by 0x39Model file 00377F80 0037A3F0 used by 0x3BModel file 0037ADD0 0037C540 used by 0x3CModel file 0037D180 0037D490 used by 0x3DModel file 0037D9D0 0037F720 used by 0x3E 0x42Model file 003803A0 003812C0 used by 0x3FModel file 00381E00 00385640 used by 0x40Model file 003863B0 003889D0 used by 0x41Model file 0038A350 0038ADF0 used by 0x43Model file 0038BBA0 0038C5F0 used by 0x44Model file 0038D070 0038DE00 used by 0x45Model file 0038E990 0038EE60 used by 0x46Model file 0038F710 0038F900 used by 0x47Model file 003903D0 00391D30 used by 0x48Model file 00392440 003928D0 used by 0x49Model file 003930A0 00394280 used by 0x4AModel file 00394670 00395BB0 used by 0x4BModel file 003960F0 003965B0 used by 0x4CModel file 00397040 003981F0 used by 0x4DModel file 00398BC0 0039FF20 used by 0x4EModel file 003A0D60 003A2290 used by 0x4FModel file 003A2440 003A2990 used by 0x50Model file 003A33D0 003A37E0 used by 0x51Model file 003A4320 003A5550 used by 0x52Model file 003A5BE0 003A70F0 used by 0x53Model file 003A77A0 003AA920 used by 0x54Model file 003AB030 003AEE20 used by 0x55Model file 003AF700 003B2350 used by 0x56Model file 003B2D90 003B3EB0 used by 0x57Model file 003B46A0 003B4790 used by 0x58Model file 003B5340 003B5CF0 used by 0x59Model file 003B6BF0 003B7160 used by 0x5AModel file 003B78D0 003B7B80 used by 0x5BModel file 003B8860 003B8BD0 used by 0x5CModel file 003B9A70 003BA030 used by 0x5DModel file 003BAEA0 003BBF60 used by 0x5EModel file 003BCA90 003BCD60 used by 0x5FModel file 003BD9A0 003C11D0 used by 0x60Model file 003C1BA0 003CADF0 used by 0x61Model file 003CB890 003CC9E0 used by 0x62Model file 003CD6E0 003CF3A0 used by 0x63Model file 003CFAF0 003D0500 used by 0x64Model file 003D11E0 003D1690 used by 0x65Model file 003D2580 003D2AC0 used by 0x66Model file 003D3930 003D3E20 used by 0x67Model file 003D4E90 003D5020 used by 0x69Model file 003D5F30 003D67C0 used by 0x6BModel file 003D7040 003D7240 used by 0x6CModel file 003D7770 003D7A70 used by 0x6DModel file 003D80C0 003D8720 used by 0x6EModel file 003D9100 003DB460 used by 0x6FModel file 003DBF40 003DC310 used by 0x70Model file 003DCD50 003DE000 used by 0x71Model file 003DEE60 003E0930 used by 0x72Model file 003E12D0 003E1690 used by 0x73Model file 003E1CD0 003E1EE0 used by 0x74Model file 003E2960 003E43A0 used by 0x75Model file 003E5350 003E54C0 used by 0x77Model file 003E5F30 003EB4E0 used by 0x78Model file 003EBE60 003F83F0 used by 0x79Model file 003F8CC0 003F9E50 used by 0x7AModel file 003FA4B0 003FEAE0 used by 0x7B 0x7DModel file 003FF250 00402640 used by 0x7CModel file 00403BF0 00404220 used by 0x7EModel file 00404F40 00406B40 used by 0x7FModel file 00407080 00409990 used by 0x80Model file 0040A1C0 0040B3F0 used by 0x81Model file 0040BBA0 0040C5A0 used by 0x82Model file 0040D290 00412730 used by 0x83Model file 00413FA0 00414BA0 used by 0x85Model file 00415060 00415D90 used by 0x86 Link to comment Share on other sites More sharing options...
Recommended Posts