diff --git a/config/GZ2E01/rels/d_a_b_ds/symbols.txt b/config/GZ2E01/rels/d_a_b_ds/symbols.txt index ad9c8790bad..4a6207b043c 100644 --- a/config/GZ2E01/rels/d_a_b_ds/symbols.txt +++ b/config/GZ2E01/rels/d_a_b_ds/symbols.txt @@ -530,10 +530,12 @@ handR_ang = .bss:0x000000A6; // type:object size:0x2 scope:global handX_ang = .bss:0x000000A8; // type:object size:0x2 scope:global lbl_142_bss_AA = .bss:0x000000AA; // type:object size:0x1 data:byte @5249 = .bss:0x000000AC; // type:object size:0xC scope:local +init$3146 = .bss:0x000000B8; // type:object size:0x1 scope:local data:byte @5252 = .bss:0x000000BC; // type:object size:0xC scope:local @5253 = .bss:0x000000C8; // type:object size:0xC scope:local mOpPlayerDt$5248 = .bss:0x000000D4; // type:object size:0x24 scope:local @5255 = .bss:0x000000F8; // type:object size:0xC scope:local +init$3152 = .bss:0x00000104; // type:object size:0x1 scope:local data:byte @5258 = .bss:0x00000108; // type:object size:0xC scope:local @5259 = .bss:0x00000114; // type:object size:0xC scope:local @5260 = .bss:0x00000120; // type:object size:0xC scope:local @@ -550,9 +552,11 @@ mOpPlayerDt$5248 = .bss:0x000000D4; // type:object size:0x24 scope:local @5271 = .bss:0x000001A4; // type:object size:0xC scope:local mOpCenterDt$5254 = .bss:0x000001B0; // type:object size:0xB4 scope:local @5273 = .bss:0x00000264; // type:object size:0xC scope:local +init$3170 = .bss:0x00000270; // type:object size:0x1 scope:local data:byte @5276 = .bss:0x00000274; // type:object size:0xC scope:local mOpCenterBodyDt$5272 = .bss:0x00000280; // type:object size:0x18 scope:local @5278 = .bss:0x00000298; // type:object size:0xC scope:local +init$3175 = .bss:0x000002A4; // type:object size:0x1 scope:local data:byte @5281 = .bss:0x000002A8; // type:object size:0xC scope:local @5282 = .bss:0x000002B4; // type:object size:0xC scope:local @5283 = .bss:0x000002C0; // type:object size:0xC scope:local @@ -569,25 +573,30 @@ mOpCenterBodyDt$5272 = .bss:0x00000280; // type:object size:0x18 scope:local @5294 = .bss:0x00000344; // type:object size:0xC scope:local mOpEyeDt$5277 = .bss:0x00000350; // type:object size:0xB4 scope:local @5296 = .bss:0x00000404; // type:object size:0xC scope:local +init$3193 = .bss:0x00000410; // type:object size:0x1 scope:local data:byte @5299 = .bss:0x00000414; // type:object size:0xC scope:local mOpEyeBodyDt$5295 = .bss:0x00000420; // type:object size:0x18 scope:local @6354 = .bss:0x00000438; // type:object size:0xC scope:local +init$4244 = .bss:0x00000444; // type:object size:0x1 scope:local data:byte @6357 = .bss:0x00000448; // type:object size:0xC scope:local @6358 = .bss:0x00000454; // type:object size:0xC scope:local @6359 = .bss:0x00000460; // type:object size:0xC scope:local @6360 = .bss:0x0000046C; // type:object size:0xC scope:local down_center_dt$6353 = .bss:0x00000478; // type:object size:0x3C scope:local @6362 = .bss:0x000004B4; // type:object size:0xC scope:local +init$4252 = .bss:0x000004C0; // type:object size:0x1 scope:local data:byte @6365 = .bss:0x000004C4; // type:object size:0xC scope:local @6366 = .bss:0x000004D0; // type:object size:0xC scope:local @6367 = .bss:0x000004DC; // type:object size:0xC scope:local @6368 = .bss:0x000004E8; // type:object size:0xC scope:local down_eye_dt$6361 = .bss:0x000004F4; // type:object size:0x3C scope:local @7447 = .bss:0x00000530; // type:object size:0xC scope:local +init$5330 = .bss:0x0000053C; // type:object size:0x1 scope:local data:byte @7450 = .bss:0x00000540; // type:object size:0xC scope:local @7451 = .bss:0x0000054C; // type:object size:0xC scope:local mOp2PlayerDt$7446 = .bss:0x00000558; // type:object size:0x24 scope:local @7453 = .bss:0x0000057C; // type:object size:0xC scope:local +init$5336 = .bss:0x00000588; // type:object size:0x1 scope:local data:byte @7456 = .bss:0x0000058C; // type:object size:0xC scope:local @7457 = .bss:0x00000598; // type:object size:0xC scope:local @7458 = .bss:0x000005A4; // type:object size:0xC scope:local @@ -596,6 +605,7 @@ mOp2PlayerDt$7446 = .bss:0x00000558; // type:object size:0x24 scope:local @7461 = .bss:0x000005C8; // type:object size:0xC scope:local mOp2CenterDt$7452 = .bss:0x000005D4; // type:object size:0x54 scope:local @7463 = .bss:0x00000628; // type:object size:0xC scope:local +init$5346 = .bss:0x00000634; // type:object size:0x1 scope:local data:byte @7466 = .bss:0x00000638; // type:object size:0xC scope:local @7467 = .bss:0x00000644; // type:object size:0xC scope:local @7468 = .bss:0x00000650; // type:object size:0xC scope:local @@ -604,20 +614,24 @@ mOp2CenterDt$7452 = .bss:0x000005D4; // type:object size:0x54 scope:local @7471 = .bss:0x00000674; // type:object size:0xC scope:local mOp2EyeDt$7462 = .bss:0x00000680; // type:object size:0x54 scope:local @9091 = .bss:0x000006D4; // type:object size:0xC scope:local +init$6933 = .bss:0x000006E0; // type:object size:0x1 scope:local data:byte @9094 = .bss:0x000006E4; // type:object size:0xC scope:local mEd2CenterDt$9090 = .bss:0x000006F0; // type:object size:0x18 scope:local @9096 = .bss:0x00000708; // type:object size:0xC scope:local +init$6938 = .bss:0x00000714; // type:object size:0x1 scope:local data:byte @9099 = .bss:0x00000718; // type:object size:0xC scope:local mEd22EyeDt$9095 = .bss:0x00000724; // type:object size:0x18 scope:local -lbl_142_bss_73C = .bss:0x0000073C; // type:object size:0x1 data:byte +init$7517 = .bss:0x0000073C; // type:object size:0x1 scope:local data:byte mWaitDt$9733 = .bss:0x00000740; // type:object size:0xC scope:local data:4byte @10210 = .bss:0x0000074C; // type:object size:0xC scope:local +init$8022 = .bss:0x00000758; // type:object size:0x1 scope:local data:byte @10213 = .bss:0x0000075C; // type:object size:0xC scope:local @10214 = .bss:0x00000768; // type:object size:0xC scope:local @10215 = .bss:0x00000774; // type:object size:0xC scope:local @10216 = .bss:0x00000780; // type:object size:0xC scope:local head_cc_dt$10209 = .bss:0x0000078C; // type:object size:0x3C scope:local @10829 = .bss:0x000007C8; // type:object size:0xC scope:local +init$8634 = .bss:0x000007D4; // type:object size:0x1 scope:local data:byte @10832 = .bss:0x000007D8; // type:object size:0xC scope:local @10833 = .bss:0x000007E4; // type:object size:0xC scope:local @10834 = .bss:0x000007F0; // type:object size:0xC scope:local diff --git a/config/GZ2E01/rels/d_a_npc_bouS/symbols.txt b/config/GZ2E01/rels/d_a_npc_bouS/symbols.txt index a74caadf706..4f15c73a03e 100644 --- a/config/GZ2E01/rels/d_a_npc_bouS/symbols.txt +++ b/config/GZ2E01/rels/d_a_npc_bouS/symbols.txt @@ -249,5 +249,5 @@ sInstance__32JASGlobalInstance<11Z2FxLineMgr> = .bss:0x000000D0; // type:object sInstance__31JASGlobalInstance<10Z2EnvSeMgr> = .bss:0x000000D4; // type:object size:0x4 scope:global sInstance__32JASGlobalInstance<11Z2SpeechMgr> = .bss:0x000000D8; // type:object size:0x4 scope:global sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> = .bss:0x000000DC; // type:object size:0x4 scope:global -lbl_289_bss_E0 = .bss:0x000000E0; // type:object size:0x1 data:byte +init$localstatic4$setAttnPos__11daNpcBouS_cFv = .bss:0x000000E0; // type:object size:0x1 data:byte eyeOffset$localstatic3$setAttnPos__11daNpcBouS_cFv = .bss:0x000000E4; // type:object size:0xC scope:local align:4 data:float diff --git a/config/GZ2E01/rels/d_a_npc_wrestler/symbols.txt b/config/GZ2E01/rels/d_a_npc_wrestler/symbols.txt index 7ad9cb0579a..4d52014992e 100644 --- a/config/GZ2E01/rels/d_a_npc_wrestler/symbols.txt +++ b/config/GZ2E01/rels/d_a_npc_wrestler/symbols.txt @@ -446,5 +446,5 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa @3974 = .bss:0x00000008; // type:object size:0xC scope:local l_HIO = .bss:0x00000014; // type:object size:0x4 scope:global data:4byte @4628 = .bss:0x00000018; // type:object size:0xC scope:local -lbl_378_bss_24 = .bss:0x00000024; // type:object size:0x1 data:byte +init$localstatic4$setAttnPos__15daNpcWrestler_cFv = .bss:0x00000024; // type:object size:0x1 data:byte eyeOffset$localstatic3$setAttnPos__15daNpcWrestler_cFv = .bss:0x00000028; // type:object size:0xC scope:local align:4 data:float diff --git a/config/GZ2E01/rels/d_a_obj_bemos/symbols.txt b/config/GZ2E01/rels/d_a_obj_bemos/symbols.txt index 435946cbbb0..bcd648626a2 100644 --- a/config/GZ2E01/rels/d_a_obj_bemos/symbols.txt +++ b/config/GZ2E01/rels/d_a_obj_bemos/symbols.txt @@ -189,22 +189,22 @@ __vt__14dBgS_ObjGndChk = .data:0x0000040C; // type:object size:0x30 scope:global __vt__11dBgS_WtrChk = .data:0x0000043C; // type:object size:0x30 scope:global __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global ...bss.0 = .bss:0x00000008; // type:label scope:local -lit_1109 = .bss:0x00000008; // type:object size:0x1 scope:local data:byte -lit_1107 = .bss:0x0000000C; // type:object size:0x1 scope:local -lit_1105 = .bss:0x00000010; // type:object size:0x1 scope:local -lit_1104 = .bss:0x00000014; // type:object size:0x1 scope:local -lit_1099 = .bss:0x00000018; // type:object size:0x1 scope:local -lit_1097 = .bss:0x0000001C; // type:object size:0x1 scope:local -lit_1095 = .bss:0x00000020; // type:object size:0x1 scope:local -lit_1094 = .bss:0x00000024; // type:object size:0x1 scope:local -lit_1057 = .bss:0x00000028; // type:object size:0x1 scope:local -lit_1055 = .bss:0x0000002C; // type:object size:0x1 scope:local -lit_1053 = .bss:0x00000030; // type:object size:0x1 scope:local -lit_1052 = .bss:0x00000034; // type:object size:0x1 scope:local -lit_1014 = .bss:0x00000038; // type:object size:0x1 scope:local -lit_1012 = .bss:0x0000003C; // type:object size:0x1 scope:local -lit_1010 = .bss:0x00000040; // type:object size:0x1 scope:local -lit_1009 = .bss:0x00000044; // type:object size:0x1 scope:local +@1109 = .bss:0x00000008; // type:object size:0x1 scope:local data:byte +@1107 = .bss:0x0000000C; // type:object size:0x1 scope:local +@1105 = .bss:0x00000010; // type:object size:0x1 scope:local +@1104 = .bss:0x00000014; // type:object size:0x1 scope:local +@1099 = .bss:0x00000018; // type:object size:0x1 scope:local +@1097 = .bss:0x0000001C; // type:object size:0x1 scope:local +@1095 = .bss:0x00000020; // type:object size:0x1 scope:local +@1094 = .bss:0x00000024; // type:object size:0x1 scope:local +@1057 = .bss:0x00000028; // type:object size:0x1 scope:local +@1055 = .bss:0x0000002C; // type:object size:0x1 scope:local +@1053 = .bss:0x00000030; // type:object size:0x1 scope:local +@1052 = .bss:0x00000034; // type:object size:0x1 scope:local +@1014 = .bss:0x00000038; // type:object size:0x1 scope:local +@1012 = .bss:0x0000003C; // type:object size:0x1 scope:local +@1010 = .bss:0x00000040; // type:object size:0x1 scope:local +@1009 = .bss:0x00000044; // type:object size:0x1 scope:local init$2123 = .bss:0x00000045; // type:object size:0x1 scope:local data:byte init$2180 = .bss:0x00000046; // type:object size:0x1 scope:local data:byte init$2232 = .bss:0x00000047; // type:object size:0x1 scope:local data:byte diff --git a/config/GZ2E01/rels/d_a_obj_zrTuraraRock/symbols.txt b/config/GZ2E01/rels/d_a_obj_zrTuraraRock/symbols.txt index 26a68a26314..360119b63bb 100644 --- a/config/GZ2E01/rels/d_a_obj_zrTuraraRock/symbols.txt +++ b/config/GZ2E01/rels/d_a_obj_zrTuraraRock/symbols.txt @@ -74,4 +74,4 @@ __vt__14mDoHIO_entry_c = .data:0x0000014C; // type:object size:0xC scope:global __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global @3647 = .bss:0x00000008; // type:object size:0xC scope:local l_HIO = .bss:0x00000014; // type:object size:0x20 scope:global align:4 data:float -lbl_698_bss_34 = .bss:0x00000034; // type:object size:0x1 data:byte +init$1850 = .bss:0x00000034; // type:object size:0x1 data:byte diff --git a/config/GZ2E01/rels/d_a_obj_zraMark/symbols.txt b/config/GZ2E01/rels/d_a_obj_zraMark/symbols.txt index 8b20f4b5766..490464f01ef 100644 --- a/config/GZ2E01/rels/d_a_obj_zraMark/symbols.txt +++ b/config/GZ2E01/rels/d_a_obj_zraMark/symbols.txt @@ -68,7 +68,7 @@ sRoot$4500 = .rodata:0x00000104; // type:object size:0xE0 scope:local @4571 = .rodata:0x00000204; // type:object size:0x4 scope:local align:4 data:float @4658 = .rodata:0x00000208; // type:object size:0x8 scope:local align:8 data:double @stringBase0 = .rodata:0x00000210; // type:object size:0x5 scope:local data:string_table -lbl_699_data_0 = .data:0x00000000; // type:object size:0x1 data:byte +@1738 = .data:0x00000000; // type:object size:0x1 data:byte l_arcName = .data:0x00000004; // type:object size:0x4 scope:global data:4byte l_daObjZraMark_Method = .data:0x00000008; // type:object size:0x20 scope:global g_profile_ZRA_MARK = .data:0x00000028; // type:object size:0x30 scope:global @@ -76,4 +76,4 @@ __vt__18daNpcF_ActorMngr_c = .data:0x00000058; // type:object size:0xC scope:glo __vt__8cM3dGCyl = .data:0x00000064; // type:object size:0xC scope:global __vt__8cM3dGAab = .data:0x00000070; // type:object size:0xC scope:global roottype$4501 = .bss:0x00000000; // type:object size:0x4 scope:local -lbl_699_bss_4 = .bss:0x00000004; // type:object size:0x1 data:byte +init$2350 = .bss:0x00000004; // type:object size:0x1 data:byte diff --git a/config/GZ2E01/rels/d_a_tag_river_back/symbols.txt b/config/GZ2E01/rels/d_a_tag_river_back/symbols.txt index 7cb2d20f5aa..54acfc5e55f 100644 --- a/config/GZ2E01/rels/d_a_tag_river_back/symbols.txt +++ b/config/GZ2E01/rels/d_a_tag_river_back/symbols.txt @@ -37,4 +37,4 @@ l_func$3711 = .data:0x0000005C; // type:object size:0x30 scope:local action_table$3769 = .data:0x0000008C; // type:object size:0x8 scope:local l_daTagRiverBack_Method = .data:0x00000094; // type:object size:0x20 scope:global g_profile_Tag_RiverBack = .data:0x000000B4; // type:object size:0x30 scope:global -lbl_736_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte +init$1712 = .bss:0x00000000; // type:object size:0x1 data:byte diff --git a/config/GZ2E01/splits.txt b/config/GZ2E01/splits.txt index 1a68d1c3859..57edd993c16 100644 --- a/config/GZ2E01/splits.txt +++ b/config/GZ2E01/splits.txt @@ -2280,7 +2280,7 @@ Z2AudioLib/Z2Audience.cpp: .rodata start:0x8039C220 end:0x8039C230 .data start:0x803CAC98 end:0x803CACD0 .bss start:0x804341D8 end:0x804341F8 - .sbss start:0x80451350 end:0x80451360 + .sbss start:0x80451350 end:0x80451358 .sdata2 start:0x80455AA0 end:0x80455B38 Z2AudioLib/Z2SoundObject.cpp: @@ -2300,6 +2300,7 @@ Z2AudioLib/Z2Creature.cpp: .text start:0x802C03C8 end:0x802C321C .ctors start:0x80373924 end:0x80373928 .data start:0x803CB230 end:0x803CB8F0 + .sbss start:0x80451358 end:0x80451360 .sdata2 start:0x80455BD8 end:0x80455C98 Z2AudioLib/Z2LinkMgr.cpp: diff --git a/config/GZ2E01/symbols.txt b/config/GZ2E01/symbols.txt index acacb8e611c..23431e5ed70 100644 --- a/config/GZ2E01/symbols.txt +++ b/config/GZ2E01/symbols.txt @@ -21907,20 +21907,20 @@ init$33110 = .sbss:0x80450FBC; // type:object size:0x1 scope:local align:1 data: init$33113 = .sbss:0x80450FBD; // type:object size:0x1 scope:local align:1 data:byte it$36766 = .sbss:0x80450FC0; // type:object size:0x4 scope:local align:4 data:4byte init$37466 = .sbss:0x80450FC4; // type:object size:0x1 scope:local align:4 data:byte -lbl_80450FC5 = .sbss:0x80450FC5; // type:object size:0x1 data:byte -lbl_80450FC6 = .sbss:0x80450FC6; // type:object size:0x1 data:byte -lbl_80450FC7 = .sbss:0x80450FC7; // type:object size:0x1 data:byte -m_eye_move_flg = .sbss:0x80450FC8; // type:object size:0x1 scope:local align:1 data:byte +init$37209 = .sbss:0x80450FC5; // type:object size:0x1 data:byte +init$37212 = .sbss:0x80450FC6; // type:object size:0x1 data:byte +init$37215 = .sbss:0x80450FC7; // type:object size:0x1 data:byte +m_eye_move_flg__16daAlink_matAnm_c = .sbss:0x80450FC8; // type:object size:0x1 scope:local align:1 data:byte m_morf_frame__16daAlink_matAnm_c = .sbss:0x80450FC9; // type:object size:0x1 scope:global align:1 data:byte -bgWaitFlg = .sbss:0x80450FCC; // type:object size:0x4 scope:local align:4 data:4byte -struct_80450FD0 = .sbss:0x80450FD0; // type:object size:0x1 scope:local align:1 data:byte -data_80450FD1 = .sbss:0x80450FD1; // type:object size:0x1 scope:local align:1 data:byte +bgWaitFlg$58404 = .sbss:0x80450FCC; // type:object size:0x4 scope:local align:4 data:4byte +init$53406 = .sbss:0x80450FD0; // type:object size:0x1 scope:local align:1 data:byte +init$55897 = .sbss:0x80450FD1; // type:object size:0x1 scope:local align:1 data:byte mSrchName__8daNpcT_c = .sbss:0x80450FD8; // type:object size:0x2 scope:global align:2 data:2byte mFindCount__8daNpcT_c = .sbss:0x80450FDC; // type:object size:0x4 scope:global align:4 data:4byte m_name__23daBaseNpc_moveBgActor_c = .sbss:0x80450FE0; // type:object size:0x4 scope:global align:4 data:4byte m_dzb_id__23daBaseNpc_moveBgActor_c = .sbss:0x80450FE4; // type:object size:0x4 scope:global align:4 data:4byte m_set_func__23daBaseNpc_moveBgActor_c = .sbss:0x80450FE8; // type:object size:0x4 scope:global align:4 data:4byte -data_80450FEC = .sbss:0x80450FEC; // type:object size:0x1 scope:local align:4 data:byte +init$7237 = .sbss:0x80450FEC; // type:object size:0x1 scope:local align:4 data:byte mFindCount__8daNpcF_c = .sbss:0x80450FF0; // type:object size:0x4 scope:global align:4 data:4byte mSrchActorName__8daNpcF_c = .sbss:0x80450FF4; // type:object size:0x2 scope:global align:2 data:2byte init$1719 = .sbss:0x80450FF8; // type:object size:0x1 scope:global align:1 data:byte @@ -21934,20 +21934,20 @@ m_dropAngleY__20daPy_boomerangMove_c = .sbss:0x8045101C; // type:object size:0x2 m_eventKeepFlg__20daPy_boomerangMove_c = .sbss:0x8045101E; // type:object size:0x2 scope:global align:2 data:2byte Stage__22@unnamed@d_camera_cpp@ = .sbss:0x80451020; // type:object size:0x4 scope:global align:4 data:4byte prev_plat1$8536 = .sbss:0x80451024; // type:object size:0x4 scope:local align:4 data:4byte -data_80451028 = .sbss:0x80451028; // type:object size:0x1 scope:local align:4 data:byte +init$6037 = .sbss:0x80451028; // type:object size:0x1 scope:local align:4 data:byte prev_plat2$8539 = .sbss:0x8045102C; // type:object size:0x4 scope:local align:4 data:4byte -data_80451030 = .sbss:0x80451030; // type:object size:0x1 scope:local align:4 data:byte +init$6040 = .sbss:0x80451030; // type:object size:0x1 scope:local align:4 data:byte JumpCushion$9801 = .sbss:0x80451034; // type:object size:0x4 scope:local align:4 data:float -data_80451038 = .sbss:0x80451038; // type:object size:0x1 scope:local align:4 data:byte -data_80451039 = .sbss:0x80451039; // type:object size:0x1 data:byte +init$7253 = .sbss:0x80451038; // type:object size:0x1 scope:local align:4 data:byte +init$7257 = .sbss:0x80451039; // type:object size:0x1 data:byte LatitudeLimitMax$9807 = .sbss:0x8045103C; // type:object size:0x2 scope:local align:4 -data_8045103E = .sbss:0x8045103E; // type:object size:0x1 data:byte +init$11469 = .sbss:0x8045103E; // type:object size:0x1 data:byte _120$14158 = .sbss:0x80451040; // type:object size:0x2 scope:local align:4 data:2byte -data_80451042 = .sbss:0x80451042; // type:object size:0x1 data:byte +init$11919 = .sbss:0x80451042; // type:object size:0x1 data:byte _120$14614 = .sbss:0x80451044; // type:object size:0x2 scope:local align:4 data:2byte -data_80451046 = .sbss:0x80451046; // type:object size:0x1 data:byte +init$12264 = .sbss:0x80451046; // type:object size:0x1 data:byte LatMin$14963 = .sbss:0x80451048; // type:object size:0x2 scope:local align:4 data:2byte -data_8045104A = .sbss:0x8045104A; // type:object size:0x1 data:byte +init$12268 = .sbss:0x8045104A; // type:object size:0x1 data:byte LatMax$14967 = .sbss:0x8045104C; // type:object size:0x2 scope:local align:4 data:2byte g_siHIO = .sbss:0x80451050; // type:object size:0x8 scope:global align:4 dShopSystem_sellItemMax = .sbss:0x80451058; // type:object size:0x1 scope:local align:1 data:byte @@ -23641,8 +23641,8 @@ l_arcName = .sdata2:0x80452C90; // type:object size:0x6 scope:local align:4 data @21680 = .sdata2:0x80452F2C; // type:object size:0x4 scope:local align:4 data:float @21736 = .sdata2:0x80452F30; // type:object size:0x4 scope:local align:4 data:float @22146 = .sdata2:0x80452F34; // type:object size:0x4 scope:local align:4 data:float -data_80452F38 = .sdata2:0x80452F38; // type:object size:0x1 scope:local align:1 data:byte -data_80452F39 = .sdata2:0x80452F39; // type:object size:0x1 scope:local align:1 data:byte +data_80452F38$18852 = .sdata2:0x80452F38; // type:object size:0x1 scope:local align:1 data:byte +data_80452F39$18853 = .sdata2:0x80452F39; // type:object size:0x1 scope:local align:1 data:byte @22608 = .sdata2:0x80452F3C; // type:object size:0x4 scope:local align:4 data:float @22609 = .sdata2:0x80452F40; // type:object size:0x4 scope:local align:4 data:float @23155 = .sdata2:0x80452F44; // type:object size:0x4 scope:local align:4 data:float diff --git a/config/GZ2J01/splits.txt b/config/GZ2J01/splits.txt index 3ed377a92bd..071c93433a3 100644 --- a/config/GZ2J01/splits.txt +++ b/config/GZ2J01/splits.txt @@ -2216,7 +2216,7 @@ Z2AudioLib/Z2Audience.cpp: .rodata start:0x80396380 end:0x80396390 .data start:0x803C4DD8 end:0x803C4E10 .bss start:0x8042E318 end:0x8042E338 - .sbss start:0x8044B490 end:0x8044B4A0 + .sbss start:0x8044B490 end:0x8044B498 .sdata2 start:0x8044FBC0 end:0x8044FC58 Z2AudioLib/Z2SoundObject.cpp: @@ -2236,6 +2236,7 @@ Z2AudioLib/Z2Creature.cpp: .text start:0x802C2864 end:0x802C56B8 .ctors start:0x80375DC4 end:0x80375DC8 .data start:0x803C5370 end:0x803C5A30 + .sbss start:0x8044B498 end:0x8044B4A0 .sdata2 start:0x8044FCF8 end:0x8044FDB8 Z2AudioLib/Z2LinkMgr.cpp: diff --git a/config/GZ2P01/splits.txt b/config/GZ2P01/splits.txt index 9668ea8812e..520f385e2cf 100644 --- a/config/GZ2P01/splits.txt +++ b/config/GZ2P01/splits.txt @@ -2215,7 +2215,7 @@ Z2AudioLib/Z2Audience.cpp: .rodata start:0x8039DF00 end:0x8039DF10 .data start:0x803CCC38 end:0x803CCC70 .bss start:0x80436198 end:0x804361B8 - .sbss start:0x80453318 end:0x80453328 + .sbss start:0x80453318 end:0x80453320 .sdata2 start:0x80457A78 end:0x80457B10 Z2AudioLib/Z2SoundObject.cpp: @@ -2235,6 +2235,7 @@ Z2AudioLib/Z2Creature.cpp: .text start:0x802C11C8 end:0x802C401C .ctors start:0x80374764 end:0x80374768 .data start:0x803CD1D0 end:0x803CD890 + .sbss start:0x80453320 end:0x80453328 .sdata2 start:0x80457BB0 end:0x80457C70 Z2AudioLib/Z2LinkMgr.cpp: diff --git a/config/ShieldD/rels/d_a_npc_p2D/symbols.txt b/config/ShieldD/rels/d_a_npc_p2D/symbols.txt index 38b6acea7c6..04fff343716 100644 --- a/config/ShieldD/rels/d_a_npc_p2D/symbols.txt +++ b/config/ShieldD/rels/d_a_npc_p2D/symbols.txt @@ -1,12 +1,12 @@ _prolog = .text:0x00000000; // type:function size:0x2C scope:global _epilog = .text:0x00000030; // type:function size:0x2C scope:global _unresolved = .text:0x00000060; // type:function size:0x20 scope:global -daNpc_P2Create__FPv = .text:0x00000080; // type:function size:0x8 scope:global -daNpc_P2Delete__FPv = .text:0x00000090; // type:function size:0x8 scope:global -daNpc_P2Execute__FPv = .text:0x000000A0; // type:function size:0x8 scope:global -daNpc_P2Draw__FPv = .text:0x000000B0; // type:function size:0x8 scope:global -daNpc_P2IsDelete__FPv = .text:0x000000C0; // type:function size:0x8 scope:global +daNpc_P2Create__FPv = .text:0x00000080; // type:function size:0x8 scope:local +daNpc_P2Delete__FPv = .text:0x00000090; // type:function size:0x8 scope:local +daNpc_P2Execute__FPv = .text:0x000000A0; // type:function size:0x8 scope:local +daNpc_P2Draw__FPv = .text:0x000000B0; // type:function size:0x8 scope:local +daNpc_P2IsDelete__FPv = .text:0x000000C0; // type:function size:0x8 scope:local _ctors = .ctors:0x00000000; // type:label scope:global _dtors = .dtors:0x00000000; // type:label scope:global -daNpc_P2MethodTable = .data:0x00000000; // type:object size:0x20 scope:global +daNpc_P2MethodTable = .data:0x00000000; // type:object size:0x20 scope:local g_profile_NPC_P2 = .data:0x00000020; // type:object size:0x30 scope:global diff --git a/configure.py b/configure.py index 7ff8076c630..d7a983ee0c6 100755 --- a/configure.py +++ b/configure.py @@ -506,7 +506,7 @@ config.libs = [ Object(MatchingFor(ALL_GCN), "m_Do/m_Do_graphic.cpp"), Object(MatchingFor(ALL_GCN), "m_Do/m_Do_machine.cpp"), Object(MatchingFor(ALL_GCN), "m_Do/m_Do_mtx.cpp"), - Object(NonMatching, "m_Do/m_Do_ext.cpp"), # weak func order; unused weak func inlining issues + Object(Equivalent, "m_Do/m_Do_ext.cpp"), # weak func order Object(MatchingFor(ALL_GCN), "m_Do/m_Do_lib.cpp"), Object(MatchingFor(ALL_GCN), "m_Do/m_Do_Reset.cpp"), Object(MatchingFor(ALL_GCN), "m_Do/m_Do_dvd_thread.cpp"), @@ -610,7 +610,7 @@ config.libs = [ Object(MatchingFor(ALL_GCN), "d/d_com_inf_game.cpp"), Object(MatchingFor(ALL_GCN), "d/d_com_static.cpp"), Object(MatchingFor(ALL_GCN), "d/d_com_inf_actor.cpp"), - Object(MatchingFor(ALL_GCN, "Shield"), "d/d_bomb.cpp"), + Object(MatchingFor(ALL_GCN, "Shield"), "d/d_bomb.cpp"), # debug weak func order Object(MatchingFor(ALL_GCN), "d/d_lib.cpp"), Object(MatchingFor(ALL_GCN), "d/d_save.cpp"), Object(MatchingFor(ALL_GCN, "Shield", "ShieldD"), "d/d_save_init.cpp"), @@ -692,7 +692,7 @@ config.libs = [ Object(NonMatching, "d/d_camera.cpp"), Object(MatchingFor(ALL_GCN), "d/d_envse.cpp"), Object(MatchingFor(ALL_GCN), "d/d_file_select.cpp"), - Object(NonMatching, "d/d_file_sel_warning.cpp"), + Object(MatchingFor(ALL_GCN), "d/d_file_sel_warning.cpp"), Object(MatchingFor(ALL_GCN), "d/d_file_sel_info.cpp"), Object(MatchingFor(ALL_GCN), "d/d_bright_check.cpp"), Object(MatchingFor(ALL_GCN), "d/d_scope.cpp"), @@ -708,7 +708,7 @@ config.libs = [ Object(MatchingFor(ALL_GCN), "d/d_ky_thunder.cpp"), Object(MatchingFor(ALL_GCN), "d/d_kantera_icon_meter.cpp"), Object(MatchingFor(ALL_GCN), "d/d_menu_calibration.cpp"), - Object(NonMatching, "d/d_menu_collect.cpp"), + Object(NonMatching, "d/d_menu_collect.cpp"), # weak func order (dMenu_Collect2D_c::draw()) Object(MatchingFor(ALL_GCN), "d/d_menu_dmap.cpp"), Object(MatchingFor(ALL_GCN), "d/d_menu_dmap_map.cpp"), Object(MatchingFor(ALL_GCN), "d/d_menu_map_common.cpp"), @@ -724,7 +724,7 @@ config.libs = [ Object(MatchingFor(ALL_GCN), "d/d_menu_save.cpp"), Object(MatchingFor(ALL_GCN), "d/d_menu_skill.cpp"), Object(MatchingFor(ALL_GCN), "d/d_menu_window_HIO.cpp"), - Object(Equivalent, "d/d_menu_window.cpp"), # weak func order + Object(Equivalent, "d/d_menu_window.cpp"), # weak func order (dDlst_MENU_CAPTURE_c::draw) Object(MatchingFor(ALL_GCN), "d/d_meter_HIO.cpp"), Object(MatchingFor(ALL_GCN), "d/d_meter_button.cpp"), Object(MatchingFor(ALL_GCN), "d/d_meter_haihai.cpp"), @@ -959,10 +959,10 @@ config.libs = [ Object(MatchingFor(ALL_GCN, "ShieldD"), "JSystem/JAudio2/JASVoiceBank.cpp"), Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JASBasicInst.cpp"), Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JASDrumSet.cpp"), - Object(Equivalent, "JSystem/JAudio2/JASBasicWaveBank.cpp"), + Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JASBasicWaveBank.cpp"), Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JASSimpleWaveBank.cpp"), Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JASWSParser.cpp"), - Object(NonMatching, "JSystem/JAudio2/JASBNKParser.cpp"), + Object(NonMatching, "JSystem/JAudio2/JASBNKParser.cpp"), # missing bss var Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JASWaveArcLoader.cpp"), Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JASChannel.cpp"), Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JASLfo.cpp"), @@ -1000,7 +1000,7 @@ config.libs = [ Object(MatchingFor(ALL_GCN, "ShieldD"), "JSystem/JAudio2/JAUBankTable.cpp"), Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JAUClusterSound.cpp"), Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JAUInitializer.cpp"), - Object(Equivalent, "JSystem/JAudio2/JAUSectionHeap.cpp"), #weak function order + Object(Equivalent, "JSystem/JAudio2/JAUSectionHeap.cpp"), # weak function order Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JAUSeqCollection.cpp"), Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JAUSeqDataBlockMgr.cpp"), Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JAUSoundAnimator.cpp"), @@ -1140,7 +1140,7 @@ config.libs = [ Object(MatchingFor(ALL_GCN), "JSystem/J2DGraph/J2DOrthoGraph.cpp"), Object(MatchingFor(ALL_GCN), "JSystem/J2DGraph/J2DTevs.cpp"), Object(Equivalent, "JSystem/J2DGraph/J2DMaterial.cpp"), # weak func order - Object(NonMatching, "JSystem/J2DGraph/J2DMatBlock.cpp"), + Object(NonMatching, "JSystem/J2DGraph/J2DMatBlock.cpp"), # weak func order (J3DTevBlock) Object(MatchingFor(ALL_GCN), "JSystem/J2DGraph/J2DMaterialFactory.cpp"), Object(MatchingFor(ALL_GCN), "JSystem/J2DGraph/J2DPrint.cpp"), Object(MatchingFor(ALL_GCN), "JSystem/J2DGraph/J2DPane.cpp"), @@ -1855,13 +1855,13 @@ config.libs = [ ActorRel(MatchingFor(ALL_GCN), "d_a_myna"), ActorRel(MatchingFor(ALL_GCN), "d_a_ni"), ActorRel(MatchingFor(ALL_GCN), "d_a_npc_aru"), - ActorRel(Equivalent, "d_a_npc_ash"), # weak func order - ActorRel(Equivalent, "d_a_npc_ashB"), # weak func order + ActorRel(Equivalent, "d_a_npc_ash"), # weak func order (sinShort) + ActorRel(Equivalent, "d_a_npc_ashB"), # weak func order (sinShort) ActorRel(MatchingFor(ALL_GCN), "d_a_npc_bans"), ActorRel(NonMatching, "d_a_npc_blue_ns"), ActorRel(MatchingFor(ALL_GCN), "d_a_npc_bou"), - ActorRel(Equivalent, "d_a_npc_bouS"), # weak func order - ActorRel(Equivalent, "d_a_npc_cdn3"), # weak func order + ActorRel(Equivalent, "d_a_npc_bouS"), # weak func order (sinShort) + ActorRel(Equivalent, "d_a_npc_cdn3"), # weak func order (~csXyz); vtable order ActorRel(MatchingFor(ALL_GCN), "d_a_npc_chat"), ActorRel(MatchingFor(ALL_GCN), "d_a_npc_chin"), ActorRel(MatchingFor(ALL_GCN), "d_a_npc_clerka"), diff --git a/include/JSystem/J3DGraphAnimator/J3DAnimation.h b/include/JSystem/J3DGraphAnimator/J3DAnimation.h index 37851892d5c..b614e06b11f 100644 --- a/include/JSystem/J3DGraphAnimator/J3DAnimation.h +++ b/include/JSystem/J3DGraphAnimator/J3DAnimation.h @@ -929,6 +929,7 @@ public: J3DFrameCtrl() { this->init(0); } void init(s16); + void init(int endFrame) { init((s16)endFrame); } BOOL checkPass(f32); void update(); virtual ~J3DFrameCtrl() {} @@ -987,8 +988,7 @@ struct J3DMtxCalcAnimationAdaptorDefault : public J3DMtxCalcAnimationAdaptorBase J3DTransformInfo transform; J3DTransformInfo* transform_p; if (pMtxCalc->getAnmTransform() != NULL) { - u16 jnt_no = J3DMtxCalc::getJoint()->getJntNo(); - pMtxCalc->getAnmTransform()->getTransform(jnt_no, &transform); + pMtxCalc->getAnmTransform()->getTransform(J3DMtxCalc::getJoint()->getJntNo(), &transform); transform_p = &transform; } else { transform_p = &J3DMtxCalc::getJoint()->getTransformInfo(); diff --git a/include/JSystem/J3DGraphAnimator/J3DJoint.h b/include/JSystem/J3DGraphAnimator/J3DJoint.h index 9510ceb4155..2ddff2945b8 100644 --- a/include/JSystem/J3DGraphAnimator/J3DJoint.h +++ b/include/JSystem/J3DGraphAnimator/J3DJoint.h @@ -19,12 +19,27 @@ public: /* 80325D1C */ static void setMtxBuffer(J3DMtxBuffer*); /* 8000D948 */ virtual ~J3DMtxCalc() {} - /* 80014E90 */ virtual void setAnmTransform(J3DAnmTransform*) {} - /* 80014E9C */ virtual J3DAnmTransform* getAnmTransform() { return NULL; } - /* 80014E8C */ virtual void setAnmTransform(u8, J3DAnmTransform*) {} - /* 80014E94 */ virtual J3DAnmTransform* getAnmTransform(u8) { return NULL; } - /* 80014EA4 */ virtual void setWeight(u8, f32) {} - /* 80014EA8 */ virtual f32 getWeight(u8) const { return 0.0f; } + /* 80014E90 */ virtual void setAnmTransform(J3DAnmTransform*) { + JUT_ASSERT_MSG(127, FALSE, "You cannot use this method"); + } + /* 80014E9C */ virtual J3DAnmTransform* getAnmTransform() { + JUT_ASSERT_MSG(131, FALSE, "You cannot use this method"); + return NULL; + } + /* 80014E8C */ virtual void setAnmTransform(u8, J3DAnmTransform*) { + JUT_ASSERT_MSG(137, FALSE, "You cannot use this method"); + } + /* 80014E94 */ virtual J3DAnmTransform* getAnmTransform(u8) { + JUT_ASSERT_MSG(141, FALSE, "You cannot use this method"); + return NULL; + } + /* 80014EA4 */ virtual void setWeight(u8, f32) { + JUT_ASSERT_MSG(147, FALSE, "You cannot use this method"); + } + /* 80014EA8 */ virtual f32 getWeight(u8) const { + JUT_ASSERT_MSG(152, FALSE, "You cannot use this method"); + return 0.0f; + } virtual void init(const Vec& param_0, const Mtx&) = 0; virtual void calc() = 0; @@ -125,7 +140,10 @@ public: J3DMtxCalcNoAnm() {} virtual ~J3DMtxCalcNoAnm() {} virtual void init(const Vec& param_0, const Mtx& param_1) { B::init(param_0, param_1); } - virtual void calc() { A::calcTransform(mJoint->getTransformInfo()); } + virtual void calc() { + J3DTransformInfo& transInfo = getJoint()->getTransformInfo(); + A::calcTransform(transInfo); + } }; /** diff --git a/include/JSystem/J3DGraphBase/J3DMatBlock.h b/include/JSystem/J3DGraphBase/J3DMatBlock.h index 6d019321c51..423ece548a4 100644 --- a/include/JSystem/J3DGraphBase/J3DMatBlock.h +++ b/include/JSystem/J3DGraphBase/J3DMatBlock.h @@ -1641,7 +1641,7 @@ struct J3DIndTexMtx : public J3DIndTexMtxInfo { J3DIndTexMtx(J3DIndTexMtxInfo const& info) { *(J3DIndTexMtxInfo*)this = info; } /* 8000E064 */ ~J3DIndTexMtx() {} void load(u32 param_1) const { - J3DGDSetIndTexMtx((GXIndTexMtxID)(param_1 + 1), (Mtx3P)field_0x0, field_0x18); + J3DGDSetIndTexMtx((GXIndTexMtxID)(param_1 + GX_ITM_0), (Mtx3P)field_0x0, field_0x18); } }; // Size: 0x1C diff --git a/include/JSystem/J3DGraphBase/J3DShape.h b/include/JSystem/J3DGraphBase/J3DShape.h index 8524af4cf9a..9331f74cb5c 100644 --- a/include/JSystem/J3DGraphBase/J3DShape.h +++ b/include/JSystem/J3DGraphBase/J3DShape.h @@ -144,7 +144,7 @@ public: void onFlag(u32 flag) { mFlags |= flag; } void offFlag(u32 flag) { mFlags &= ~flag; } - bool checkFlag(u32 flag) const { return (mFlags & flag) != 0; } + bool checkFlag(u32 flag) const { return (mFlags & flag) ? true : false; } void setMaterial(J3DMaterial* pMaterial) { J3D_ASSERT_NULLPTR(509, pMaterial != NULL); diff --git a/include/JSystem/JAudio2/JASBasicWaveBank.h b/include/JSystem/JAudio2/JASBasicWaveBank.h index 1c4f69d7613..cc6db20d3f1 100644 --- a/include/JSystem/JAudio2/JASBasicWaveBank.h +++ b/include/JSystem/JAudio2/JASBasicWaveBank.h @@ -4,29 +4,6 @@ #include "JSystem/JAudio2/JASWaveArcLoader.h" #include "JSystem/JAudio2/JASWaveInfo.h" -/** - * @ingroup jsystem-jaudio - * - */ -class JASWaveHandle { -public: - virtual ~JASWaveHandle() {}; - virtual const JASWaveInfo* getWaveInfo() const = 0; - virtual int getWavePtr() const = 0; -}; - -/** - * @ingroup jsystem-jaudio - * - */ -class JASWaveBank { -public: - /* 80298B88 */ virtual ~JASWaveBank() {}; - virtual JASWaveHandle* getWaveHandle(u32) const = 0; - virtual JASWaveArc* getWaveArc(u32) = 0; - virtual u32 getArcCount() const = 0; -}; - /** * @ingroup jsystem-jaudio * diff --git a/include/JSystem/JAudio2/JASWaveInfo.h b/include/JSystem/JAudio2/JASWaveInfo.h index 84f3814fb09..7db3836400c 100644 --- a/include/JSystem/JAudio2/JASWaveInfo.h +++ b/include/JSystem/JAudio2/JASWaveInfo.h @@ -3,6 +3,8 @@ #include "dolphin/types.h" +class JASWaveArc; + /** * @ingroup jsystem-jaudio * @@ -29,4 +31,27 @@ struct JASWaveInfo { static u32 one; }; +/** + * @ingroup jsystem-jaudio + * + */ +class JASWaveHandle { +public: + virtual ~JASWaveHandle() {} + virtual const JASWaveInfo* getWaveInfo() const = 0; + virtual int getWavePtr() const = 0; +}; + +/** + * @ingroup jsystem-jaudio + * + */ +class JASWaveBank { +public: + /* 80298B88 */ virtual ~JASWaveBank() {} + virtual JASWaveHandle* getWaveHandle(u32) const = 0; + virtual JASWaveArc* getWaveArc(u32) = 0; + virtual u32 getArcCount() const = 0; +}; + #endif /* JASWAVEINFO_H */ diff --git a/include/JSystem/JKernel/JKRHeap.h b/include/JSystem/JKernel/JKRHeap.h index d64a5982335..afea7737163 100644 --- a/include/JSystem/JKernel/JKRHeap.h +++ b/include/JSystem/JKernel/JKRHeap.h @@ -127,7 +127,6 @@ protected: /* 0x5C */ JSUList mDisposerList; /* 0x68 */ bool mErrorFlag; /* 0x69 */ bool mInitFlag; - /* 0x6A */ u8 padding_0x6a[2]; public: static bool initArena(char** memory, u32* size, int maxHeaps); diff --git a/include/d/actor/d_a_npc2.h b/include/d/actor/d_a_npc2.h index e58a8c1b7b3..69aee91aa5e 100644 --- a/include/d/actor/d_a_npc2.h +++ b/include/d/actor/d_a_npc2.h @@ -1,7 +1,10 @@ #ifndef D_A_NPC2 #define D_A_NPC2 +#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" +#include "d/d_bg_s_acch.h" #include "d/d_bg_s_movebg_actor.h" +#include "d/d_cc_d.h" #include "d/d_msg_flow.h" #include "d/d_path.h" diff --git a/include/d/actor/d_a_npc4.h b/include/d/actor/d_a_npc4.h index 69f38f4a7cc..2ff7c6386a7 100644 --- a/include/d/actor/d_a_npc4.h +++ b/include/d/actor/d_a_npc4.h @@ -9,6 +9,7 @@ #include "f_op/f_op_actor.h" #include "f_pc/f_pc_base.h" #include "m_Do/m_Do_ext.h" +#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" class daNpcF_ActorMngr_c { private: diff --git a/include/m_Do/m_Do_mtx.h b/include/m_Do/m_Do_mtx.h index d6b2fef63e7..4726c89168d 100644 --- a/include/m_Do/m_Do_mtx.h +++ b/include/m_Do/m_Do_mtx.h @@ -28,8 +28,12 @@ inline void mDoMtx_multVecSR(const Mtx m, const Vec* src, Vec* dst) { MTXMultVecSR(m, src, dst); } +inline void mDoMtx_concat(const Mtx a, const Mtx b, Mtx c) { + PSMTXConcat(a, b, c); +} + inline void cMtx_concat(const Mtx a, const Mtx b, Mtx ab) { - MTXConcat(a, b, ab); + mDoMtx_concat(a, b, ab); } inline void cMtx_scale(Mtx m, f32 x, f32 y, f32 z) { @@ -126,10 +130,6 @@ inline void mDoMtx_identity(Mtx m) { PSMTXIdentity(m); } -inline void mDoMtx_concat(const Mtx a, const Mtx b, Mtx c) { - PSMTXConcat(a, b, c); -} - inline void mDoMtx_inverse(const Mtx a, Mtx b) { MTXInverse(a, b); } diff --git a/src/JSystem/J3DGraphBase/J3DTevs.cpp b/src/JSystem/J3DGraphBase/J3DTevs.cpp index e0ef1b0ab9a..ed2f09c36bd 100644 --- a/src/JSystem/J3DGraphBase/J3DTevs.cpp +++ b/src/JSystem/J3DGraphBase/J3DTevs.cpp @@ -387,7 +387,7 @@ extern J3DNBTScaleInfo const j3dDefaultNBTScaleInfo = { }; /* 80434C98-80436A60 0619B8 1DC7+01 1/1 0/0 0/0 .bss j3dTexCoordTable */ -static u8 j3dTexCoordTable[7623 + 1 /* padding */]; +static u8 j3dTexCoordTable[7623]; /* 80324194-8032423C 31EAD4 00A8+00 0/0 1/1 0/0 .text makeTexCoordTable__Fv */ void makeTexCoordTable() { diff --git a/src/JSystem/J3DGraphLoader/J3DMaterialFactory.cpp b/src/JSystem/J3DGraphLoader/J3DMaterialFactory.cpp index ddd7c61d12c..c6601ec64e0 100644 --- a/src/JSystem/J3DGraphLoader/J3DMaterialFactory.cpp +++ b/src/JSystem/J3DGraphLoader/J3DMaterialFactory.cpp @@ -150,7 +150,7 @@ J3DMaterial* J3DMaterialFactory::createNormalMaterial(J3DMaterial* i_material, i BOOL ind_flag = (i_flags & 0x1000000) ? TRUE : FALSE; if (i_material == NULL) { i_material = new J3DMaterial(); - JUT_ASSERT_MSG(269, i_material, "Error : allocate memory."); + J3D_ASSERT_ALLOCMEM(269, i_material); } i_material->mColorBlock = J3DMaterial::createColorBlock(color_flag); i_material->mTexGenBlock = J3DMaterial::createTexGenBlock(texgen_flag); @@ -252,14 +252,14 @@ J3DMaterial* J3DMaterialFactory::createPatchedMaterial(J3DMaterial* i_material, u32 i_flags) const { if (i_material == NULL) { i_material = new J3DPatchedMaterial(); - JUT_ASSERT_MSG(430, i_material, "Error : allocate memory."); + J3D_ASSERT_ALLOCMEM(430, i_material); } bool bVar1 = i_flags & 0x3000000 ? true : false; i_material->mColorBlock = J3DMaterial::createColorBlock(0x40000000); i_material->mTexGenBlock = new J3DTexGenBlockPatched(); - JUT_ASSERT_MSG(440, i_material->mTexGenBlock, "Error : allocate memory."); + J3D_ASSERT_ALLOCMEM(440, i_material->mTexGenBlock); i_material->mTevBlock = new J3DTevBlockPatched(); - JUT_ASSERT_MSG(442, i_material->mTevBlock, "Error : allocate memory."); + J3D_ASSERT_ALLOCMEM(442, i_material->mTevBlock); i_material->mIndBlock = J3DMaterial::createIndBlock(bVar1); i_material->mPEBlock = J3DMaterial::createPEBlock(0x10000000, getMaterialMode(i_idx)); i_material->mIndex = i_idx; diff --git a/src/Z2AudioLib/Z2Creature.cpp b/src/Z2AudioLib/Z2Creature.cpp index fb7023503f6..44e05e2af1d 100644 --- a/src/Z2AudioLib/Z2Creature.cpp +++ b/src/Z2AudioLib/Z2Creature.cpp @@ -8,6 +8,13 @@ static void Z2_E_ms_modVol(Z2SoundHandlePool*, u32); static void Z2_E_mm_modPitch(Z2SoundHandlePool*, u32); static void Z2_B_zan_modPitch(Z2SoundHandlePool*, u32); +/* ############################################################################################## */ +/* 80451358-80451360 -00001 0008+00 0/0 1/1 0/0 .sbss None */ +/* 80451358 0001+00 data_80451358 None */ +/* 80451359 0007+00 data_80451359 None */ +s8 data_80451358; +s8 data_80451359; + /* 80455BD8-80455BDC 0041D8 0004+00 1/1 0/0 0/0 .sdata2 sAreaDefault */ static Z2EnemyArea const sAreaDefault = {true, 700, 1100, 1500}; diff --git a/src/d/actor/d_a_alink_whistle.inc b/src/d/actor/d_a_alink_whistle.inc index 111ae5b610b..78d17bfbb87 100644 --- a/src/d/actor/d_a_alink_whistle.inc +++ b/src/d/actor/d_a_alink_whistle.inc @@ -28,12 +28,6 @@ static fopAc_ac_c* daAlink_searchHawk(fopAc_ac_c* i_actor, void* i_data) { return NULL; } -/* 80453020-80453024 001620 0004+00 1/1 0/0 0/0 .sdata2 grassWhistleIdx$33097 */ -static const u16 grassWhistleIdx[2] = { - 3, - 3, -}; - /* 80111784-8011181C 10C0C4 0098+00 1/1 0/0 0/0 .text setGrassWhistleModel__9daAlink_cFi */ void daAlink_c::setGrassWhistleModel(int modelType) { @@ -41,6 +35,10 @@ void daAlink_c::setGrassWhistleModel(int modelType) { "J_Tobi", "J_Umak", }; + static const u16 grassWhistleIdx[2] = { + 3, + 3, + }; JKRHeap* prev_heap = setItemHeap(); diff --git a/src/d/actor/d_a_horse.cpp b/src/d/actor/d_a_horse.cpp index e60d571f648..f52779fbb9f 100644 --- a/src/d/actor/d_a_horse.cpp +++ b/src/d/actor/d_a_horse.cpp @@ -16,6 +16,7 @@ #include "m_Do/m_Do_controller_pad.h" #include "SSystem/SComponent/c_math.h" #include "Z2AudioLib/Z2Instances.h" +#include "JSystem/JAudio2/JAUSectionHeap.h" #include #define ANM_HS_BACK_WALK 6 @@ -1686,7 +1687,7 @@ void daHorse_c::setMoveAnime(f32 i_morf) { } /* 8083BF48-8083CA80 004108 0B38+00 6/6 0/0 0/0 .text checkHorseNoMove__9daHorse_cFi */ -// NONMATCHING - some float regalloc, equivalent +// NONMATCHING - instruction order, some float regalloc, equivalent int daHorse_c::checkHorseNoMove(int param_0) { cXyz sp50; cXyz sp44; @@ -4703,3 +4704,5 @@ extern actor_process_profile_definition g_profile_HORSE = { }; AUDIO_INSTANCES; +template<> +JAUSectionHeap* JASGlobalInstance::sInstance; diff --git a/src/d/actor/d_a_npc4.cpp b/src/d/actor/d_a_npc4.cpp index 49fb5cdbc52..0a0a3307a35 100644 --- a/src/d/actor/d_a_npc4.cpp +++ b/src/d/actor/d_a_npc4.cpp @@ -1,5 +1,7 @@ #include "d/actor/d_a_npc4.h" +#include "d/actor/d_a_npc2.h" #include "d/actor/d_a_npc_tk.h" +#include "d/d_debug_viewer.h" #include "d/d_msg_object.h" #include "d/actor/d_a_tag_evtarea.h" #include "dol2asm.h" @@ -2290,221 +2292,41 @@ dCcD_SrcGObjInf const daNpcF_c::mCcDObjInfo = { {0} }; -/* 80392720-80392725 01ED80 0005+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80392720 = ".bck"; -#pragma pop - -/* 80392725-8039272A 01ED85 0005+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80392725 = ".btp"; -#pragma pop - -/* 8039272A-8039272F 01ED8A 0005+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039272A = ".btk"; -#pragma pop - -/* 8039272F-8039274A 01ED8F 001B+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039272F = "%.3ff,\t// 注目オフセット\n"; -#pragma pop - -/* 8039274A-8039275B 01EDAA 0011+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039274A = "%.3ff,\t// 重力\n"; -#pragma pop - -/* 8039275B-80392770 01EDBB 0015+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039275B = "%.3ff,\t// スケ−ル\n"; -#pragma pop - -/* 80392770-8039278B 01EDD0 001B+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80392770 = "%.3ff,\t// リアル影サイズ\n"; -#pragma pop - -/* 8039278B-8039279C 01EDEB 0011+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039278B = "%.3ff,\t// 体重\n"; -#pragma pop - -/* 8039279C-803927AD 01EDFC 0011+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039279C = "%.3ff,\t// 高さ\n"; -#pragma pop - -/* 803927AD-803927C0 01EE0D 0013+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803927AD = "%.3ff,\t// ひざ丈\n"; -#pragma pop - -/* 803927C0-803927CF 01EE20 000F+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803927C0 = "%.3ff,\t// 幅\n"; -#pragma pop - -/* 803927CF-803927E8 01EE2F 0019+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803927CF = "%.3ff,\t// 腰のX角上限\n"; -#pragma pop - -/* 803927E8-80392801 01EE48 0019+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803927E8 = "%.3ff,\t// 腰のX角下限\n"; -#pragma pop - -/* 80392801-8039281A 01EE61 0019+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80392801 = "%.3ff,\t// 腰のY角上限\n"; -#pragma pop - -/* 8039281A-80392833 01EE7A 0019+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039281A = "%.3ff,\t// 腰のY角下限\n"; -#pragma pop - -/* 80392833-8039284C 01EE93 0019+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80392833 = "%.3ff,\t// 頭のX角上限\n"; -#pragma pop - -/* 8039284C-80392865 01EEAC 0019+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039284C = "%.3ff,\t// 頭のX角下限\n"; -#pragma pop - -/* 80392865-8039287E 01EEC5 0019+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80392865 = "%.3ff,\t// 頭のY角上限\n"; -#pragma pop - -/* 8039287E-80392897 01EEDE 0019+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039287E = "%.3ff,\t// 頭のY角下限\n"; -#pragma pop - -/* 80392897-803928B0 01EEF7 0019+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80392897 = "%.3ff,\t// 首の回転比率\n"; -#pragma pop - -/* 803928B0-803928C9 01EF10 0019+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803928B0 = "%.3ff,\t// 補間フレ−ム\n"; -#pragma pop - -/* 803928C9-803928DE 01EF29 0015+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803928C9 = "%d, \t// 会話距離\n"; -#pragma pop - -/* 803928DE-803928F3 01EF3E 0015+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803928DE = "%d, \t// 会話角度\n"; -#pragma pop - -/* 803928F3-80392908 01EF53 0015+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803928F3 = "%d, \t// 注目距離\n"; -#pragma pop - -/* 80392908-8039291D 01EF68 0015+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80392908 = "%d, \t// 注目角度\n"; -#pragma pop - -/* 8039291D-8039292E 01EF7D 0011+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039291D = "%.3ff,\t// 視界\n"; -#pragma pop - -/* 8039292E-80392945 01EF8E 0017+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039292E = "%.3ff,\t// サ−チ距離\n"; -#pragma pop - -/* 80392945-8039295C 01EFA5 0017+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80392945 = "%.3ff,\t// サ−チ高さ\n"; -#pragma pop - -/* 8039295C-80392973 01EFBC 0017+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039295C = "%.3ff,\t// サ−チ低さ\n"; -#pragma pop - -/* 80392973-80392988 01EFD3 0015+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80392973 = "%d, \t// 注目時間\n"; -#pragma pop - -/* 80392988-803929A1 01EFE8 0019+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80392988 = "%d, \t// ダメ−ジ期間\n"; -#pragma pop - -/* 803929A1-803929B2 01F001 0011+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -// MWCC ignores mapping of some japanese characters using the -// byte 0x5C (ASCII '\'). This is why this string is hex-encoded. -SECTION_DEAD static char const* const stringBase_803929A1 = - "\x25\x64\x2C\x20\x20\x20\x09\x2F\x2F\x20\x20\x95\x5C\x8F\xEE\x0A"; -#pragma pop - -/* 803929B2-803929C3 01F012 0011+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803929B2 = "%d, \t// 動作\n"; -#pragma pop - -/* 803929C3-803929DA 01F023 0017+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803929C3 = "%d, \t// 注視モ−ド\n"; -#pragma pop - -/* 803929DA-803929F7 01F03A 001D+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803929DA = "%d, \t// デバグモ−ドON\n"; -#pragma pop - -/* 803929F7-80392A18 01F057 001B+06 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803929F7 = "%d, \t// デバグ情報ON\n"; -#pragma pop +static void dummyStrings() { + DEAD_STRING(".bck"); + DEAD_STRING(".btp"); + DEAD_STRING(".btk"); + DEAD_STRING("%.3ff,\t// 注目オフセット\n"); + DEAD_STRING("%.3ff,\t// 重力\n"); + DEAD_STRING("%.3ff,\t// スケ−ル\n"); + DEAD_STRING("%.3ff,\t// リアル影サイズ\n"); + DEAD_STRING("%.3ff,\t// 体重\n"); + DEAD_STRING("%.3ff,\t// 高さ\n"); + DEAD_STRING("%.3ff,\t// ひざ丈\n"); + DEAD_STRING("%.3ff,\t// 幅\n"); + DEAD_STRING("%.3ff,\t// 腰のX角上限\n"); + DEAD_STRING("%.3ff,\t// 腰のX角下限\n"); + DEAD_STRING("%.3ff,\t// 腰のY角上限\n"); + DEAD_STRING("%.3ff,\t// 腰のY角下限\n"); + DEAD_STRING("%.3ff,\t// 頭のX角上限\n"); + DEAD_STRING("%.3ff,\t// 頭のX角下限\n"); + DEAD_STRING("%.3ff,\t// 頭のY角上限\n"); + DEAD_STRING("%.3ff,\t// 頭のY角下限\n"); + DEAD_STRING("%.3ff,\t// 首の回転比率\n"); + DEAD_STRING("%.3ff,\t// 補間フレ−ム\n"); + DEAD_STRING("%d, \t// 会話距離\n"); + DEAD_STRING("%d, \t// 会話角度\n"); + DEAD_STRING("%d, \t// 注目距離\n"); + DEAD_STRING("%d, \t// 注目角度\n"); + DEAD_STRING("%.3ff,\t// 視界\n"); + DEAD_STRING("%.3ff,\t// サ−チ距離\n"); + DEAD_STRING("%.3ff,\t// サ−チ高さ\n"); + DEAD_STRING("%.3ff,\t// サ−チ低さ\n"); + DEAD_STRING("%d, \t// 注目時間\n"); + DEAD_STRING("%d, \t// ダメ−ジ期間\n"); + DEAD_STRING("%d, \t// 表情\n"); + DEAD_STRING("%d, \t// 動作\n"); + DEAD_STRING("%d, \t// 注視モ−ド\n"); + DEAD_STRING("%d, \t// デバグモ−ドON\n"); + DEAD_STRING("%d, \t// デバグ情報ON\n"); +} diff --git a/src/d/actor/d_a_obj_magne_arm.cpp b/src/d/actor/d_a_obj_magne_arm.cpp index 686b7258362..7e3c542deaa 100644 --- a/src/d/actor/d_a_obj_magne_arm.cpp +++ b/src/d/actor/d_a_obj_magne_arm.cpp @@ -163,8 +163,9 @@ void rideCallBack(dBgW* param_0, fopAc_ac_c* i_this, fopAc_ac_c* i_rideActor) { /* 805929A0-805929A4 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */ static char* l_arcName = "D_Marm"; -/* 80592977-8059297E 00012F 0007+00 0/0 0/0 0/0 .rodata None */ -SECTION_DEAD static char const* const stringBase_80592977 = "D_MN54"; +static void dummyStrings() { + DEAD_STRING("D_MN54"); +} /* 805929A4-805929BC 000024 0018+00 1/1 0/0 0/0 .data l_cull_box */ static Vec l_cull_box[2] = {{-500.0f, -3000.0f, -500.0f}, {500.0f, 3000.0f, 2500.0f}}; diff --git a/src/d/actor/d_a_obj_movebox.cpp b/src/d/actor/d_a_obj_movebox.cpp index a25fdbd5cac..7f15c1265d0 100644 --- a/src/d/actor/d_a_obj_movebox.cpp +++ b/src/d/actor/d_a_obj_movebox.cpp @@ -1279,6 +1279,7 @@ int daObjMovebox::Act_c::Mthd_Delete() { return rt; } +namespace daObjMovebox { namespace { /* 80480920-80480AD4 002F20 01B4+00 1/0 0/0 0/0 .text * Mthd_Create__Q212daObjMovebox29@unnamed@d_a_obj_movebox_cpp@FPv */ @@ -1317,7 +1318,8 @@ static actor_method_class Mthd_Table = { (process_method_func)Mthd_Execute, (process_method_func)Mthd_IsDelete, (process_method_func)Mthd_Draw, }; -} // namespace +}; // namespace +}; // namespace daObjMovebox /* 8048178C-804817BC -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Movebox */ extern actor_process_profile_definition g_profile_Obj_Movebox = { @@ -1331,7 +1333,7 @@ extern actor_process_profile_definition g_profile_Obj_Movebox = { 0, // mParameters &g_fopAc_Method.base, // sub_method 17, // mPriority - &Mthd_Table, // sub_method + &daObjMovebox::Mthd_Table, // sub_method 0x00040504, // mStatus fopAc_ACTOR_e, // mActorType fopAc_CULLBOX_CUSTOM_e, // cullType diff --git a/src/d/actor/d_a_obj_stairBlock.cpp b/src/d/actor/d_a_obj_stairBlock.cpp index 07b938edf59..e3125be5855 100644 --- a/src/d/actor/d_a_obj_stairBlock.cpp +++ b/src/d/actor/d_a_obj_stairBlock.cpp @@ -62,9 +62,8 @@ int daStairBlock_c::CreateHeap() { return 0; } - J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes("StaBlock", l_bckIdx[i]); - s32 res = mBckAnm[i].init(bck, 1, 0, 1.0f, 0, -1, false); - JUT_ASSERT_MSG(290, res == 1, "res == 1"); + s32 res = mBckAnm[i].init((J3DAnmTransform*)dComIfG_getObjectRes("StaBlock", l_bckIdx[i]), 1, 0, 1.0f, 0, -1, false); + JUT_ASSERT(290, res == 1); mBckAnm[i].setEndFrame(mBckAnm[i].getEndFrame() - 1.0f); } diff --git a/src/d/d_msg_object.cpp b/src/d/d_msg_object.cpp index 547eb68a1d3..5bf59fdd7cc 100644 --- a/src/d/d_msg_object.cpp +++ b/src/d/d_msg_object.cpp @@ -415,20 +415,19 @@ int dMsgObject_c::_create(msg_class* param_1) { return 4; } -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80399660 = "zel_00.bmg"; -SECTION_DEAD static char const* const stringBase_8039966B = "zel_01.bmg"; -SECTION_DEAD static char const* const stringBase_80399676 = "zel_02.bmg"; -SECTION_DEAD static char const* const stringBase_80399681 = "zel_03.bmg"; -SECTION_DEAD static char const* const stringBase_8039968C = "zel_04.bmg"; -SECTION_DEAD static char const* const stringBase_80399697 = "zel_05.bmg"; -SECTION_DEAD static char const* const stringBase_803996A2 = "zel_06.bmg"; -SECTION_DEAD static char const* const stringBase_803996AD = "zel_07.bmg"; -SECTION_DEAD static char const* const stringBase_803996B8 = "zel_08.bmg"; -SECTION_DEAD static char const* const stringBase_803996C3 = "zel_99.bmg"; -SECTION_DEAD static char const* const stringBase_803996CE = ""; -#pragma pop +static void dummyStrings() { + DEAD_STRING("zel_00.bmg"); + DEAD_STRING("zel_01.bmg"); + DEAD_STRING("zel_02.bmg"); + DEAD_STRING("zel_03.bmg"); + DEAD_STRING("zel_04.bmg"); + DEAD_STRING("zel_05.bmg"); + DEAD_STRING("zel_06.bmg"); + DEAD_STRING("zel_07.bmg"); + DEAD_STRING("zel_08.bmg"); + DEAD_STRING("zel_99.bmg"); + DEAD_STRING(""); +} /* 8043028C-8043069C 05CFAC 0410+00 7/7 51/51 0/0 .bss g_MsgObject_HIO_c */ dMsgObject_HIO_c g_MsgObject_HIO_c; diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp index 226cb9edc32..87d1dfdd13b 100644 --- a/src/m_Do/m_Do_ext.cpp +++ b/src/m_Do/m_Do_ext.cpp @@ -402,6 +402,21 @@ void mDoExt_brkAnmRemove(J3DModelData* i_modelData) { // this needs a lot of work still static void dummy2() { + FORCE_DONT_INLINE; + FORCE_DONT_INLINE; + FORCE_DONT_INLINE; + FORCE_DONT_INLINE; + FORCE_DONT_INLINE; + FORCE_DONT_INLINE; + FORCE_DONT_INLINE; + FORCE_DONT_INLINE; + FORCE_DONT_INLINE; + FORCE_DONT_INLINE; + FORCE_DONT_INLINE; + FORCE_DONT_INLINE; + FORCE_DONT_INLINE; + FORCE_DONT_INLINE; + J3DGXColor gxColor; J3DColorChan colorChan; J3DTexCoord texCoord; @@ -1261,7 +1276,6 @@ void mDoExt_McaMorf::calc() { u16 jntNo = getJoint()->getJntNo(); j3dSys.setCurrentMtxCalc(this); - Mtx sp68; J3DTransformInfo sp48; J3DTransformInfo sp28; J3DTransformInfo* var_r29; @@ -1313,6 +1327,7 @@ void mDoExt_McaMorf::calc() { JMAEulerToQuat(sp28.mRotation.x, sp28.mRotation.y, sp28.mRotation.z, &sp8); JMAQuatLerp(var_r27, &sp8, var_f31, var_r27); + Mtx sp68; mDoMtx_quat(sp68, var_r27); var_r29->mTranslate.x = var_r29->mTranslate.x * var_f30 + sp28.mTranslate.x * var_f31; @@ -1342,7 +1357,7 @@ void mDoExt_McaMorf::setAnm(J3DAnmTransform* param_0, int param_1, f32 param_2, mFrameCtrl.init(mpAnm->getFrameMax()); } } else { - mFrameCtrl.init(param_5); + mFrameCtrl.init((s16)param_5); } if (param_0 && param_1 < 0) { param_1 = param_0->getAttribute(); @@ -1623,7 +1638,7 @@ void mDoExt_McaMorfSO::setAnm(J3DAnmTransform* i_anm, int i_attr, f32 i_morf, f3 mFrameCtrl.init(mpAnm->getFrameMax()); } } else { - mFrameCtrl.init(i_end); + mFrameCtrl.init((s16)i_end); } if (i_anm != NULL && i_attr < 0) { @@ -1636,7 +1651,7 @@ void mDoExt_McaMorfSO::setAnm(J3DAnmTransform* i_anm, int i_attr, f32 i_morf, f3 if (i_rate >= 0.0f) { setFrame(i_start); } else { - setFrame(mFrameCtrl.getEnd()); + setFrame(getEndFrame()); } setLoopFrame(getFrame()); @@ -2015,7 +2030,7 @@ void mDoExt_McaMorf2::setAnm(J3DAnmTransform* param_0, J3DAnmTransform* param_1, mFrameCtrl.init(mpAnm->getFrameMax()); } } else { - mFrameCtrl.init(i_end); + mFrameCtrl.init((s16)i_end); } if (i_attr < 0) { @@ -2028,7 +2043,7 @@ void mDoExt_McaMorf2::setAnm(J3DAnmTransform* param_0, J3DAnmTransform* param_1, if (i_speed >= 0.0f) { setFrame(i_start); } else { - setFrame(mFrameCtrl.getEnd()); + setFrame(getEndFrame()); } setLoopFrame(getFrame()); @@ -2305,7 +2320,7 @@ void mDoExt_3DlineMat0_c::setMaterial() { dKy_GxFog_set(); GXCallDisplayList(l_matDL, 0x80); GXLoadPosMtxImm(j3dSys.getViewMtx(), GX_PNMTX0); - GXLoadNrmMtxImm(g_mDoMtx_identity, GX_PNMTX0); + GXLoadNrmMtxImm(cMtx_getIdentity(), GX_PNMTX0); } /* 80012774-80012874 00D0B4 0100+00 1/0 0/0 0/0 .text draw__19mDoExt_3DlineMat0_cFv */ @@ -2324,13 +2339,12 @@ void mDoExt_3DlineMat0_c::draw() { GXSetArray(GX_VA_NRM, ((mDoExt_3Dline_c*)((int)var_r28 + field_0x16 * 4))->field_0x10, 3); GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, var_r26); - for (u16 j = 0; j < (u16)var_r26;) { + for (u16 j = 0; j < (u16)var_r26; j++) { GXPosition1x16(j); GXNormal1x16(j); - j++; - GXPosition1x16(j); - GXNormal1x16(j++); + GXPosition1x16(++j); + GXNormal1x16(j); } GXEnd(); var_r28++;