From 2113d9044b9beb0fedca17f977f2bb571c50c302 Mon Sep 17 00:00:00 2001 From: Jcw87 Date: Fri, 20 Feb 2026 03:05:23 -0800 Subject: [PATCH] d_resorce debug (#3105) --- config/RZDE01_00/symbols.txt | 77 ++-- config/RZDE01_02/symbols.txt | 77 ++-- config/RZDJ01/symbols.txt | 81 ++-- config/RZDP01/symbols.txt | 81 ++-- config/Shield/symbols.txt | 4 +- config/ShieldD/splits.txt | 3 +- config/ShieldD/symbols.txt | 6 +- .../JSystem/J3DGraphAnimator/J3DAnimation.h | 2 +- include/JSystem/J3DGraphBase/J3DMaterial.h | 2 +- include/JSystem/J3DGraphBase/J3DShape.h | 2 +- include/JSystem/J3DGraphBase/J3DTevs.h | 6 +- include/JSystem/J3DGraphBase/J3DTexture.h | 2 +- .../JSystem/J3DGraphLoader/J3DModelLoader.h | 3 +- include/JSystem/JKernel/JKRArchive.h | 4 +- include/JSystem/JKernel/JKRHeap.h | 4 + include/d/d_com_inf_game.h | 3 +- include/d/d_particle.h | 1 + include/d/d_resorce.h | 22 +- include/d/dolzel_base.pch | 2 +- src/JSystem/JKernel/JKRArchivePub.cpp | 4 +- src/d/d_resorce.cpp | 391 +++++++++++------- 21 files changed, 416 insertions(+), 361 deletions(-) diff --git a/config/RZDE01_00/symbols.txt b/config/RZDE01_00/symbols.txt index 08c23de18f..e4bc58fd9b 100644 --- a/config/RZDE01_00/symbols.txt +++ b/config/RZDE01_00/symbols.txt @@ -19341,7 +19341,7 @@ sFontData2__Q26nw4hbm2db = .rodata:0x803EF5F8; // type:object size:0x134 scope:g saoAboutEncoding___10JUTResFont = .rodata:0x803EF730; // type:object size:0xC scope:global align:4 halftofull$10786 = .rodata:0x803EF73C; // type:object size:0xBE scope:local align:4 JUTResFONT_Ascfont_fix12 = .rodata:0x803EF800; // type:object size:0x4160 scope:global align:4 -lbl_803F3960 = .rodata:0x803F3960; // type:object size:0x20 data:byte +j2dDefaultTexCoordInfo = .rodata:0x803F3960; // type:object size:0x20 data:byte j2dDefaultTexMtxInfo = .rodata:0x803F3980; // type:object size:0x24 scope:global align:4 data:byte j2dDefaultIndTexMtxInfo = .rodata:0x803F39A4; // type:object size:0x1C scope:global align:4 j2dDefaultTevStageInfo = .rodata:0x803F39C0; // type:object size:0x14 scope:global align:4 @@ -19359,11 +19359,11 @@ j3dDefaultMtx = .rodata:0x803F3B44; // type:object size:0x30 scope:global align: PSMulUnit01 = .rodata:0x803F3B74; // type:object size:0x8 scope:global align:4 @8009 = .rodata:0x803F3B80; // type:object size:0x10 scope:local align:4 data:4byte j3dDefaultLightInfo = .rodata:0x803F3B90; // type:object size:0x34 scope:global align:4 -lbl_803F3BC4 = .rodata:0x803F3BC4; // type:object size:0x20 data:4byte +j3dDefaultTexCoordInfo = .rodata:0x803F3BC4; // type:object size:0x20 data:4byte j3dDefaultTexMtxInfo = .rodata:0x803F3BE4; // type:object size:0x64 scope:global align:4 j3dDefaultIndTexMtxInfo = .rodata:0x803F3C48; // type:object size:0x1C scope:global align:4 -lbl_803F3C64 = .rodata:0x803F3C64; // type:object size:0x14 -lbl_803F3C78 = .rodata:0x803F3C78; // type:object size:0xC data:byte +j3dDefaultTevStageInfo = .rodata:0x803F3C64; // type:object size:0x14 +j3dDefaultIndTevStageInfo = .rodata:0x803F3C78; // type:object size:0xC data:byte j3dDefaultFogInfo = .rodata:0x803F3C84; // type:object size:0x2C scope:global align:4 j3dDefaultNBTScaleInfo = .rodata:0x803F3CB0; // type:object size:0x10 scope:global align:4 data:byte lbl_803F3CC0 = .rodata:0x803F3CC0; // type:object size:0x10 data:byte @@ -25837,10 +25837,10 @@ NullTexData = .bss:0x804C37A0; // type:object size:0x10 scope:global align:4 sTexCoordScaleTable__6J3DSys = .bss:0x804C37B0; // type:object size:0x40 scope:global align:4 sGDLObj__17J3DDisplayListObj = .bss:0x804C37F0; // type:object size:0x10 scope:global align:4 data:4byte sMtxLoadCache__11J3DShapeMtx = .bss:0x804C3800; // type:object size:0x14 scope:global align:4 data:2byte -lbl_804C3818 = .bss:0x804C3818; // type:object size:0x1DC7 -lbl_804C55DF = .bss:0x804C55DF; // type:object size:0x400 data:byte -lbl_804C59DF = .bss:0x804C59DF; // type:object size:0x300 -lbl_804C5CDF = .bss:0x804C5CDF; // type:object size:0x61 +j3dTexCoordTable = .bss:0x804C3818; // type:object size:0x1DC7 +j3dTevSwapTableTable = .bss:0x804C55DF; // type:object size:0x400 data:byte +j3dAlphaCmpTable = .bss:0x804C59DF; // type:object size:0x300 +j3dZModeTable = .bss:0x804C5CDF; // type:object size:0x61 sNoUseDrawMtx__12J3DMtxBuffer = .bss:0x804C5D40; // type:object size:0x30 scope:global align:4 sNoUseNrmMtx__12J3DMtxBuffer = .bss:0x804C5D70; // type:object size:0x24 scope:global align:4 sWorkArea_WEvlpMixMtx__13J3DSkinDeform = .bss:0x804C5D98; // type:object size:0x1000 scope:global align:4 @@ -33139,24 +33139,16 @@ lbl_8053FC2B = .sdata2:0x8053FC2B; // type:object size:0x9 @33967 = .sdata2:0x80540038; // type:object size:0x4 scope:local align:4 data:float @33968 = .sdata2:0x8054003C; // type:object size:0x4 scope:local align:4 data:float @33989 = .sdata2:0x80540040; // type:object size:0x4 scope:local align:4 data:float -lbl_80540044 = .sdata2:0x80540044; // type:object size:0x1 data:byte -lbl_80540045 = .sdata2:0x80540045; // type:object size:0x1 data:byte -lbl_80540046 = .sdata2:0x80540046; // type:object size:0x1 data:byte -lbl_80540047 = .sdata2:0x80540047; // type:object size:0x1 data:byte -lbl_80540048 = .sdata2:0x80540048; // type:object size:0x4 -lbl_8054004C = .sdata2:0x8054004C; // type:object size:0x1 data:byte -lbl_8054004D = .sdata2:0x8054004D; // type:object size:0x1 +j2dDefaultColInfo = .sdata2:0x80540044; // type:object size:0x4 data:byte +j2dDefaultTevOrderInfoNull = .sdata2:0x80540048; // type:object size:0x4 +j2dDefaultIndTexOrderNull = .sdata2:0x8054004C; // type:object size:0x2 data:byte j2dDefaultTevColor = .sdata2:0x8054004E; // type:object size:0x8 scope:global align:2 -lbl_80540056 = .sdata2:0x80540056; // type:object size:0x1 data:byte -lbl_80540057 = .sdata2:0x80540057; // type:object size:0x1 data:byte -lbl_80540058 = .sdata2:0x80540058; // type:object size:0x1 data:byte -lbl_80540059 = .sdata2:0x80540059; // type:object size:0x1 data:byte -lbl_8054005A = .sdata2:0x8054005A; // type:object size:0x4 -lbl_8054005E = .sdata2:0x8054005E; // type:object size:0x1 data:byte -lbl_8054005F = .sdata2:0x8054005F; // type:object size:0x3 -lbl_80540062 = .sdata2:0x80540062; // type:object size:0x1 data:byte -lbl_80540063 = .sdata2:0x80540063; // type:object size:0x4 -lbl_80540067 = .sdata2:0x80540067; // type:object size:0x1 data:byte +j2dDefaultTevKColor = .sdata2:0x80540056; // type:object size:0x4 data:byte +j2dDefaultTevSwapModeTable = .sdata2:0x8054005A; // type:object size:0x4 +j2dDefaultBlendInfo = .sdata2:0x8054005E; // type:object size:0x4 data:byte +j2dDefaultPEBlockDither = .sdata2:0x80540062; // type:object size:0x1 data:byte +j2dDefaultColorChanInfo = .sdata2:0x80540063; // type:object size:0x4 +j2dDefaultTevSwapTableID = .sdata2:0x80540067; // type:object size:0x1 data:byte j2dDefaultAlphaCmp = .sdata2:0x80540068; // type:object size:0x2 scope:global align:4 data:2byte @32882 = .sdata2:0x80540070; // type:object size:0x4 scope:local align:4 data:float @32883 = .sdata2:0x80540074; // type:object size:0x4 scope:local align:4 data:float @@ -33259,26 +33251,17 @@ lbl_8054027B = .sdata2:0x8054027B; // type:object size:0x1 data:byte @6472 = .sdata2:0x80540280; // type:object size:0x4 scope:local align:4 data:float @6473 = .sdata2:0x80540284; // type:object size:0x4 scope:local align:4 data:float @6476 = .sdata2:0x80540288; // type:object size:0x8 scope:local align:4 data:double -lbl_80540290 = .sdata2:0x80540290; // type:object size:0x1 data:byte -lbl_80540291 = .sdata2:0x80540291; // type:object size:0x1 data:byte -lbl_80540292 = .sdata2:0x80540292; // type:object size:0x1 data:byte -lbl_80540293 = .sdata2:0x80540293; // type:object size:0x1 data:byte -lbl_80540294 = .sdata2:0x80540294; // type:object size:0x1 data:byte -lbl_80540295 = .sdata2:0x80540295; // type:object size:0x1 data:byte -lbl_80540296 = .sdata2:0x80540296; // type:object size:0x1 data:byte -lbl_80540297 = .sdata2:0x80540297; // type:object size:0x1 data:byte -lbl_80540298 = .sdata2:0x80540298; // type:object size:0x1 data:byte -lbl_80540299 = .sdata2:0x80540299; // type:object size:0x4 data:4byte -lbl_8054029D = .sdata2:0x8054029D; // type:object size:0x5 +j3dDefaultColInfo = .sdata2:0x80540290; // type:object size:0x4 data:byte +j3dDefaultAmbInfo = .sdata2:0x80540294; // type:object size:0x4 data:byte +j3dDefaultNumChans = .sdata2:0x80540298; // type:object size:0x1 data:byte +j3dDefaultTevOrderInfoNull = .sdata2:0x80540299; // type:object size:0x4 data:4byte +j3dDefaultIndTexOrderNull = .sdata2:0x8054029D; // type:object size:0x4 data:4byte j3dDefaultTevColor = .sdata2:0x805402A2; // type:object size:0x8 scope:global align:2 data:2byte -lbl_805402AA = .sdata2:0x805402AA; // type:object size:0x1 data:byte -lbl_805402AB = .sdata2:0x805402AB; // type:object size:0x1 data:byte -lbl_805402AC = .sdata2:0x805402AC; // type:object size:0x1 data:byte -lbl_805402AD = .sdata2:0x805402AD; // type:object size:0x1 data:byte -lbl_805402AE = .sdata2:0x805402AE; // type:object size:0x4 -lbl_805402B2 = .sdata2:0x805402B2; // type:object size:0x4 data:4byte -lbl_805402B6 = .sdata2:0x805402B6; // type:object size:0x8 data:byte -lbl_805402BE = .sdata2:0x805402BE; // type:object size:0x1 data:byte +j3dDefaultTevKColor = .sdata2:0x805402AA; // type:object size:0x4 data:byte +j3dDefaultTevSwapModeTable = .sdata2:0x805402AE; // type:object size:0x4 +j3dDefaultBlendInfo = .sdata2:0x805402B2; // type:object size:0x4 data:4byte +j3dDefaultColorChanInfo = .sdata2:0x805402B6; // type:object size:0x8 data:byte +j3dDefaultTevSwapTableID = .sdata2:0x805402BE; // type:object size:0x1 data:byte j3dDefaultAlphaCmpID = .sdata2:0x805402C0; // type:object size:0x2 scope:global align:2 data:2byte j3dDefaultZModeID = .sdata2:0x805402C2; // type:object size:0x2 scope:global align:2 data:2byte @12625 = .sdata2:0x805402C8; // type:object size:0x4 scope:local align:4 data:float @@ -33641,9 +33624,9 @@ BT_BD_ANY = .sdata2:0x805406A0; // type:object size:0x6 scope:global align:4 waterColor$166682 = .sbss2:0x80540BC0; // type:object size:0x8 scope:local align:4 lbl_80540BC8 = .sbss2:0x80540BC8; // type:object size:0x8 DefaultBlackColor = .sbss2:0x80540BD0; // type:object size:0x8 scope:global align:4 data:2byte -lbl_80540BD8 = .sbss2:0x80540BD8; // type:object size:0x1 data:byte -lbl_80540BDA = .sbss2:0x80540BDA; // type:object size:0x6 data:byte +j2dDefaultIndTexCoordScaleInfo = .sbss2:0x80540BD8; // type:object size:0x1 data:byte +j2dDefaultTevSwapMode = .sbss2:0x80540BDA; // type:object size:0x6 data:byte lbl_80540BE0 = .sbss2:0x80540BE0; // type:object size:0x4 data:4byte -lbl_80540BE4 = .sbss2:0x80540BE4; // type:object size:0x1 data:byte +j3dDefaultTevSwapMode = .sbss2:0x80540BE4; // type:object size:0x1 data:byte bta_dm_pm_cfg = .sbss2:0x80540BE8; // type:object size:0x3 scope:global align:4 bd_addr_null = .sbss2:0x80540BF0; // type:object size:0x6 scope:global align:4 diff --git a/config/RZDE01_02/symbols.txt b/config/RZDE01_02/symbols.txt index 47bb02ec9e..bb699751bf 100644 --- a/config/RZDE01_02/symbols.txt +++ b/config/RZDE01_02/symbols.txt @@ -19287,7 +19287,7 @@ scGroupAnmTable__10homebutton = .rodata:0x803DA828; // type:object size:0x250 sc saoAboutEncoding___10JUTResFont = .rodata:0x803DAA78; // type:object size:0xC scope:global align:4 halftofull$10786 = .rodata:0x803DAA84; // type:object size:0xBE scope:global align:4 JUTResFONT_Ascfont_fix12 = .rodata:0x803DAB60; // type:object size:0x4160 scope:global align:4 -lbl_803DECC0 = .rodata:0x803DECC0; // type:object size:0x20 data:byte +j2dDefaultTexCoordInfo = .rodata:0x803DECC0; // type:object size:0x20 data:byte j2dDefaultTexMtxInfo = .rodata:0x803DECE0; // type:object size:0x24 scope:global align:4 data:byte j2dDefaultIndTexMtxInfo = .rodata:0x803DED04; // type:object size:0x1C scope:global align:4 j2dDefaultTevStageInfo = .rodata:0x803DED20; // type:object size:0x14 scope:global align:4 @@ -19305,11 +19305,11 @@ j3dDefaultMtx = .rodata:0x803DEEA4; // type:object size:0x30 scope:global align: PSMulUnit01 = .rodata:0x803DEED4; // type:object size:0x8 scope:global align:4 @8009 = .rodata:0x803DEEE0; // type:object size:0x10 scope:local align:4 data:4byte j3dDefaultLightInfo = .rodata:0x803DEEF0; // type:object size:0x34 scope:global align:4 -lbl_803DEF24 = .rodata:0x803DEF24; // type:object size:0x20 data:4byte +j3dDefaultTexCoordInfo = .rodata:0x803DEF24; // type:object size:0x20 data:4byte j3dDefaultTexMtxInfo = .rodata:0x803DEF44; // type:object size:0x64 scope:global align:4 j3dDefaultIndTexMtxInfo = .rodata:0x803DEFA8; // type:object size:0x1C scope:global align:4 -lbl_803DEFC4 = .rodata:0x803DEFC4; // type:object size:0x14 -lbl_803DEFD8 = .rodata:0x803DEFD8; // type:object size:0xC data:byte +j3dDefaultTevStageInfo = .rodata:0x803DEFC4; // type:object size:0x14 +j3dDefaultIndTevStageInfo = .rodata:0x803DEFD8; // type:object size:0xC data:byte j3dDefaultFogInfo = .rodata:0x803DEFE4; // type:object size:0x2C scope:global align:4 j3dDefaultNBTScaleInfo = .rodata:0x803DF010; // type:object size:0x10 scope:global align:4 data:byte lbl_803DF020 = .rodata:0x803DF020; // type:object size:0x10 data:byte @@ -25383,10 +25383,10 @@ NullTexData = .bss:0x804A9820; // type:object size:0x10 scope:global align:4 sTexCoordScaleTable__6J3DSys = .bss:0x804A9830; // type:object size:0x40 scope:global align:4 sGDLObj__17J3DDisplayListObj = .bss:0x804A9870; // type:object size:0x10 scope:global align:4 data:4byte sMtxLoadCache__11J3DShapeMtx = .bss:0x804A9880; // type:object size:0x14 scope:global align:4 data:2byte -lbl_804A9898 = .bss:0x804A9898; // type:object size:0x1DC7 -lbl_804AB65F = .bss:0x804AB65F; // type:object size:0x400 data:byte -lbl_804ABA5F = .bss:0x804ABA5F; // type:object size:0x300 -lbl_804ABD5F = .bss:0x804ABD5F; // type:object size:0x61 +j3dTexCoordTable = .bss:0x804A9898; // type:object size:0x1DC7 +j3dTevSwapTableTable = .bss:0x804AB65F; // type:object size:0x400 data:byte +j3dAlphaCmpTable = .bss:0x804ABA5F; // type:object size:0x300 +j3dZModeTable = .bss:0x804ABD5F; // type:object size:0x61 sNoUseDrawMtx__12J3DMtxBuffer = .bss:0x804ABDC0; // type:object size:0x30 scope:global align:4 sNoUseNrmMtx__12J3DMtxBuffer = .bss:0x804ABDF0; // type:object size:0x24 scope:global align:4 sWorkArea_WEvlpMixMtx__13J3DSkinDeform = .bss:0x804ABE18; // type:object size:0x1000 scope:global align:4 @@ -32649,24 +32649,16 @@ lbl_80525CB3 = .sdata2:0x80525CB3; // type:object size:0x9 @33967 = .sdata2:0x805260B8; // type:object size:0x4 scope:local align:4 data:float @33968 = .sdata2:0x805260BC; // type:object size:0x4 scope:local align:4 data:float @33989 = .sdata2:0x805260C0; // type:object size:0x4 scope:local align:4 data:float -lbl_805260C4 = .sdata2:0x805260C4; // type:object size:0x1 data:byte -lbl_805260C5 = .sdata2:0x805260C5; // type:object size:0x1 data:byte -lbl_805260C6 = .sdata2:0x805260C6; // type:object size:0x1 data:byte -lbl_805260C7 = .sdata2:0x805260C7; // type:object size:0x1 data:byte -lbl_805260C8 = .sdata2:0x805260C8; // type:object size:0x4 -lbl_805260CC = .sdata2:0x805260CC; // type:object size:0x1 data:byte -lbl_805260CD = .sdata2:0x805260CD; // type:object size:0x1 +j2dDefaultColInfo = .sdata2:0x805260C4; // type:object size:0x4 data:byte +j2dDefaultTevOrderInfoNull = .sdata2:0x805260C8; // type:object size:0x4 +j2dDefaultIndTexOrderNull = .sdata2:0x805260CC; // type:object size:0x2 data:byte j2dDefaultTevColor = .sdata2:0x805260CE; // type:object size:0x8 scope:global align:2 -lbl_805260D6 = .sdata2:0x805260D6; // type:object size:0x1 data:byte -lbl_805260D7 = .sdata2:0x805260D7; // type:object size:0x1 data:byte -lbl_805260D8 = .sdata2:0x805260D8; // type:object size:0x1 data:byte -lbl_805260D9 = .sdata2:0x805260D9; // type:object size:0x1 data:byte -lbl_805260DA = .sdata2:0x805260DA; // type:object size:0x4 -lbl_805260DE = .sdata2:0x805260DE; // type:object size:0x1 data:byte -lbl_805260DF = .sdata2:0x805260DF; // type:object size:0x3 -lbl_805260E2 = .sdata2:0x805260E2; // type:object size:0x1 data:byte -lbl_805260E3 = .sdata2:0x805260E3; // type:object size:0x4 -lbl_805260E7 = .sdata2:0x805260E7; // type:object size:0x1 data:byte +j2dDefaultTevKColor = .sdata2:0x805260D6; // type:object size:0x4 data:byte +j2dDefaultTevSwapModeTable = .sdata2:0x805260DA; // type:object size:0x4 +j2dDefaultBlendInfo = .sdata2:0x805260DE; // type:object size:0x4 data:byte +j2dDefaultPEBlockDither = .sdata2:0x805260E2; // type:object size:0x1 data:byte +j2dDefaultColorChanInfo = .sdata2:0x805260E3; // type:object size:0x4 +j2dDefaultTevSwapTableID = .sdata2:0x805260E7; // type:object size:0x1 data:byte j2dDefaultAlphaCmp = .sdata2:0x805260E8; // type:object size:0x2 scope:global align:4 data:2byte @32882 = .sdata2:0x805260F0; // type:object size:0x4 scope:local align:4 data:float @32883 = .sdata2:0x805260F4; // type:object size:0x4 scope:local align:4 data:float @@ -32769,26 +32761,17 @@ lbl_805262FB = .sdata2:0x805262FB; // type:object size:0x1 data:byte @6472 = .sdata2:0x80526300; // type:object size:0x4 scope:local align:4 data:float @6473 = .sdata2:0x80526304; // type:object size:0x4 scope:local align:4 data:float @6476 = .sdata2:0x80526308; // type:object size:0x8 scope:local align:4 data:double -lbl_80526310 = .sdata2:0x80526310; // type:object size:0x1 data:byte -lbl_80526311 = .sdata2:0x80526311; // type:object size:0x1 data:byte -lbl_80526312 = .sdata2:0x80526312; // type:object size:0x1 data:byte -lbl_80526313 = .sdata2:0x80526313; // type:object size:0x1 data:byte -lbl_80526314 = .sdata2:0x80526314; // type:object size:0x1 data:byte -lbl_80526315 = .sdata2:0x80526315; // type:object size:0x1 data:byte -lbl_80526316 = .sdata2:0x80526316; // type:object size:0x1 data:byte -lbl_80526317 = .sdata2:0x80526317; // type:object size:0x1 data:byte -lbl_80526318 = .sdata2:0x80526318; // type:object size:0x1 data:byte -lbl_80526319 = .sdata2:0x80526319; // type:object size:0x4 data:4byte -lbl_8052631D = .sdata2:0x8052631D; // type:object size:0x5 +j3dDefaultColInfo = .sdata2:0x80526310; // type:object size:0x4 data:byte +j3dDefaultAmbInfo = .sdata2:0x80526314; // type:object size:0x4 data:byte +j3dDefaultNumChans = .sdata2:0x80526318; // type:object size:0x1 data:byte +j3dDefaultTevOrderInfoNull = .sdata2:0x80526319; // type:object size:0x4 data:4byte +j3dDefaultIndTexOrderNull = .sdata2:0x8052631D; // type:object size:0x4 j3dDefaultTevColor = .sdata2:0x80526322; // type:object size:0x8 scope:global align:2 data:2byte -lbl_8052632A = .sdata2:0x8052632A; // type:object size:0x1 data:byte -lbl_8052632B = .sdata2:0x8052632B; // type:object size:0x1 data:byte -lbl_8052632C = .sdata2:0x8052632C; // type:object size:0x1 data:byte -lbl_8052632D = .sdata2:0x8052632D; // type:object size:0x1 data:byte -lbl_8052632E = .sdata2:0x8052632E; // type:object size:0x4 -lbl_80526332 = .sdata2:0x80526332; // type:object size:0x4 data:4byte -lbl_80526336 = .sdata2:0x80526336; // type:object size:0x8 data:byte -lbl_8052633E = .sdata2:0x8052633E; // type:object size:0x1 data:byte +j3dDefaultTevKColor = .sdata2:0x8052632A; // type:object size:0x4 data:byte +j3dDefaultTevSwapModeTable = .sdata2:0x8052632E; // type:object size:0x4 +j3dDefaultBlendInfo = .sdata2:0x80526332; // type:object size:0x4 data:4byte +j3dDefaultColorChanInfo = .sdata2:0x80526336; // type:object size:0x8 data:byte +j3dDefaultTevSwapTableID = .sdata2:0x8052633E; // type:object size:0x1 data:byte j3dDefaultAlphaCmpID = .sdata2:0x80526340; // type:object size:0x2 scope:global align:4 data:2byte j3dDefaultZModeID = .sdata2:0x80526342; // type:object size:0x2 scope:global align:2 data:2byte @12625 = .sdata2:0x80526348; // type:object size:0x4 scope:local align:4 data:float @@ -33151,9 +33134,9 @@ BT_BD_ANY = .sdata2:0x80526720; // type:object size:0x6 scope:global align:4 waterColor$166784 = .sbss2:0x80526C40; // type:object size:0x8 scope:global align:4 lbl_80526C48 = .sbss2:0x80526C48; // type:object size:0x8 DefaultBlackColor = .sbss2:0x80526C50; // type:object size:0x8 scope:global align:4 data:2byte -lbl_80526C58 = .sbss2:0x80526C58; // type:object size:0x1 data:byte -lbl_80526C5A = .sbss2:0x80526C5A; // type:object size:0x6 data:byte +j2dDefaultIndTexCoordScaleInfo = .sbss2:0x80526C58; // type:object size:0x1 data:byte +j2dDefaultTevSwapMode = .sbss2:0x80526C5A; // type:object size:0x6 data:byte lbl_80526C60 = .sbss2:0x80526C60; // type:object size:0x4 data:4byte -lbl_80526C64 = .sbss2:0x80526C64; // type:object size:0x1 data:byte +j3dDefaultTevSwapMode = .sbss2:0x80526C64; // type:object size:0x1 data:byte bta_dm_pm_cfg = .sbss2:0x80526C68; // type:object size:0x3 scope:global align:4 bd_addr_null = .sbss2:0x80526C70; // type:object size:0x6 scope:global align:4 diff --git a/config/RZDJ01/symbols.txt b/config/RZDJ01/symbols.txt index 05b549805c..20ca53baba 100644 --- a/config/RZDJ01/symbols.txt +++ b/config/RZDJ01/symbols.txt @@ -19294,11 +19294,11 @@ scGroupAnmTable__10homebutton = .rodata:0x803D87E8; // type:object size:0x250 sc saoAboutEncoding___10JUTResFont = .rodata:0x803D8A38; // type:object size:0xC scope:global align:4 halftofull$10786 = .rodata:0x803D8A44; // type:object size:0xBE scope:local align:4 lbl_803D8B20 = .rodata:0x803D8B20; // type:object size:0x4160 -lbl_803DCC80 = .rodata:0x803DCC80; // type:object size:0x20 data:byte +j2dDefaultTexCoordInfo = .rodata:0x803DCC80; // type:object size:0x20 data:byte j2dDefaultTexMtxInfo = .rodata:0x803DCCA0; // type:object size:0x24 scope:global align:4 data:byte j2dDefaultIndTexMtxInfo = .rodata:0x803DCCC4; // type:object size:0x1C scope:global align:4 -lbl_803DCCE0 = .rodata:0x803DCCE0; // type:object size:0x14 -lbl_803DCCF4 = .rodata:0x803DCCF4; // type:object size:0xC data:byte +j2dDefaultTevStageInfo = .rodata:0x803DCCE0; // type:object size:0x14 +j2dDefaultIndTevStageInfo = .rodata:0x803DCCF4; // type:object size:0xC data:byte @31398 = .rodata:0x803DCD00; // type:object size:0x10 scope:local align:4 data:4byte ...rodata.0 = .rodata:0x803DCD10; // type:label scope:local align:4 data:byte ...rodata.0 = .rodata:0x803DCD60; // type:label scope:local align:4 data:byte @@ -19312,11 +19312,11 @@ j3dDefaultMtx = .rodata:0x803DCE64; // type:object size:0x30 scope:global align: PSMulUnit01 = .rodata:0x803DCE94; // type:object size:0x8 scope:global align:4 @8009 = .rodata:0x803DCEA0; // type:object size:0x10 scope:local align:4 data:4byte j3dDefaultLightInfo = .rodata:0x803DCEB0; // type:object size:0x34 scope:global align:4 -lbl_803DCEE4 = .rodata:0x803DCEE4; // type:object size:0x20 data:4byte +j3dDefaultTexCoordInfo = .rodata:0x803DCEE4; // type:object size:0x20 data:4byte j3dDefaultTexMtxInfo = .rodata:0x803DCF04; // type:object size:0x64 scope:global align:4 j3dDefaultIndTexMtxInfo = .rodata:0x803DCF68; // type:object size:0x1C scope:global align:4 -lbl_803DCF84 = .rodata:0x803DCF84; // type:object size:0x14 -lbl_803DCF98 = .rodata:0x803DCF98; // type:object size:0xC data:byte +j3dDefaultTevStageInfo = .rodata:0x803DCF84; // type:object size:0x14 +j3dDefaultIndTevStageInfo = .rodata:0x803DCF98; // type:object size:0xC data:byte j3dDefaultFogInfo = .rodata:0x803DCFA4; // type:object size:0x2C scope:global align:4 j3dDefaultNBTScaleInfo = .rodata:0x803DCFD0; // type:object size:0x10 scope:global align:4 data:byte lbl_803DCFE0 = .rodata:0x803DCFE0; // type:object size:0x10 data:byte @@ -25385,10 +25385,10 @@ NullTexData = .bss:0x804A76A0; // type:object size:0x10 scope:global align:4 sTexCoordScaleTable__6J3DSys = .bss:0x804A76B0; // type:object size:0x40 scope:global align:4 sGDLObj__17J3DDisplayListObj = .bss:0x804A76F0; // type:object size:0x10 scope:global align:4 data:4byte sMtxLoadCache__11J3DShapeMtx = .bss:0x804A7700; // type:object size:0x14 scope:global align:4 data:2byte -lbl_804A7718 = .bss:0x804A7718; // type:object size:0x1DC7 -lbl_804A94DF = .bss:0x804A94DF; // type:object size:0x400 data:byte -lbl_804A98DF = .bss:0x804A98DF; // type:object size:0x300 -lbl_804A9BDF = .bss:0x804A9BDF; // type:object size:0x61 +j3dTexCoordTable = .bss:0x804A7718; // type:object size:0x1DC7 +j3dTevSwapTableTable = .bss:0x804A94DF; // type:object size:0x400 data:byte +j3dAlphaCmpTable = .bss:0x804A98DF; // type:object size:0x300 +j3dZModeTable = .bss:0x804A9BDF; // type:object size:0x61 sNoUseDrawMtx__12J3DMtxBuffer = .bss:0x804A9C40; // type:object size:0x30 scope:global align:4 sNoUseNrmMtx__12J3DMtxBuffer = .bss:0x804A9C70; // type:object size:0x24 scope:global align:4 sWorkArea_WEvlpMixMtx__13J3DSkinDeform = .bss:0x804A9C98; // type:object size:0x1000 scope:global align:4 @@ -32672,24 +32672,16 @@ lbl_80523B0B = .sdata2:0x80523B0B; // type:object size:0x9 @33967 = .sdata2:0x80523F10; // type:object size:0x4 scope:local align:4 data:float @33968 = .sdata2:0x80523F14; // type:object size:0x4 scope:local align:4 data:float @33989 = .sdata2:0x80523F18; // type:object size:0x4 scope:local align:4 data:float -lbl_80523F1C = .sdata2:0x80523F1C; // type:object size:0x1 data:byte -lbl_80523F1D = .sdata2:0x80523F1D; // type:object size:0x1 data:byte -lbl_80523F1E = .sdata2:0x80523F1E; // type:object size:0x1 data:byte -lbl_80523F1F = .sdata2:0x80523F1F; // type:object size:0x1 data:byte -lbl_80523F20 = .sdata2:0x80523F20; // type:object size:0x4 -lbl_80523F24 = .sdata2:0x80523F24; // type:object size:0x1 data:byte -lbl_80523F25 = .sdata2:0x80523F25; // type:object size:0x1 +j2dDefaultColInfo = .sdata2:0x80523F1C; // type:object size:0x4 data:byte +j2dDefaultTevOrderInfoNull = .sdata2:0x80523F20; // type:object size:0x4 +j2dDefaultIndTexOrderNull = .sdata2:0x80523F24; // type:object size:0x2 data:byte j2dDefaultTevColor = .sdata2:0x80523F26; // type:object size:0x8 scope:global align:2 -lbl_80523F2E = .sdata2:0x80523F2E; // type:object size:0x1 data:byte -lbl_80523F2F = .sdata2:0x80523F2F; // type:object size:0x1 data:byte -lbl_80523F30 = .sdata2:0x80523F30; // type:object size:0x1 data:byte -lbl_80523F31 = .sdata2:0x80523F31; // type:object size:0x1 data:byte -lbl_80523F32 = .sdata2:0x80523F32; // type:object size:0x4 -lbl_80523F36 = .sdata2:0x80523F36; // type:object size:0x1 data:byte -lbl_80523F37 = .sdata2:0x80523F37; // type:object size:0x3 -lbl_80523F3A = .sdata2:0x80523F3A; // type:object size:0x1 data:byte -lbl_80523F3B = .sdata2:0x80523F3B; // type:object size:0x4 -lbl_80523F3F = .sdata2:0x80523F3F; // type:object size:0x1 data:byte +j2dDefaultTevKColor = .sdata2:0x80523F2E; // type:object size:0x4 data:byte +j2dDefaultTevSwapModeTable = .sdata2:0x80523F32; // type:object size:0x4 +j2dDefaultBlendInfo = .sdata2:0x80523F36; // type:object size:0x4 data:byte +j2dDefaultPEBlockDither = .sdata2:0x80523F3A; // type:object size:0x1 data:byte +j2dDefaultColorChanInfo = .sdata2:0x80523F3B; // type:object size:0x4 +j2dDefaultTevSwapTableID = .sdata2:0x80523F3F; // type:object size:0x1 data:byte j2dDefaultAlphaCmp = .sdata2:0x80523F40; // type:object size:0x2 scope:global align:4 data:2byte @32882 = .sdata2:0x80523F48; // type:object size:0x4 scope:local align:4 data:float @32883 = .sdata2:0x80523F4C; // type:object size:0x4 scope:local align:4 data:float @@ -32792,26 +32784,17 @@ lbl_80524153 = .sdata2:0x80524153; // type:object size:0x1 data:byte @6472 = .sdata2:0x80524158; // type:object size:0x4 scope:local align:4 data:float @6473 = .sdata2:0x8052415C; // type:object size:0x4 scope:local align:4 data:float @6476 = .sdata2:0x80524160; // type:object size:0x8 scope:local align:4 data:double -lbl_80524168 = .sdata2:0x80524168; // type:object size:0x1 data:byte -lbl_80524169 = .sdata2:0x80524169; // type:object size:0x1 data:byte -lbl_8052416A = .sdata2:0x8052416A; // type:object size:0x1 data:byte -lbl_8052416B = .sdata2:0x8052416B; // type:object size:0x1 data:byte -lbl_8052416C = .sdata2:0x8052416C; // type:object size:0x1 data:byte -lbl_8052416D = .sdata2:0x8052416D; // type:object size:0x1 data:byte -lbl_8052416E = .sdata2:0x8052416E; // type:object size:0x1 data:byte -lbl_8052416F = .sdata2:0x8052416F; // type:object size:0x1 data:byte -lbl_80524170 = .sdata2:0x80524170; // type:object size:0x1 data:byte -lbl_80524171 = .sdata2:0x80524171; // type:object size:0x4 data:4byte -lbl_80524175 = .sdata2:0x80524175; // type:object size:0x5 +j3dDefaultColInfo = .sdata2:0x80524168; // type:object size:0x4 data:byte +j3dDefaultAmbInfo = .sdata2:0x8052416C; // type:object size:0x4 data:byte +j3dDefaultNumChans = .sdata2:0x80524170; // type:object size:0x1 data:byte +j3dDefaultTevOrderInfoNull = .sdata2:0x80524171; // type:object size:0x4 data:4byte +j3dDefaultIndTexOrderNull = .sdata2:0x80524175; // type:object size:0x4 j3dDefaultTevColor = .sdata2:0x8052417A; // type:object size:0x8 scope:global align:2 data:2byte -lbl_80524182 = .sdata2:0x80524182; // type:object size:0x1 data:byte -lbl_80524183 = .sdata2:0x80524183; // type:object size:0x1 data:byte -lbl_80524184 = .sdata2:0x80524184; // type:object size:0x1 data:byte -lbl_80524185 = .sdata2:0x80524185; // type:object size:0x1 data:byte -lbl_80524186 = .sdata2:0x80524186; // type:object size:0x4 -lbl_8052418A = .sdata2:0x8052418A; // type:object size:0x4 data:4byte -lbl_8052418E = .sdata2:0x8052418E; // type:object size:0x8 data:byte -lbl_80524196 = .sdata2:0x80524196; // type:object size:0x1 data:byte +j3dDefaultTevKColor = .sdata2:0x80524182; // type:object size:0x4 data:byte +j3dDefaultTevSwapModeTable = .sdata2:0x80524186; // type:object size:0x4 +j3dDefaultBlendInfo = .sdata2:0x8052418A; // type:object size:0x4 data:4byte +j3dDefaultColorChanInfo = .sdata2:0x8052418E; // type:object size:0x8 data:byte +j3dDefaultTevSwapTableID = .sdata2:0x80524196; // type:object size:0x1 data:byte j3dDefaultAlphaCmpID = .sdata2:0x80524198; // type:object size:0x2 scope:global align:4 data:2byte j3dDefaultZModeID = .sdata2:0x8052419A; // type:object size:0x2 scope:global align:2 data:2byte @12625 = .sdata2:0x805241A0; // type:object size:0x4 scope:local align:4 data:float @@ -33174,9 +33157,9 @@ BT_BD_ANY = .sdata2:0x80524578; // type:object size:0x6 scope:global align:4 waterColor$166768 = .sbss2:0x80524A80; // type:object size:0x8 scope:local align:4 lbl_80524A88 = .sbss2:0x80524A88; // type:object size:0x8 DefaultBlackColor = .sbss2:0x80524A90; // type:object size:0x8 scope:global align:4 data:2byte -lbl_80524A98 = .sbss2:0x80524A98; // type:object size:0x1 data:byte -lbl_80524A9A = .sbss2:0x80524A9A; // type:object size:0x6 data:byte +j2dDefaultIndTexCoordScaleInfo = .sbss2:0x80524A98; // type:object size:0x1 data:byte +j2dDefaultTevSwapMode = .sbss2:0x80524A9A; // type:object size:0x6 data:byte lbl_80524AA0 = .sbss2:0x80524AA0; // type:object size:0x4 data:4byte -lbl_80524AA4 = .sbss2:0x80524AA4; // type:object size:0x1 data:byte +j3dDefaultTevSwapMode = .sbss2:0x80524AA4; // type:object size:0x1 data:byte bta_dm_pm_cfg = .sbss2:0x80524AA8; // type:object size:0x3 scope:global align:4 bd_addr_null = .sbss2:0x80524AB0; // type:object size:0x6 scope:global align:4 diff --git a/config/RZDP01/symbols.txt b/config/RZDP01/symbols.txt index 8dcc6c2860..8abf2d0d10 100644 --- a/config/RZDP01/symbols.txt +++ b/config/RZDP01/symbols.txt @@ -19286,11 +19286,11 @@ scGroupAnmTable__10homebutton = .rodata:0x803DB548; // type:object size:0x250 sc saoAboutEncoding___10JUTResFont = .rodata:0x803DB798; // type:object size:0xC scope:global align:4 halftofull$10786 = .rodata:0x803DB7A4; // type:object size:0xBE scope:local align:4 lbl_803DB880 = .rodata:0x803DB880; // type:object size:0x4160 -lbl_803DF9E0 = .rodata:0x803DF9E0; // type:object size:0x20 data:byte +j2dDefaultTexCoordInfo = .rodata:0x803DF9E0; // type:object size:0x20 data:byte j2dDefaultTexMtxInfo = .rodata:0x803DFA00; // type:object size:0x24 scope:global align:4 data:byte j2dDefaultIndTexMtxInfo = .rodata:0x803DFA24; // type:object size:0x1C scope:global align:4 -lbl_803DFA40 = .rodata:0x803DFA40; // type:object size:0x14 -lbl_803DFA54 = .rodata:0x803DFA54; // type:object size:0xC data:byte +j2dDefaultTevStageInfo = .rodata:0x803DFA40; // type:object size:0x14 +j2dDefaultIndTevStageInfo = .rodata:0x803DFA54; // type:object size:0xC data:byte @31398 = .rodata:0x803DFA60; // type:object size:0x10 scope:local align:4 data:4byte ...rodata.0 = .rodata:0x803DFA70; // type:label scope:local align:4 data:byte ...rodata.0 = .rodata:0x803DFAC0; // type:label scope:local align:4 data:byte @@ -19304,11 +19304,11 @@ j3dDefaultMtx = .rodata:0x803DFBC4; // type:object size:0x30 scope:global align: PSMulUnit01 = .rodata:0x803DFBF4; // type:object size:0x8 scope:global align:4 @8009 = .rodata:0x803DFC00; // type:object size:0x10 scope:local align:4 data:4byte j3dDefaultLightInfo = .rodata:0x803DFC10; // type:object size:0x34 scope:global align:4 -lbl_803DFC44 = .rodata:0x803DFC44; // type:object size:0x20 data:4byte +j3dDefaultTexCoordInfo = .rodata:0x803DFC44; // type:object size:0x20 data:4byte j3dDefaultTexMtxInfo = .rodata:0x803DFC64; // type:object size:0x64 scope:global align:4 j3dDefaultIndTexMtxInfo = .rodata:0x803DFCC8; // type:object size:0x1C scope:global align:4 -lbl_803DFCE4 = .rodata:0x803DFCE4; // type:object size:0x14 -lbl_803DFCF8 = .rodata:0x803DFCF8; // type:object size:0xC data:byte +j3dDefaultTevStageInfo = .rodata:0x803DFCE4; // type:object size:0x14 +j3dDefaultIndTevStageInfo = .rodata:0x803DFCF8; // type:object size:0xC data:byte j3dDefaultFogInfo = .rodata:0x803DFD04; // type:object size:0x2C scope:global align:4 j3dDefaultNBTScaleInfo = .rodata:0x803DFD30; // type:object size:0x10 scope:global align:4 data:byte lbl_803DFD40 = .rodata:0x803DFD40; // type:object size:0x10 data:byte @@ -25379,10 +25379,10 @@ NullTexData = .bss:0x804AA140; // type:object size:0x10 scope:global align:4 sTexCoordScaleTable__6J3DSys = .bss:0x804AA150; // type:object size:0x40 scope:global align:4 sGDLObj__17J3DDisplayListObj = .bss:0x804AA190; // type:object size:0x10 scope:global align:4 data:4byte sMtxLoadCache__11J3DShapeMtx = .bss:0x804AA1A0; // type:object size:0x14 scope:global align:4 data:2byte -lbl_804AA1B8 = .bss:0x804AA1B8; // type:object size:0x1DC7 -lbl_804ABF7F = .bss:0x804ABF7F; // type:object size:0x400 data:byte -lbl_804AC37F = .bss:0x804AC37F; // type:object size:0x300 -lbl_804AC67F = .bss:0x804AC67F; // type:object size:0x61 +j3dTexCoordTable = .bss:0x804AA1B8; // type:object size:0x1DC7 +j3dTevSwapTableTable = .bss:0x804ABF7F; // type:object size:0x400 data:byte +j3dAlphaCmpTable = .bss:0x804AC37F; // type:object size:0x300 +j3dZModeTable = .bss:0x804AC67F; // type:object size:0x61 sNoUseDrawMtx__12J3DMtxBuffer = .bss:0x804AC6E0; // type:object size:0x30 scope:global align:4 sNoUseNrmMtx__12J3DMtxBuffer = .bss:0x804AC710; // type:object size:0x24 scope:global align:4 sWorkArea_WEvlpMixMtx__13J3DSkinDeform = .bss:0x804AC738; // type:object size:0x1000 scope:global align:4 @@ -32571,24 +32571,16 @@ lbl_80526483 = .sdata2:0x80526483; // type:object size:0x9 @33967 = .sdata2:0x80526888; // type:object size:0x4 scope:local align:4 data:float @33968 = .sdata2:0x8052688C; // type:object size:0x4 scope:local align:4 data:float @33989 = .sdata2:0x80526890; // type:object size:0x4 scope:local align:4 data:float -lbl_80526894 = .sdata2:0x80526894; // type:object size:0x1 data:byte -lbl_80526895 = .sdata2:0x80526895; // type:object size:0x1 data:byte -lbl_80526896 = .sdata2:0x80526896; // type:object size:0x1 data:byte -lbl_80526897 = .sdata2:0x80526897; // type:object size:0x1 data:byte -lbl_80526898 = .sdata2:0x80526898; // type:object size:0x4 -lbl_8052689C = .sdata2:0x8052689C; // type:object size:0x1 data:byte -lbl_8052689D = .sdata2:0x8052689D; // type:object size:0x1 +j2dDefaultColInfo = .sdata2:0x80526894; // type:object size:0x4 data:byte +j2dDefaultTevOrderInfoNull = .sdata2:0x80526898; // type:object size:0x4 +j2dDefaultIndTexOrderNull = .sdata2:0x8052689C; // type:object size:0x2 data:byte j2dDefaultTevColor = .sdata2:0x8052689E; // type:object size:0x8 scope:global align:2 -lbl_805268A6 = .sdata2:0x805268A6; // type:object size:0x1 data:byte -lbl_805268A7 = .sdata2:0x805268A7; // type:object size:0x1 data:byte -lbl_805268A8 = .sdata2:0x805268A8; // type:object size:0x1 data:byte -lbl_805268A9 = .sdata2:0x805268A9; // type:object size:0x1 data:byte -lbl_805268AA = .sdata2:0x805268AA; // type:object size:0x4 -lbl_805268AE = .sdata2:0x805268AE; // type:object size:0x1 data:byte -lbl_805268AF = .sdata2:0x805268AF; // type:object size:0x3 -lbl_805268B2 = .sdata2:0x805268B2; // type:object size:0x1 data:byte -lbl_805268B3 = .sdata2:0x805268B3; // type:object size:0x4 -lbl_805268B7 = .sdata2:0x805268B7; // type:object size:0x1 data:byte +j2dDefaultTevKColor = .sdata2:0x805268A6; // type:object size:0x4 data:byte +j2dDefaultTevSwapModeTable = .sdata2:0x805268AA; // type:object size:0x4 +j2dDefaultBlendInfo = .sdata2:0x805268AE; // type:object size:0x4 data:byte +j2dDefaultPEBlockDither = .sdata2:0x805268B2; // type:object size:0x1 data:byte +j2dDefaultColorChanInfo = .sdata2:0x805268B3; // type:object size:0x4 +j2dDefaultTevSwapTableID = .sdata2:0x805268B7; // type:object size:0x1 data:byte j2dDefaultAlphaCmp = .sdata2:0x805268B8; // type:object size:0x2 scope:global align:4 data:2byte @32882 = .sdata2:0x805268C0; // type:object size:0x4 scope:local align:4 data:float @32883 = .sdata2:0x805268C4; // type:object size:0x4 scope:local align:4 data:float @@ -32691,26 +32683,17 @@ lbl_80526ACB = .sdata2:0x80526ACB; // type:object size:0x1 data:byte @6472 = .sdata2:0x80526AD0; // type:object size:0x4 scope:local align:4 data:float @6473 = .sdata2:0x80526AD4; // type:object size:0x4 scope:local align:4 data:float @6476 = .sdata2:0x80526AD8; // type:object size:0x8 scope:local align:4 data:double -lbl_80526AE0 = .sdata2:0x80526AE0; // type:object size:0x1 data:byte -lbl_80526AE1 = .sdata2:0x80526AE1; // type:object size:0x1 data:byte -lbl_80526AE2 = .sdata2:0x80526AE2; // type:object size:0x1 data:byte -lbl_80526AE3 = .sdata2:0x80526AE3; // type:object size:0x1 data:byte -lbl_80526AE4 = .sdata2:0x80526AE4; // type:object size:0x1 data:byte -lbl_80526AE5 = .sdata2:0x80526AE5; // type:object size:0x1 data:byte -lbl_80526AE6 = .sdata2:0x80526AE6; // type:object size:0x1 data:byte -lbl_80526AE7 = .sdata2:0x80526AE7; // type:object size:0x1 data:byte -lbl_80526AE8 = .sdata2:0x80526AE8; // type:object size:0x1 data:byte -lbl_80526AE9 = .sdata2:0x80526AE9; // type:object size:0x4 data:4byte -lbl_80526AED = .sdata2:0x80526AED; // type:object size:0x5 +j3dDefaultColInfo = .sdata2:0x80526AE0; // type:object size:0x4 data:byte +j3dDefaultAmbInfo = .sdata2:0x80526AE4; // type:object size:0x4 data:byte +j3dDefaultNumChans = .sdata2:0x80526AE8; // type:object size:0x1 data:byte +j3dDefaultTevOrderInfoNull = .sdata2:0x80526AE9; // type:object size:0x4 data:4byte +j3dDefaultIndTexOrderNull = .sdata2:0x80526AED; // type:object size:0x4 j3dDefaultTevColor = .sdata2:0x80526AF2; // type:object size:0x8 scope:global align:2 data:2byte -lbl_80526AFA = .sdata2:0x80526AFA; // type:object size:0x1 data:byte -lbl_80526AFB = .sdata2:0x80526AFB; // type:object size:0x1 data:byte -lbl_80526AFC = .sdata2:0x80526AFC; // type:object size:0x1 data:byte -lbl_80526AFD = .sdata2:0x80526AFD; // type:object size:0x1 data:byte -lbl_80526AFE = .sdata2:0x80526AFE; // type:object size:0x4 -lbl_80526B02 = .sdata2:0x80526B02; // type:object size:0x4 data:4byte -lbl_80526B06 = .sdata2:0x80526B06; // type:object size:0x8 data:byte -lbl_80526B0E = .sdata2:0x80526B0E; // type:object size:0x1 data:byte +j3dDefaultTevKColor = .sdata2:0x80526AFA; // type:object size:0x4 data:byte +j3dDefaultTevSwapModeTable = .sdata2:0x80526AFE; // type:object size:0x4 +j3dDefaultBlendInfo = .sdata2:0x80526B02; // type:object size:0x4 data:4byte +j3dDefaultColorChanInfo = .sdata2:0x80526B06; // type:object size:0x8 data:byte +j3dDefaultTevSwapTableID = .sdata2:0x80526B0E; // type:object size:0x1 data:byte j3dDefaultAlphaCmpID = .sdata2:0x80526B10; // type:object size:0x2 scope:global align:4 data:2byte j3dDefaultZModeID = .sdata2:0x80526B12; // type:object size:0x2 scope:global align:2 data:2byte @12625 = .sdata2:0x80526B18; // type:object size:0x4 scope:local align:4 data:float @@ -33073,9 +33056,9 @@ BT_BD_ANY = .sdata2:0x80526EF0; // type:object size:0x6 scope:global align:4 waterColor$166762 = .sbss2:0x80527400; // type:object size:0x8 scope:local align:4 lbl_80527408 = .sbss2:0x80527408; // type:object size:0x8 DefaultBlackColor = .sbss2:0x80527410; // type:object size:0x8 scope:global align:4 data:2byte -lbl_80527418 = .sbss2:0x80527418; // type:object size:0x1 data:byte -lbl_8052741A = .sbss2:0x8052741A; // type:object size:0x6 data:byte +j2dDefaultIndTexCoordScaleInfo = .sbss2:0x80527418; // type:object size:0x1 data:byte +j2dDefaultTevSwapMode = .sbss2:0x8052741A; // type:object size:0x6 data:byte lbl_80527420 = .sbss2:0x80527420; // type:object size:0x4 data:4byte -lbl_80527424 = .sbss2:0x80527424; // type:object size:0x1 data:byte +j3dDefaultTevSwapMode = .sbss2:0x80527424; // type:object size:0x1 data:byte bta_dm_pm_cfg = .sbss2:0x80527428; // type:object size:0x3 scope:global align:4 bd_addr_null = .sbss2:0x80527430; // type:object size:0x6 scope:global align:4 diff --git a/config/Shield/symbols.txt b/config/Shield/symbols.txt index 1e81cf94ca..b729d31c65 100644 --- a/config/Shield/symbols.txt +++ b/config/Shield/symbols.txt @@ -30188,7 +30188,7 @@ j2dDefaultAlphaCmp = .sdata2:0x8050E2DE; // type:object size:0x2 scope:global da @6424 = .sdata2:0x8050E500; // type:object size:0x8 scope:local align:8 data:double hash:0x0C9EB4E1 j3dDefaultColInfo = .sdata2:0x8050E508; // type:object size:0x4 scope:global data:4byte hash:0x80FD297D j3dDefaultAmbInfo = .sdata2:0x8050E50C; // type:object size:0x4 scope:global data:4byte hash:0x387DE433 -lbl_8050E510 = .sdata2:0x8050E510; // type:object size:0x1 data:byte hash:0x97541C9C +j3dDefaultNumChans = .sdata2:0x8050E510; // type:object size:0x1 data:byte hash:0x97541C9C j3dDefaultTevOrderInfoNull = .sdata2:0x8050E514; // type:object size:0x4 scope:global data:4byte hash:0xF84C08AF j3dDefaultIndTexOrderNull = .sdata2:0x8050E518; // type:object size:0x4 scope:global data:4byte hash:0xBD68470C j3dDefaultTevColor = .sdata2:0x8050E520; // type:object size:0x8 scope:global data:4byte hash:0xD34E8CA9 @@ -30196,7 +30196,7 @@ j3dDefaultTevKColor = .sdata2:0x8050E528; // type:object size:0x4 scope:global d j3dDefaultTevSwapModeTable = .sdata2:0x8050E52C; // type:object size:0x4 scope:global data:byte hash:0xF6E8F8BC j3dDefaultBlendInfo = .sdata2:0x8050E530; // type:object size:0x4 scope:global data:4byte hash:0x618A55DC j3dDefaultColorChanInfo = .sdata2:0x8050E538; // type:object size:0x8 scope:global data:byte hash:0x81D83E24 -lbl_8050E540 = .sdata2:0x8050E540; // type:object size:0x1 data:byte hash:0x8A53A472 +j3dDefaultTevSwapTableID = .sdata2:0x8050E540; // type:object size:0x1 data:byte hash:0x8A53A472 j3dDefaultAlphaCmpID = .sdata2:0x8050E542; // type:object size:0x2 scope:global data:2byte hash:0xBB18ADF4 j3dDefaultZModeID = .sdata2:0x8050E544; // type:object size:0x2 scope:global data:2byte hash:0xE9DF07E7 @12840 = .sdata2:0x8050E548; // type:object size:0x4 scope:local align:4 data:float hash:0xA0635AFA diff --git a/config/ShieldD/splits.txt b/config/ShieldD/splits.txt index 8f5b9c35cb..3affc69457 100644 --- a/config/ShieldD/splits.txt +++ b/config/ShieldD/splits.txt @@ -503,7 +503,7 @@ d/d_demo.cpp: .text start:0x800799C0 end:0x8007EE80 .data start:0x80675EB0 end:0x80676A10 .sdata start:0x80740B68 end:0x80740C68 - .sbss start:0x8074C668 end:0x8074C6C8 + .sbss start:0x8074C668 end:0x8074C6C0 .sdata2 start:0x8074DC18 end:0x8074DC58 .bss start:0x807B2B78 end:0x807B2B98 @@ -515,6 +515,7 @@ d/d_resorce.cpp: .rodata start:0x806336B0 end:0x80633728 .data start:0x80676A10 end:0x806773B0 .sdata start:0x80740C68 end:0x80740CD8 + .sbss start:0x8074C6C0 end:0x8074C6C8 .sdata2 start:0x8074DC58 end:0x8074DC70 d/d_map_path.cpp: diff --git a/config/ShieldD/symbols.txt b/config/ShieldD/symbols.txt index 183a7dccd3..f8feb186b6 100644 --- a/config/ShieldD/symbols.txt +++ b/config/ShieldD/symbols.txt @@ -64404,10 +64404,10 @@ m_status__7dDemo_c = .sbss:0x8074C6A4; // type:object size:0x4 scope:global data m_branchType__7dDemo_c = .sbss:0x8074C6A8; // type:object size:0x2 scope:global data:2byte hash:0x6A40FDF7 dhash:0xDE7CAD60 m_branchData__7dDemo_c = .sbss:0x8074C6AC; // type:object size:0x4 scope:global data:4byte hash:0x7BC5957F dhash:0xDE8550E8 m_branchNum__7dDemo_c = .sbss:0x8074C6B0; // type:object size:0x2 scope:global data:2byte hash:0xEE98D659 dhash:0xB168B6EE -lbl_8074C6B2 = .sbss:0x8074C6B2; // type:object size:0x1 data:byte hash:0x5566C922 dhash:0xDB41B119 -lbl_8074C6B3 = .sbss:0x8074C6B3; // type:object size:0x1 data:byte hash:0x7EAE9387 dhash:0xDB41B119 +@GUARD@getDemoIDData__13dDemo_actor_cFPiPiPiPUsPUc@dummy = .sbss:0x8074C6B2; // type:object size:0x1 scope:local data:byte hash:0x5566C922 dhash:0xDB41B119 +@GUARD@getDemoIDData__13dDemo_actor_cFPiPiPiPUsPUc@it@0 = .sbss:0x8074C6B3; // type:object size:0x1 scope:local data:byte hash:0x7EAE9387 dhash:0xDB41B119 @LOCAL@getDemoIDData__13dDemo_actor_cFPiPiPiPUsPUc@it@0 = .sbss:0x8074C6B4; // type:object size:0x4 scope:local hash:0x7437A06F dhash:0xD35046F1 -lbl_8074C6B8 = .sbss:0x8074C6B8; // type:object size:0x8 data:byte hash:0xCB27AC4D dhash:0x3A9725EA +@GUARD@start__7dDemo_cFPCUcP4cXyzf@l_translation = .sbss:0x8074C6B8; // type:object size:0x1 scope:local data:byte hash:0xCB27AC4D dhash:0x3A9725EA lbl_8074C6C0 = .sbss:0x8074C6C0; // type:object size:0x1 data:byte hash:0x04D34995 mMySelfPointer__14dMapInfo_HIO_c = .sbss:0x8074C6C8; // type:object size:0x4 scope:global data:4byte hash:0x42174B45 dhash:0x5B0F4B00 mNowStayFloorNo__10dMapInfo_c = .sbss:0x8074C6CC; // type:object size:0x1 data:byte hash:0xBAF1AF73 dhash:0x8E0D0072 diff --git a/include/JSystem/J3DGraphAnimator/J3DAnimation.h b/include/JSystem/J3DGraphAnimator/J3DAnimation.h index f38c79ef9a..596e5a36e7 100644 --- a/include/JSystem/J3DGraphAnimator/J3DAnimation.h +++ b/include/JSystem/J3DGraphAnimator/J3DAnimation.h @@ -536,7 +536,7 @@ public: virtual ~J3DAnmTransformKey() {} virtual s32 getKind() const { return 8; } virtual void getTransform(u16 jointNo, J3DTransformInfo* pTransform) const { - calcTransform(mFrame, jointNo, pTransform); + calcTransform(getFrame(), jointNo, pTransform); } /* 0x20 */ int mDecShift; diff --git a/include/JSystem/J3DGraphBase/J3DMaterial.h b/include/JSystem/J3DGraphBase/J3DMaterial.h index 92ca58ef6b..8103a83087 100644 --- a/include/JSystem/J3DGraphBase/J3DMaterial.h +++ b/include/JSystem/J3DGraphBase/J3DMaterial.h @@ -75,7 +75,7 @@ public: J3DTexCoord* getTexCoord(u32 idx) { return mTexGenBlock->getTexCoord(idx); } J3DZMode* getZMode() { return mPEBlock->getZMode(); } J3DBlend* getBlend() { return mPEBlock->getBlend(); } - J3DColorChan* getColorChan(u32 idx) { return getColorBlock()->getColorChan(idx); } + J3DColorChan* getColorChan(u32 idx) { return mColorBlock->getColorChan(idx); } J3DGXColor* getMatColor(u32 i) { return mColorBlock->getMatColor(i); } void setTevColor(u32 i, const J3DGXColorS10* i_color) { mTevBlock->setTevColor(i, i_color); } diff --git a/include/JSystem/J3DGraphBase/J3DShape.h b/include/JSystem/J3DGraphBase/J3DShape.h index 151f4235ab..ed26d73694 100644 --- a/include/JSystem/J3DGraphBase/J3DShape.h +++ b/include/JSystem/J3DGraphBase/J3DShape.h @@ -180,7 +180,7 @@ public: void setDrawMtx(Mtx** pDrawMtx) { mDrawMtx = pDrawMtx; } void setNrmMtx(Mtx33** pNrmMtx) { mNrmMtx = pNrmMtx; } - void setTexMtxLoadType(u32 type) { mFlags = (mFlags & 0xFFFF0FFF) | type; } + void setTexMtxLoadType(u32 type) { mFlags = type | (mFlags & ~0xF000); } bool getNBTFlag() const { return mHasNBT; } u32 getBumpMtxOffset() const { return mBumpMtxOffset; } void setBumpMtxOffset(u32 offset) { mBumpMtxOffset = offset; } diff --git a/include/JSystem/J3DGraphBase/J3DTevs.h b/include/JSystem/J3DGraphBase/J3DTevs.h index a13b54e4a4..3d70245220 100644 --- a/include/JSystem/J3DGraphBase/J3DTevs.h +++ b/include/JSystem/J3DGraphBase/J3DTevs.h @@ -201,10 +201,12 @@ struct J3DTevOrder : public J3DTevOrderInfo { J3DTevOrder() { J3DTevOrderInfo::operator=(j3dDefaultTevOrderInfoNull); } - J3DTevOrder(const J3DTevOrderInfo& info) : J3DTevOrderInfo(info) {} + J3DTevOrder(const J3DTevOrderInfo& info) { + J3DTevOrderInfo::operator=(info); + } J3DTevOrderInfo& getTevOrderInfo() { return *this; } - u8 getTexMap() { return mTexMap; } + u8 getTexMap() const { return mTexMap; } }; extern u8 j3dTevSwapTableTable[1024]; diff --git a/include/JSystem/J3DGraphBase/J3DTexture.h b/include/JSystem/J3DGraphBase/J3DTexture.h index 8c95729d66..da8276e767 100644 --- a/include/JSystem/J3DGraphBase/J3DTexture.h +++ b/include/JSystem/J3DGraphBase/J3DTexture.h @@ -90,7 +90,7 @@ struct J3DTexCoord : public J3DTexCoordInfo { mTexMtxReg = mTexGenMtx; } void setTexCoordInfo(const J3DTexCoordInfo& info) { - __memcpy(this, &info, sizeof(J3DTexCoordInfo)); + J3DTexCoordInfo::operator=(info); } u8 getTexGenType() const { return mTexGenType; } diff --git a/include/JSystem/J3DGraphLoader/J3DModelLoader.h b/include/JSystem/J3DGraphLoader/J3DModelLoader.h index 5fff37ecad..a06260f3dc 100644 --- a/include/JSystem/J3DGraphLoader/J3DModelLoader.h +++ b/include/JSystem/J3DGraphLoader/J3DModelLoader.h @@ -26,7 +26,8 @@ struct J3DModelFileData { /* 0x04 */ u32 mMagic2; /* 0x08 */ u8 field_0x08[4]; /* 0x0C */ u32 mBlockNum; - /* 0x10 */ u8 field_0x10[0x10]; + /* 0x10 */ u8 field_0x10[0x1C - 0x10]; + /* 0x1C */ int field_0x1c; /* 0x20 */ J3DModelBlock mBlocks[1]; }; diff --git a/include/JSystem/JKernel/JKRArchive.h b/include/JSystem/JKernel/JKRArchive.h index cf4b3ef045..7402f50b13 100644 --- a/include/JSystem/JKernel/JKRArchive.h +++ b/include/JSystem/JKernel/JKRArchive.h @@ -137,7 +137,7 @@ public: u32 readIdxResource(void*, u32, u32); u32 readResource(void*, u32, u16); u32 countResource(void) const; - u32 getFileAttribute(u32) const; + u8 getFileAttribute(u32) const; SDIFileEntry* findNameResource(const char*) const; bool isSameName(CArcName&, u32, u16) const; @@ -171,7 +171,7 @@ public: u32 countFile() const { return mArcInfoBlock->num_file_entries; } s32 countDirectory() const { return mArcInfoBlock->num_nodes; } u8 getMountMode() const { return mMountMode; } - bool isFileEntry(u32 param_0) { + bool isFileEntry(u32 param_0) const { return getFileAttribute(param_0) & 1; } diff --git a/include/JSystem/JKernel/JKRHeap.h b/include/JSystem/JKernel/JKRHeap.h index c23b72180f..b6675f41b7 100644 --- a/include/JSystem/JKernel/JKRHeap.h +++ b/include/JSystem/JKernel/JKRHeap.h @@ -259,6 +259,10 @@ inline s32 JKRResizeMemBlock(JKRHeap* heap, void* ptr, u32 size) { return JKRHeap::resize(ptr, size, heap); } +inline JKRHeap* JKRFindHeap(void* ptr) { + return JKRHeap::findFromRoot(ptr); +} + inline JKRHeap* JKRGetRootHeap() { return JKRHeap::getRootHeap(); } diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index 91cd452131..25f48c5fd6 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -4285,7 +4285,8 @@ inline int dComIfG_setObjectRes(const char* i_arcName, u8 i_mountDirection, JKRH return g_dComIfG_gameInfo.mResControl.setObjectRes(i_arcName, i_mountDirection, i_heap); } -inline int dComIfG_setObjectRes(const char* i_arcName, void* i_archiveRes, u32 i_bufferSize) { +inline int dComIfG_setObjectRes(const char* i_arcName, void* i_archiveRes, u32 i_bufferSize, JKRHeap* i_heap) { + UNUSED(i_heap); return g_dComIfG_gameInfo.mResControl.setObjectRes(i_arcName, i_archiveRes, i_bufferSize, NULL); } diff --git a/include/d/d_particle.h b/include/d/d_particle.h index 893ac49ca0..fc52a637ea 100644 --- a/include/d/d_particle.h +++ b/include/d/d_particle.h @@ -425,6 +425,7 @@ public: JKRSolidHeap* getHeap() { return mHeap; } JKRExpHeap* getResHeap() { return m_resHeap; } JKRSolidHeap* getSceneHeap() { return mSceneHeap; } + void* getSceneRes() { return m_sceneRes; } void levelAllForceOnEventMove() { field_0x210.allForceOnEventMove(); } diff --git a/include/d/d_resorce.h b/include/d/d_resorce.h index 8666f369cd..000146822b 100644 --- a/include/d/d_resorce.h +++ b/include/d/d_resorce.h @@ -25,6 +25,8 @@ public: static J3DModelData* loaderBasicBmd(u32 i_tag, void* i_data); static void dump_long(dRes_info_c* i_resInfo, int i_infoNum); static void dump(dRes_info_c* i_resInfo, int i_infoNum); + static void dumpTag(dRes_info_c*, int, int, int); + static void dump(char*, dRes_info_c*, int); void* getRes(s32 i_index) { JUT_ASSERT(25, i_index >= 0 && i_index < getResNum()); @@ -37,10 +39,12 @@ public: char* getArchiveName() { return mArchiveName; } mDoDvdThd_mountArchive_c* getDMCommand() { return mDMCommand; } JKRArchive* getArchive() { return mArchive; } - void incCount() { mCount++; } - u16 decCount() { - return --mCount; - } + u32 incCount() { return ++mCount; } + u32 decCount() { return --mCount; } + +#if DEBUG + int getSize() { return mSize; } +#endif #ifdef __MWERKS__ static const int NAME_MAX = 9; @@ -55,7 +59,7 @@ private: /* 0x1C */ JKRSolidHeap* mDataHeap; /* 0x20 */ void** mRes; #if DEBUG - /* 0x24 */ void* unk_0x24; + /* 0x24 */ int mSize; #endif }; // Size: 0x24 @@ -66,9 +70,13 @@ public: dRes_control_c() {} ~dRes_control_c(); + int getSize(const char*, dRes_info_c*, int); + int getStageAllSize(); + int getObjectAllSize(); int setObjectRes(char const* i_arcName, void* i_archiveRes, u32 i_bufferSize, JKRHeap* i_heap); int setStageRes(char const* i_arcName, JKRHeap* i_heap); void dump(); + void dumpTag(); void dump(char*); int getObjectResName2Index(char const* i_arcName, char const* i_resName); @@ -129,10 +137,6 @@ public: dRes_info_c* getStageResInfo(const char* i_arcName) { return getResInfo(i_arcName, mStageInfo, ARRAY_SIZEU(mStageInfo)); } - - void dumpTag() { - // TODO - } /* 0x0000 */ dRes_info_c mObjectInfo[128]; /* 0x1200 */ dRes_info_c mStageInfo[64]; diff --git a/include/d/dolzel_base.pch b/include/d/dolzel_base.pch index 87dcd80f6b..6da4ed7986 100644 --- a/include/d/dolzel_base.pch +++ b/include/d/dolzel_base.pch @@ -18,10 +18,10 @@ #include "JSystem/JKernel/JKRDisposer.h" // IWYU pragma: export #include "JSystem/JGadget/linklist.h" // IWYU pragma: export #include "JSystem/J3DGraphBase/J3DPacket.h" // IWYU pragma: export -#include "JSystem/J3DGraphAnimator/J3DShapeTable.h" // IWYU pragma: export #include "JSystem/J3DGraphAnimator/J3DAnimation.h" // IWYU pragma: export #include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" // IWYU pragma: export #include "JSystem/J3DGraphAnimator/J3DMaterialAttach.h" // IWYU pragma: export +#include "JSystem/J3DGraphAnimator/J3DShapeTable.h" // IWYU pragma: export #include "JSystem/J3DGraphAnimator/J3DJoint.h" // IWYU pragma: export #include "JSystem/JUtility/JUTGamePad.h" // IWYU pragma: export #include "JSystem/J3DGraphBase/J3DSys.h" // IWYU pragma: export diff --git a/src/JSystem/JKernel/JKRArchivePub.cpp b/src/JSystem/JKernel/JKRArchivePub.cpp index 1d7f2accba..3b25909f6a 100644 --- a/src/JSystem/JKernel/JKRArchivePub.cpp +++ b/src/JSystem/JKernel/JKRArchivePub.cpp @@ -337,10 +337,10 @@ JKRFileFinder* JKRArchive::getFirstFile(const char* path) const { return NULL; } -u32 JKRArchive::getFileAttribute(u32 index) const { +u8 JKRArchive::getFileAttribute(u32 index) const { SDIFileEntry* fileEntry = findIdxResource(index); if (fileEntry) { - return u8(fileEntry->type_flags_and_name_offset >> 24); + return fileEntry->type_flags_and_name_offset >> 24; } return 0; diff --git a/src/d/d_resorce.cpp b/src/d/d_resorce.cpp index f47814388a..f39c537ed6 100644 --- a/src/d/d_resorce.cpp +++ b/src/d/d_resorce.cpp @@ -7,11 +7,13 @@ #include "JSystem/J3DGraphLoader/J3DClusterLoader.h" #include "JSystem/J3DGraphLoader/J3DModelLoader.h" #include "JSystem/JKernel/JKRMemArchive.h" +#include "JSystem/JKernel/JKRExpHeap.h" #include "JSystem/JKernel/JKRSolidHeap.h" #include "JSystem/JUtility/JUTConsole.h" #include "JSystem/JUtility/JUTAssert.h" #include "d/d_bg_w_kcol.h" #include "d/d_com_inf_game.h" +#include "f_ap/f_ap_game.h" #include "f_op/f_op_camera_mng.h" #include "m_Do/m_Do_graphic.h" #include @@ -27,7 +29,7 @@ dRes_info_c::dRes_info_c() { dRes_info_c::~dRes_info_c() { if (mDMCommand != NULL) { - delete mDMCommand; + mDMCommand->destroy(); mDMCommand = NULL; } else if (mArchive != NULL) { deleteArchiveRes(); @@ -42,13 +44,12 @@ dRes_info_c::~dRes_info_c() { } int dRes_info_c::set(char const* i_arcName, char const* i_path, u8 i_mountDirection, JKRHeap* i_heap) { - char path[40]; - #ifdef __MWERKS__ JUT_ASSERT(120, strlen(i_arcName) <= NAME_MAX); #endif if (*i_path != NULL) { + char path[40]; snprintf(path, sizeof(path), "%s%s.arc", i_path, i_arcName); mDMCommand = mDoDvdThd_mountArchive_c::create(path, i_mountDirection, i_heap); @@ -63,14 +64,12 @@ int dRes_info_c::set(char const* i_arcName, char const* i_path, u8 i_mountDirect static void setAlpha(J3DMaterialTable* i_matTable) { for (u16 i = 0; i < i_matTable->getMaterialNum(); i++) { - J3DMaterial* mat = i_matTable->getMaterialNodePointer(i); - J3DTevBlock* tevBlock = mat->getTevBlock(); + J3DTevBlock* tevBlock = i_matTable->getMaterialNodePointer(i)->getTevBlock(); if (tevBlock != NULL) { GXColorS10* tevColor = tevBlock->getTevColor(3); if (tevColor != NULL) { - u8 tevStageNum = tevBlock->getTevStageNum(); - tevColor->a = tevStageNum; + tevColor->a = tevBlock->getTevStageNum(); } } } @@ -119,12 +118,12 @@ static const J3DTexMtxInfo l_texMtxInfo = { }; static void addWarpMaterial(J3DModelData* i_modelData) { + static J3DTexCoordInfo l_texCoordInfo = {0x00, 0x00, 0x27}; + static J3DTevOrderInfo l_tevOrderInfo = {0x00, 0x03, 0xFF, 0x00}; static J3DTevStageInfo const l_tevStageInfo = { 0x05, 0x0F, 0x08, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, }; - static J3DTexCoordInfo l_texCoordInfo = {0x00, 0x00, 0x27}; - static J3DTevOrderInfo l_tevOrderInfo = {0x00, 0x03, 0xFF, 0x00}; static J3DAlphaCompInfo const l_alphaCompInfo = {0x04, 0x80, 0x00, 0x03, 0xFF}; ResTIMG* resTimg = (ResTIMG*)dComIfG_getObjectRes("Always", 0x5d); @@ -135,19 +134,19 @@ static void addWarpMaterial(J3DModelData* i_modelData) { texture->addResTIMG(1, resTimg - textureNum); J3DTexMtx* newTexMtx = new J3DTexMtx(l_texMtxInfo); - JUT_ASSERT(0x11D, newTexMtx != NULL); + JUT_ASSERT(285, newTexMtx != NULL); for (u16 i = 0; i < i_modelData->getMaterialNum(); i++) { J3DMaterial* material = i_modelData->getMaterialNodePointer(i); J3DTexGenBlock* texGenBlock = material->getTexGenBlock(); u32 texGenNum = texGenBlock->getTexGenNum(); - JUT_ASSERT(0x122, texGenNum < 4); + JUT_ASSERT(290, texGenNum < 4); J3DTexCoord* coord = texGenBlock->getTexCoord(texGenNum); l_texCoordInfo.mTexGenMtx = texGenNum * 3 + 0x1e; coord->setTexCoordInfo(l_texCoordInfo); coord->resetTexMtxReg(); - + texGenBlock->setTexGenNum(texGenNum + 1); texGenBlock->setTexMtx(texGenNum, newTexMtx); J3DTevBlock* tevBlock = material->getTevBlock(); @@ -208,23 +207,20 @@ void dRes_info_c::setWarpSRT(J3DModelData* i_modelData, const cXyz& i_pos, f32 i J3DMaterial* material = i_modelData->getMaterialNodePointer(0); J3DTexGenBlock* texGenBlock = material->getTexGenBlock(); u32 texGenNum = texGenBlock->getTexGenNum(); - J3DTexMtx* texMtx = texGenBlock->getTexMtx(texGenNum - 1); - J3DTexMtxInfo& texMtxInfo = texMtx->getTexMtxInfo(); + J3DTexMtxInfo& texMtxInfo = texGenBlock->getTexMtx(texGenNum - 1)->getTexMtxInfo(); texMtxInfo.mSRT.mTranslationX = i_transX; texMtxInfo.mSRT.mTranslationY = i_transY; mDoMtx_stack_c::transS(-i_pos.x, -i_pos.y, -i_pos.z); - s16 angleY = fopCamM_GetAngleY(dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0))); - mDoMtx_stack_c::YrotM(angleY); + camera_class* camera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0)); + mDoMtx_stack_c::YrotM(fopCamM_GetAngleY(camera)); cMtx_concat(l_texMtxInfo.mEffectMtx, mDoMtx_stack_c::get(), texMtxInfo.mEffectMtx); } J3DModelData* dRes_info_c::loaderBasicBmd(u32 i_tag, void* i_data) { u32 flags = 0x59020010; u16 i; - J3DMaterial* material; - J3DModelData* modelData; - u8 lightMask; + J3DMaterialAnm* materialAnm; if (i_tag == 'BMDE' || i_tag == 'BMDV') { flags |= 0x20; @@ -237,18 +233,18 @@ J3DModelData* dRes_info_c::loaderBasicBmd(u32 i_tag, void* i_data) { return NULL; } - modelData = (J3DModelData*)i_data; + J3DModelData* modelData = (J3DModelData*)i_data; if (i_tag == 'BMDE' || i_tag == 'BMDV' || i_tag == 'BMWE') { for (i = 0; i < modelData->getShapeNum(); i++) { - J3DShape* shape = modelData->getShapeNodePointer(i); + J3DShape* shape = modelData->getShapeNodePointer(i); shape->setTexMtxLoadType(0x2000); } } for (i = 0; i < modelData->getMaterialNum(); i++) { - material = modelData->getMaterialNodePointer(i); - lightMask = material->getColorChan(0)->getLightMask(); + J3DMaterial* material = modelData->getMaterialNodePointer(i); + u8 lightMask = material->getColorChan(0)->getLightMask(); switch (g_env_light.light_mask_type) { case 1: lightMask &= 0x4; @@ -275,7 +271,7 @@ J3DModelData* dRes_info_c::loaderBasicBmd(u32 i_tag, void* i_data) { material->getColorChan(0)->setLightMask(lightMask); material->change(); - J3DMaterialAnm* materialAnm = new J3DMaterialAnm(); + materialAnm = new J3DMaterialAnm(); if (materialAnm == NULL) { return NULL; } @@ -290,10 +286,11 @@ J3DModelData* dRes_info_c::loaderBasicBmd(u32 i_tag, void* i_data) { } if (i_tag == 'BMDR' || i_tag == 'BMWR') { - if (modelData->newSharedDisplayList(J3DMdlFlag_UseSingleDL) != kJ3DError_Success) { + s32 result = modelData->newSharedDisplayList(J3DMdlFlag_UseSingleDL); + if (result != kJ3DError_Success) { return NULL; } else { - modelData->simpleCalcMaterial(0, (MtxP)j3dDefaultMtx); + modelData->simpleCalcMaterial(const_cast(j3dDefaultMtx)); modelData->makeSharedDL(); } } @@ -302,7 +299,7 @@ J3DModelData* dRes_info_c::loaderBasicBmd(u32 i_tag, void* i_data) { } int dRes_info_c::loadResource() { - JUT_ASSERT(0x2C5, mRes == NULL); + JUT_ASSERT(709, mRes == NULL); s32 countFile = mArchive->countFile(); mRes = new void*[countFile]; @@ -319,25 +316,26 @@ int dRes_info_c::loadResource() { for (int i = 0; i < mArchive->countDirectory(); i++) { u32 nodeType = node->type; u32 fileIndex = node->first_file_index; - J3DModelData* modelData; - void* result; for (int j = 0; j < node->num_entries; j++) { if (mArchive->isFileEntry(fileIndex)) { - result = mArchive->getIdxResource(fileIndex); +#if DEBUG + const char* tmp = mArchive->mStringTable + (mArchive->findIdxResource(fileIndex)->type_flags_and_name_offset & 0xFFFFFF); +#endif + void* res = mArchive->getIdxResource(fileIndex); - if (result == NULL) { + if (res == NULL) { OSReport_Error("<%s> res == NULL !!\n", mArchive->mStringTable + (mArchive->findIdxResource(fileIndex)->type_flags_and_name_offset & 0xFFFFFF)); } else if (nodeType == 'ARC ') { JKRArchive::SDIFileEntry* entry = mArchive->findIdxResource(fileIndex); - JUT_ASSERT(0x2FD, entry != NULL); + JUT_ASSERT(765, entry != NULL); - const char* name_p = mArchive->mStringTable + entry->getNameOffset(); + const char* name_p = mArchive->mStringTable + (entry->type_flags_and_name_offset & 0xFFFFFF); size_t resNameLen = strlen(name_p) - 4; #ifdef __MWERKS__ - JUT_ASSERT(0x301, resNameLen <= NAME_MAX); + JUT_ASSERT(769, resNameLen <= NAME_MAX); #endif char arcName[9]; @@ -345,31 +343,27 @@ int dRes_info_c::loadResource() { arcName[resNameLen] = '\0'; JKRExpHeap* parentHeap = (JKRExpHeap*)JKRHeap::findFromRoot(JKRHeap::getCurrentHeap()); - JUT_ASSERT(0x308, parentHeap != NULL && (parentHeap == mDoExt_getGameHeap() || parentHeap == mDoExt_getArchiveHeap())); -#if DEBUG - char* heapName; - if (parentHeap == mDoExt_getGameHeap()) { - heapName = "GameHeap"; - } else { - heapName = "ArchiveHeap"; - } + JUT_ASSERT(776, parentHeap != NULL && (parentHeap == mDoExt_getGameHeap() || parentHeap == mDoExt_getArchiveHeap())); // ">>>>>>>>>>>>>>>>>> Pack Archive<%s> <%s>\n" - OSReport(">>>>>>>>>>>>>>>>>> パックアーカイブ<%s> <%s>\n", arcName, heapName); -#endif + OS_REPORT(">>>>>>>>>>>>>>>>>> パックアーカイブ<%s> <%s>\n", arcName, parentHeap == mDoExt_getGameHeap() ? "GameHeap" : "ArchiveHeap"); + if (parentHeap == (JKRExpHeap*)mDoExt_getGameHeap()) { parentHeap = NULL; } - int rt = dComIfG_setObjectRes(arcName, result, entry->data_size); - JUT_ASSERT(0x314, rt); + int rt = dComIfG_setObjectRes(arcName, res, entry->data_size, parentHeap); + JUT_ASSERT(788, rt); } else if (nodeType == 'BMDP') { - result = (J3DModelData*)J3DModelLoaderDataBase::load(result, 0x59020030); - if (result == NULL) { +#if DEBUG + g_kankyoHIO.navy.field_0x22a |= u16(0x100); +#endif + res = (J3DModelData*)J3DModelLoaderDataBase::load(res, 0x59020030); + if (res == NULL) { return -1; } - modelData = (J3DModelData*)result; + J3DModelData* modelData = (J3DModelData*)res; for (u16 k = 0; k < modelData->getMaterialNum(); k++) { J3DMaterial* material_p = modelData->getMaterialNodePointer(k); material_p->change(); @@ -382,57 +376,93 @@ int dRes_info_c::loadResource() { material_p->setMaterialAnm(materialAnm); } - setAlpha(modelData); - if (modelData->newSharedDisplayList(J3DMdlFlag_UseSingleDL) != kJ3DError_Success) { + setAlpha((J3DModelData*)res); + s32 result = modelData->newSharedDisplayList(J3DMdlFlag_UseSingleDL); + if (result != kJ3DError_Success) { return -1; } - modelData->simpleCalcMaterial(0, (MtxP)j3dDefaultMtx); + modelData->simpleCalcMaterial(const_cast(j3dDefaultMtx)); modelData->makeSharedDL(); } else if (nodeType == 'BMDR' || nodeType == 'BMDV' || nodeType == 'BMDE' || nodeType == 'BMWR' || nodeType == 'BMWE') { - result = loaderBasicBmd(nodeType, result); - if (result == NULL) { + res = loaderBasicBmd(nodeType, res); + if (res == NULL) { return -1; } } else if (nodeType == 'BMDG') { - result = (J3DModelData*)J3DModelLoaderDataBase::load(result, 0x59020010); - if (result == NULL) { + res = (J3DModelData*)J3DModelLoaderDataBase::load(res, 0x59020010); + if (res == NULL) { return -1; } - modelData = (J3DModelData*)result; + J3DModelData* modelData = (J3DModelData*)res; #if DEBUG J3DMaterial* materialp = modelData->getMaterialNodePointer(0); - if (materialp->isDrawModeOpaTexEdge()) { + if (!materialp->isDrawModeOpaTexEdge()) { // "BMDG:Translucent model can't be drawn!!\n" OSReport_Error("BMDG:半透明モデルは描画できません!!\n"); return -1; } #endif - if (modelData->newSharedDisplayList(J3DMdlFlag_UseSingleDL) != kJ3DError_Success) { + s32 result = modelData->newSharedDisplayList(J3DMdlFlag_UseSingleDL); + if (result != kJ3DError_Success) { return -1; } - modelData->simpleCalcMaterial(0, (MtxP)j3dDefaultMtx); + modelData->simpleCalcMaterial(const_cast(j3dDefaultMtx)); modelData->makeSharedDL(); } else if (nodeType == 'BMDA') { - result = (J3DModelData*)J3DModelLoaderDataBase::load(result, 0x59020010); - if (result == NULL) { +#if DEBUG + g_kankyoHIO.navy.field_0x22a |= u16(0x800); +#endif + res = (J3DModelData*)J3DModelLoaderDataBase::load(res, 0x59020010); + if (res == NULL) { return -1; } - modelData = (J3DModelData*)result; - if (modelData->newSharedDisplayList(J3DMdlFlag_UseSingleDL) != kJ3DError_Success) { + J3DModelData* modelData = (J3DModelData*)res; + + s32 result = modelData->newSharedDisplayList(J3DMdlFlag_UseSingleDL); + if (result != kJ3DError_Success) { return -1; } - modelData->simpleCalcMaterial(0, (MtxP)j3dDefaultMtx); + modelData->simpleCalcMaterial(const_cast(j3dDefaultMtx)); modelData->makeSharedDL(); +#if DEBUG + } else if (nodeType == 'BMDL') { + J3DModelFileData* fileData = (J3DModelFileData*)res; + if (fileData->mMagic2 == 'bmd3') { + res = J3DModelLoaderDataBase::load(res, 0x29020030); + if (res) { + J3DModelData* modelData = (J3DModelData*)res; + int local_8c = modelData->newSharedDisplayList(fileData->field_0x1c & 0x80000000 ? 0 : 0x40000); + if (local_8c) { + return -1; + } + modelData->simpleCalcMaterial(const_cast(j3dDefaultMtx)); + modelData->makeSharedDL(); + modelData->makeSharedDL(); + } + } else { + res = J3DModelLoaderDataBase::loadBinaryDisplayList(res, 0x1010); + if (res) { + J3DModelData* modelData = (J3DModelData*)res; + for (u16 i = 0; i < modelData->getMaterialNum(); i++) { + J3DMaterial* material = modelData->getMaterialNodePointer(i); + material->onInvalid(); + } + } + } + if (!res) { + return -1; + } +#endif } else if (nodeType == 'BLS ') { - result = J3DClusterLoaderDataBase::load(result); - if (result == NULL) { + res = J3DClusterLoaderDataBase::load(res); + if (res == NULL) { return -1; } } else if (nodeType == 'BCKS' || nodeType == 'BCK ') { @@ -440,11 +470,11 @@ int dRes_info_c::loadResource() { u8 unk_data[0x1C]; u32 some_data_offset; }; - J3DUnkChunk* chunk = (J3DUnkChunk*)result; + J3DUnkChunk* chunk = (J3DUnkChunk*)res; void* bas; if (chunk->some_data_offset != 0xFFFFFFFF) { - bas = (void*)(chunk->some_data_offset + (u32)result); + bas = (void*)(chunk->some_data_offset + (u32)res); } else { bas = NULL; } @@ -454,24 +484,24 @@ int dRes_info_c::loadResource() { return -1; } - J3DAnmLoaderDataBase::setResource(transAnmBas, result); - result = transAnmBas; + J3DAnmLoaderDataBase::setResource(transAnmBas, res); + res = transAnmBas; } else if (nodeType == 'BTP ' || nodeType == 'BTK ' || nodeType == 'BPK ' || nodeType == 'BRK ' || nodeType == 'BLK ' || nodeType == 'BVA ' || nodeType == 'BXA ') { - result = J3DAnmLoaderDataBase::load(result, J3DLOADER_UNK_FLAG0); - if (result == NULL) { + res = J3DAnmLoaderDataBase::load(res); + if (res == NULL) { return -1; } } else if (nodeType == 'DZB ') { - result = cBgS::ConvDzb(result); + res = cBgS::ConvDzb(res); } else if (nodeType == 'KCL ') { - result = dBgWKCol::initKCollision(result); + res = dBgWKCol::initKCollision(res); } - JUT_ASSERT(0x444, fileIndex < countFile); - mRes[fileIndex] = result; + JUT_ASSERT(1092, fileIndex < countFile); + mRes[fileIndex] = res; } fileIndex++; } @@ -482,40 +512,41 @@ int dRes_info_c::loadResource() { } void dRes_info_c::deleteArchiveRes() { - JUT_ASSERT(0x45E, mArchive != NULL); + JUT_ASSERT(1118, mArchive != NULL); JKRArchive::SDIDirEntry* nodes = mArchive->mNodes; - for (int i = 0; i < mArchive->countDirectory(); nodes++, i++) { - if (nodes->type == 'ARC ') { + for (int i = 0; i < mArchive->countDirectory(); i++) { + u32 type = nodes->type; + if (type == 'ARC ') { u32 fileIndex = nodes->first_file_index; for (int j = 0; j < nodes->num_entries; j++) { if (mArchive->isFileEntry(fileIndex)) { - JKRArchive::SDIFileEntry* fileEntry = mArchive->findIdxResource(fileIndex); - u32 nameOffset = fileEntry->getNameOffset(); - const char* fileName = mArchive->mStringTable + nameOffset; + const char* fileName = mArchive->mStringTable + (mArchive->findIdxResource(fileIndex)->type_flags_and_name_offset & 0xFFFFFF); size_t resNameLen = strlen(fileName) - 4; #ifdef __MWERKS__ - JUT_ASSERT(0x46C, resNameLen <= NAME_MAX); + JUT_ASSERT(1132, resNameLen <= NAME_MAX); #endif char nameBuffer[12]; strncpy(nameBuffer, fileName, resNameLen); nameBuffer[resNameLen] = '\0'; - + int rt = dComIfG_deleteObjectResMain(nameBuffer); - JUT_ASSERT(0x470, rt); + JUT_ASSERT(1136, rt); } fileIndex++; } } + nodes++; } } static SArcHeader* getArcHeader(JKRArchive* i_archive) { if (i_archive != NULL) { - switch (i_archive->getMountMode()) { + switch (i_archive->mMountMode) { case JKRArchive::MOUNT_MEM: - return ((JKRMemArchive*)i_archive)->getArcHeader(); + JKRMemArchive* memArchive = (JKRMemArchive*)i_archive; + return memArchive->mArcHeader; } } @@ -523,29 +554,31 @@ static SArcHeader* getArcHeader(JKRArchive* i_archive) { } int dRes_info_c::setRes(JKRArchive* i_archive, JKRHeap* i_heap) { - JUT_ASSERT(0x4AD, mArchive == NULL); + JUT_ASSERT(1197, mArchive == NULL); mArchive = i_archive; heap = i_heap; mDataHeap = NULL; int rt = loadResource(); - JUT_ASSERT(0x4B4, rt >= 0); + JUT_ASSERT(1204, rt >= 0); return rt >> 0x1F; } +bool data_8074C6C0_debug; + int dRes_info_c::setRes() { if (mArchive == NULL) { if (mDMCommand == NULL) { return -1; } - if ((int)mDMCommand->mIsDone == 0) { + if (mDMCommand->sync() == 0) { return 1; } mArchive = mDMCommand->getArchive(); heap = mDMCommand->getHeap(); - delete mDMCommand; + mDMCommand->destroy(); mDMCommand = NULL; if (mArchive == NULL) { @@ -553,20 +586,24 @@ int dRes_info_c::setRes() { return -1; } + u32 r28; + if (heap != NULL) { heap->lock(); mDataHeap = mDoExt_createSolidHeapToCurrent(0, heap, 0x20); - JUT_ASSERT(0x4EC, mDataHeap != NULL); + JUT_ASSERT(1260, mDataHeap != NULL); int rt = loadResource(); mDoExt_restoreCurrentHeap(); - mDoExt_adjustSolidHeap(mDataHeap); + r28 = mDoExt_adjustSolidHeap(mDataHeap); heap->unlock(); - - JUT_ASSERT(0x4F6, rt >= 0); +#if DEBUG + JUT_ASSERT(1270, rt >= 0); +#else if (rt < 0) { return -1; } +#endif } else { mDataHeap = mDoExt_createSolidHeapFromGameToCurrent(0, 0); if (mDataHeap == NULL) { @@ -575,29 +612,38 @@ int dRes_info_c::setRes() { } int rt = loadResource(); mDoExt_restoreCurrentHeap(); - mDoExt_adjustSolidHeap(mDataHeap); + r28 = mDoExt_adjustSolidHeap(mDataHeap); - JUT_ASSERT(0x509, rt >= 0); +#if DEBUG + JUT_ASSERT(1289, rt >= 0); +#else if (rt < 0) { return -1; } +#endif } +#if DEBUG + mSize = JKRGetRootHeap()->getSize(((JKRMemArchive*)mArchive)->mArcHeader) + JKRGetMemBlockSize(NULL, mDataHeap); + if (data_8074C6C0_debug) { + JKRExpHeap* zeldaHeap = mDoExt_getZeldaHeap(); + OSReport("\e[33mdRes_info_c::setRes <使用=%08x(work:%08x) 連続空き=%08x 残り空き=%08x (%3d) %s.arc\n\e[m", mSize, r28, zeldaHeap->getFreeSize(), zeldaHeap->getTotalFreeSize(), getResNum(), this); + OSReport("\e[33mSolid=%08x-%08x StartAddr=%08x EndAddr=%08x HeapSize=%08x \n\e[m", mDataHeap, uintptr_t(mDataHeap) + mDataHeap->getHeapSize(), mDataHeap->getStartAddr(), mDataHeap->getEndAddr(), mDataHeap->getHeapSize()); + } +#endif + u32 heapSize = mDataHeap->getHeapSize(); - void* heapStartAddr = mDataHeap->getStartAddr(); - DCStoreRangeNoSync(heapStartAddr, heapSize); + DCStoreRangeNoSync(mDataHeap->getStartAddr(), heapSize); } return 0; } static s32 myGetMemBlockSize(void* i_data) { - JKRHeap* heap = JKRHeap::findFromRoot(i_data); - if (heap->getHeapType() == 'EXPH') { - return JKRHeap::getSize(i_data, heap); - } - - return -1; + JKRHeap* heap = JKRFindHeap(i_data); + u32 heapType = heap->getHeapType(); + s32 size = heapType == 'EXPH' ? JKRGetMemBlockSize(heap, i_data) : -1; + return size; } static s32 myGetMemBlockSize0(void* i_data) { @@ -615,29 +661,22 @@ f32 dummy(int x) { } void dRes_info_c::dump_long(dRes_info_c* i_resInfo, int i_infoNum) { - int i; - void* header; - int blockSize1; - int blockSize2; - JKRArchive* archive; - JKRSolidHeap* dataHeap; - JUTReportConsole_f("dRes_info_c::dump_long %08x %d\n", i_resInfo, i_infoNum); JUTReportConsole_f("No Command Archive ArcHeader(size) SolidHeap(size) Resource Cnt ArchiveName\n"); - for (i = 0; i < i_infoNum; i++) { + for (int i = 0; i < i_infoNum; i++) { if (i_resInfo->getCount() != 0) { - archive = i_resInfo->getArchive(); - header = NULL; - blockSize1 = 0; + JKRArchive* archive = i_resInfo->getArchive(); + void* header = NULL; + int blockSize1 = 0; if (archive != NULL) { header = getArcHeader(archive); blockSize1 = myGetMemBlockSize0(header); } - dataHeap = i_resInfo->mDataHeap; - blockSize2 = 0; + JKRSolidHeap* dataHeap = i_resInfo->mDataHeap; + int blockSize2 = 0; if (dataHeap != NULL) { blockSize2 = myGetMemBlockSize0((void*)dataHeap); } @@ -663,8 +702,6 @@ void dRes_info_c::dump(dRes_info_c* i_resInfo, int i_infoNum) { int totalHeapSize; int arcHeaderSize; int heapSize; - char* archiveName; - JUTReportConsole_f("dRes_info_c::dump %08x %d\n", i_resInfo, i_infoNum); JUTReportConsole_f("No ArchiveSize(KB) SolidHeapSize(KB) Cnt ArchiveName\n"); @@ -675,7 +712,6 @@ void dRes_info_c::dump(dRes_info_c* i_resInfo, int i_infoNum) { if (i_resInfo->getCount() != 0) { arcHeaderSize = JKRGetMemBlockSize(NULL, getArcHeader(i_resInfo->getArchive())); heapSize = JKRGetMemBlockSize(NULL, i_resInfo->mDataHeap); - archiveName = i_resInfo->getArchiveName(); JUTReportConsole_f("%2d %6.1f %6x %6.1f %6x %3d %s\n", i, arcHeaderSize / 1024.0f, @@ -683,7 +719,7 @@ void dRes_info_c::dump(dRes_info_c* i_resInfo, int i_infoNum) { heapSize / 1024.0f, heapSize, i_resInfo->getCount(), - archiveName); + i_resInfo->getArchiveName()); totalArcHeaderSize += arcHeaderSize; totalHeapSize += heapSize; } @@ -697,6 +733,28 @@ void dRes_info_c::dump(dRes_info_c* i_resInfo, int i_infoNum) { totalHeapSize); } +#if DEBUG +void dRes_info_c::dumpTag(dRes_info_c* info, int param_2, int param_3, int param_4) { + for (int i = 0; i < param_2; i++) { + if (info->getCount()) { + fapGm_dataMem::printfTag(1, param_3, 0, info->getArchiveName(), getArcHeader(info->getArchive()), 0, NULL, NULL); + fapGm_dataMem::printfTag(1, param_4, 0, info->getArchiveName(), info->mDataHeap, 0, NULL, NULL); + } + info++; + } +} + +void dRes_info_c::dump(char* param_1, dRes_info_c* info, int param_3) { + for (int i = 0; i < param_3; i++) { + if (info->getCount()) { + char* r28 = param_1 + strlen(param_1); + sprintf(r28, ",%s,%d,\n", info->getArchiveName(), JKRGetMemBlockSize(NULL, getArcHeader(info->getArchive())) + JKRGetMemBlockSize(NULL, info->mDataHeap)); + } + info++; + } +} +#endif + dRes_control_c::~dRes_control_c() { for (int i = 0; i < ARRAY_SIZE(mObjectInfo); i++) { mObjectInfo[i].~dRes_info_c(); @@ -721,8 +779,7 @@ int dRes_control_c::setRes(char const* i_arcName, dRes_info_c* i_resInfo, int i_ return 0; } - int rt = resInfo->set(i_arcName, i_path, i_mountDirection, i_heap); - if (rt == 0) { + if (resInfo->set(i_arcName, i_path, i_mountDirection, i_heap) == 0) { OSReport_Error("<%s.arc> dRes_control_c::setRes: res info set error !!\n", i_arcName); resInfo->~dRes_info_c(); return 0; @@ -743,7 +800,7 @@ int dRes_control_c::syncRes(char const* i_arcName, dRes_info_c* i_resInfo, int i strncmp(i_arcName, "Pack", 4) == 0) { // "<%s.arc> syncRes: Resource not registered (No Error)\n" - OS_REPORT("\x1b[34m<%s.arc> syncRes: リソース未登録(問題無し)\n\x1b[m", i_arcName); + OS_REPORT("\e[34m<%s.arc> syncRes: リソース未登録(問題無し)\n\e[m", i_arcName); } else { // "<%s.arc> syncRes: Resource not registered!!\n" OS_REPORT_ERROR("<%s.arc> syncRes: リソース未登録!!\n", i_arcName); @@ -760,9 +817,9 @@ int dRes_control_c::deleteRes(char const* i_arcName, dRes_info_c* i_resInfo, int if (resInfo == NULL) { #if DEBUG - if (strcmp(i_arcName, "Xtg_00") == 0) { + if (strcmp(i_arcName, "Xtg_00")) { // "<%s.arc> deleteRes: res nothing !!\n(Detected deleting an unregistered resource! Please fix.)\n" - OS_REPORT_ERROR("<%s.arc> deleteRes: res nothing !!\n(未登録のリソースを削除してるのを発見しました!修正してください。)\n", i_arcName); + OS_REPORT_ERROR("<%s.arc> deleteRes: res nothing !!\n(未登録のリソースを削除してるのを発見しました!修正してください。)\n", i_arcName); } #endif return 0; @@ -804,14 +861,14 @@ dRes_info_c* dRes_control_c::getResInfoLoaded(char const* i_arcName, dRes_info_c if (resInfo == NULL) { #if DEBUG - if (stricmp(i_arcName, "Xtg_00") == 0) { - OS_REPORT("\x1b[35m<%s.arc> getRes: res nothing !!\n\x1b[m", i_arcName); + if (stricmp(i_arcName, "Xtg_00")) { + OS_REPORT("\e[35m<%s.arc> getRes: res nothing !!\n\e[m", i_arcName); } #endif - resInfo = NULL; + return NULL; } else if (resInfo->getArchive() == NULL) { OSReport_Warning("<%s.arc> getRes: res during reading !!\n", i_arcName); - resInfo = NULL; + return NULL; } return resInfo; @@ -848,7 +905,7 @@ void* dRes_control_c::getRes(char const* i_arcName, char const* i_resName, dRes_ if (entry != NULL) { return resInfo->getRes(entry - archive->mFiles); } else { - OS_REPORT("\x1b[34m%s not found in %s.arc\n\x1b[m", i_resName, i_arcName); + OS_REPORT("\e[34m%s not found in %s.arc\n\e[m", i_resName, i_arcName); return NULL; } } @@ -879,16 +936,55 @@ int dRes_control_c::syncAllRes(dRes_info_c* i_resInfo, int i_infoNum) { return 0; } +#if DEBUG +int dRes_control_c::getSize(const char* i_arcName, dRes_info_c* i_resInfo, int i_infoNum) { + dRes_info_c* info = getResInfoLoaded(i_arcName, i_resInfo, i_infoNum); + if (!info) { + return 0; + } + return info->getSize(); +} + +int dRes_control_c::getStageAllSize() { + int size = 0; + dRes_info_c* info = mStageInfo; + + for (int i = 0; i < ARRAY_SIZE(mStageInfo); i++) { + if (info->getCount()) { + size += info->getSize(); + } + info++; + } + + return size; +} + +int dRes_control_c::getObjectAllSize() { + int size = 0; + dRes_info_c* info = mObjectInfo; + + for (int i = 0; i < ARRAY_SIZE(mObjectInfo); i++) { + if (info->getCount()) { + size += info->getSize(); + } + info++; + } + + return size; +} +#endif + int dRes_control_c::setObjectRes(char const* i_arcName, void* i_archiveRes, u32 i_bufferSize, JKRHeap* i_heap) { - JUT_ASSERT(0x7A3, i_archiveRes != NULL); + JUT_ASSERT(1955, i_archiveRes != NULL); #if DEBUG dRes_info_c* nowInfo = getResInfo(i_arcName, mObjectInfo, ARRAY_SIZEU(mObjectInfo)); - JUT_ASSERT(0x7A6, nowInfo == NULL); + JUT_ASSERT(1958, nowInfo == NULL); #endif - if (!setRes(i_arcName, mObjectInfo, ARRAY_SIZEU(mObjectInfo), "", mDoDvd_MOUNT_DIRECTION_HEAD, NULL)) { + int r26 = setRes(i_arcName, mObjectInfo, ARRAY_SIZEU(mObjectInfo), "", mDoDvd_MOUNT_DIRECTION_HEAD, NULL); + if (!r26) { return 0; } @@ -898,14 +994,13 @@ int dRes_control_c::setObjectRes(char const* i_arcName, void* i_archiveRes, u32 } dRes_info_c* info = getResInfo(i_arcName, mObjectInfo, ARRAY_SIZEU(mObjectInfo)); - JUT_ASSERT(0x7B7, info != NULL); + JUT_ASSERT(1975, info != NULL); - int rt = info->setRes(memArchive, i_heap); - if (rt == 0) { - return 1; + if (info->setRes(memArchive, i_heap)) { + return 0; } - return 0; + return 1; } int dRes_control_c::setStageRes(char const* i_arcName, JKRHeap* i_heap) { @@ -925,6 +1020,20 @@ void dRes_control_c::dump() { dRes_info_c::dump_long(mStageInfo, ARRAY_SIZEU(mStageInfo)); } +#if DEBUG +void dRes_control_c::dumpTag() { + dRes_info_c::dumpTag(mObjectInfo, ARRAY_SIZE(mObjectInfo), 7, 8); + dRes_info_c::dumpTag(mStageInfo, ARRAY_SIZE(mStageInfo), 9, 10); +} + +void dRes_control_c::dump(char* param_1) { + sprintf(param_1 + strlen(param_1), ",アーカイブ名,サイズ,\n"); + dRes_info_c::dump(param_1, mObjectInfo, ARRAY_SIZE(mObjectInfo)); + dRes_info_c::dump(param_1, mStageInfo, ARRAY_SIZE(mStageInfo)); + sprintf(param_1 + strlen(param_1), ",パーティクルリソース(シーン依存),%d,\n\n", JKRGetRootHeap()->getSize(g_dComIfG_gameInfo.play.getParticle()->getSceneRes())); +} +#endif + int dRes_control_c::getObjectResName2Index(char const* i_arcName, char const* i_resName) { dRes_info_c* info = getResInfoLoaded(i_arcName, mObjectInfo, ARRAY_SIZEU(mObjectInfo));