Merge pull request #108 from robojumper/d_a_obj_tbox

dAcTbox_c
This commit is contained in:
robojumper
2024-11-28 10:52:31 +01:00
committed by GitHub
29 changed files with 3529 additions and 235 deletions
+36 -6
View File
@@ -44,6 +44,9 @@ d/a/obj/d_a_obj_base.cpp:
d/a/e/d_a_e_base.cpp:
.text start:0x8002F300 end:0x80030CB0
.ctors start:0x804DB664 end:0x804DB668
.data start:0x80501638 end:0x805016E0
.sbss start:0x80575098 end:0x805750A0
.bss start:0x80597020 end:0x80597030
d/a/npc/d_a_npc.cpp:
.text start:0x80030CB0 end:0x8003F718
@@ -67,8 +70,14 @@ d/d_base.cpp:
.data start:0x80503380 end:0x805033D0
.sbss start:0x805750C0 end:0x805750CC
d/d_carry.cpp:
.text start:0x80050A20 end:0x80051BF8
.data start:0x805033D0 end:0x805033E0
.sdata2 start:0x80576ED8 end:0x80576F20
d/d_cc.cpp:
.text start:0x80050A20 end:0x800520F0
.text start:0x80051C00 end:0x800520F0
.data start:0x805033E0 end:0x805033F0
d/d_dvd.cpp:
.text start:0x800520F0 end:0x800522FC
@@ -215,15 +224,20 @@ d/d_textunk.cpp:
.bss start:0x805A6F70 end:0x805A7730
d/d_tag_processor.cpp:
.text start:0x800B35C0 end:0x800B9274
.text start:0x800B34F0 end:0x800B9274
.ctors start:0x804DB6D4 end:0x804DB6D8
.rodata start:0x804E4C34 end:0x804E4C50
.rodata start:0x804E39E0 end:0x804E4C50
.data start:0x805108E8 end:0x805109A0
.sdata2 start:0x8057986C end:0x805798D0
.sdata2 start:0x80579868 end:0x805798D0
.bss start:0x805A7730 end:0x805A78B8
toBeSorted/time_area_mgr.cpp:
.text start:0x800B9280 end:0x800BB2A0
.text start:0x800B9280 end:0x800BC978
.ctors start:0x804DB6D8 end:0x804DB6DC
.data start:0x805109A0 end:0x80510B30
.sdata start:0x805722E0 end:0x805722F8
.sbss start:0x805753C0 end:0x805753D0
.sdata2 start:0x805798D0 end:0x80579928
d/flag/flag_managers.cpp:
.text start:0x800BD8C0 end:0x800C0650
@@ -650,7 +664,12 @@ d/a/obj/d_a_obj_fairy.cpp:
d/a/obj/d_a_obj_tbox.cpp:
.text start:0x802685A0 end:0x8026F488
.ctors start:0x804DB83C end:0x804DB840
.rodata start:0x804ED3B0 end:0x804EE548
.data start:0x80535270 end:0x80535A18
.sdata start:0x80573A48 end:0x80573A50
.sbss start:0x80575910 end:0x80575928
.sdata2 start:0x8057C238 end:0x8057C3F0
.bss start:0x805B4FA8 end:0x805B5458
d/a/obj/d_a_obj_time_area.cpp:
.text start:0x8026F490 end:0x80271888
@@ -806,7 +825,18 @@ DynamicLink.cpp:
.sbss start:0x80575B80 end:0x80575BA0
c/c_list.cpp:
.text start:0x802E08C0 end:0x802E0A10
.text start:0x802E08C0 end:0x802E0A50
c/c_math.cpp:
.text start:0x802E0A50 end:0x802E0CF8
.data start:0x80541A70 end:0x80542278
.sdata2 start:0x8057CC58 end:0x8057CC80
c/c_rand.cpp:
.text start:0x802E0D00 end:0x802E0E64
.ctors start:0x804DB8BC end:0x804DB8C0
.sdata start:0x80573FB0 end:0x80573FB8
.sdata2 start:0x8057CC80 end:0x8057CC98
c/c_tree.cpp:
.text start:0x802E0E70 end:0x802E1140
+220 -212
View File
@@ -798,8 +798,8 @@ fn_800220D0 = .text:0x800220D0; // type:function size:0xD0
fn_800221A0 = .text:0x800221A0; // type:function size:0xC4
fn_80022270 = .text:0x80022270; // type:function size:0x5C
fn_800222D0 = .text:0x800222D0; // type:function size:0xC8
fn_800223A0 = .text:0x800223A0; // type:function size:0x94
fn_80022440 = .text:0x80022440; // type:function size:0x34
fn_800223A0__21BlurAndPaletteManagerFPv = .text:0x800223A0; // type:function size:0x94
fn_80022440__21BlurAndPaletteManagerFPv = .text:0x80022440; // type:function size:0x34
fn_80022480 = .text:0x80022480; // type:function size:0xCC
fn_80022550 = .text:0x80022550; // type:function size:0x74
Vec3f__copy = .text:0x800225D0; // type:function size:0x1C
@@ -810,7 +810,7 @@ fn_800227F0 = .text:0x800227F0; // type:function size:0xF0
fn_800228E0 = .text:0x800228E0; // type:function size:0xEC
fn_800229D0 = .text:0x800229D0; // type:function size:0x34
fn_80022A10 = .text:0x80022A10; // type:function size:0xD8
fn_80022AF0 = .text:0x80022AF0; // type:function size:0x3C
fn_80022AF0__21BlurAndPaletteManagerFf = .text:0x80022AF0; // type:function size:0x3C
fn_80022B30 = .text:0x80022B30; // type:function size:0x8
fn_80022B40 = .text:0x80022B40; // type:function size:0x58
fn_80022BA0 = .text:0x80022BA0; // type:function size:0xC
@@ -854,7 +854,7 @@ fn_800246D0 = .text:0x800246D0; // type:function size:0x64
fn_80024740 = .text:0x80024740; // type:function size:0x24
fn_80024770 = .text:0x80024770; // type:function size:0x24
fn_800247A0 = .text:0x800247A0; // type:function size:0x30
fn_800247D0 = .text:0x800247D0; // type:function size:0x20
fn_800247D0__21BlurAndPaletteManagerF7mVec3_cf = .text:0x800247D0; // type:function size:0x20
createBlurAndPaletteMgr = .text:0x800247F0; // type:function size:0xBB0
Vec3f__ctor = .text:0x800253A0; // type:function size:0x10
fn_800253B0 = .text:0x800253B0; // type:function size:0xC
@@ -1102,12 +1102,12 @@ FUN_8002dd10__9dAcBase_cFv = .text:0x8002DD10; // type:function size:0x3C
FUN_8002dd50__9dAcBase_cFv = .text:0x8002DD50; // type:function size:0x34
FUN_8002dd90__9dAcBase_cFv = .text:0x8002DD90; // type:function size:0x3C
FUN_8002ddd0__9dAcBase_cFv = .text:0x8002DDD0; // type:function size:0x54
FUN_8002de30__9dAcBase_cFv = .text:0x8002DE30; // type:function size:0x4
FUN_8002de30__9dAcBase_cFR13cBgS_PolyInfo = .text:0x8002DE30; // type:function size:0x4
getOarcFile__12dAcObjBase_cFPCcPCc = .text:0x8002DE40; // type:function size:0x14
ActorObjectBase__getOarcSubentry = .text:0x8002DE60; // type:function size:0x14
getOarcResFile__12dAcObjBase_cFPCc = .text:0x8002DE80; // type:function size:0xC
ActorObjectBase__getOarcModelFile = .text:0x8002DE90; // type:function size:0xC
ActorObjectBase__getOarcZev = .text:0x8002DEA0; // type:function size:0xC
getOarcZev__12dAcObjBase_cFPCc = .text:0x8002DEA0; // type:function size:0xC
getOarcDZB__12dAcObjBase_cFPCcPCc = .text:0x8002DEB0; // type:function size:0x14
getOarcPLC__12dAcObjBase_cFPCcPCc = .text:0x8002DED0; // type:function size:0x14
__ct__12dAcObjBase_cFv = .text:0x8002DEF0; // type:function size:0x158
@@ -2096,17 +2096,17 @@ unloadCallback__7dBase_cFv = .text:0x800509D0; // type:function size:0x4
initLoader__7dBase_cFv = .text:0x800509E0; // type:function size:0x1C
createBase__7dBase_cFUsP7dBase_cUlUc = .text:0x80050A00; // type:function size:0x4
createRoot__7dBase_cFUsUlUc = .text:0x80050A10; // type:function size:0x4
CarriedActorCtor = .text:0x80050A20; // type:function size:0x118
CarriedActorDtor = .text:0x80050B40; // type:function size:0x80
__ct__16ActorCarryStructFv = .text:0x80050A20; // type:function size:0x118
__dt__16ActorCarryStructFv = .text:0x80050B40; // type:function size:0x80
set__16ActorCarryStructFUlfffPv = .text:0x80050BC0; // type:function size:0xB4
actorAttachingRelated = .text:0x80050C80; // type:function size:0x13C
fn_80050DC0 = .text:0x80050DC0; // type:function size:0x34
fn_80050E00 = .text:0x80050E00; // type:function size:0x34
fn_80050E40 = .text:0x80050E40; // type:function size:0x60
fn_80050EA0__16ActorCarryStructFP12dAcObjBase_c = .text:0x80050EA0; // type:function size:0xC
fn_80050EB0 = .text:0x80050EB0; // type:function size:0x140
fn_80050EB0__16ActorCarryStructFP12dAcObjBase_c = .text:0x80050EB0; // type:function size:0x140
bushTpFunc__16ActorCarryStructFR9dBgS_Acch = .text:0x80050FF0; // type:function size:0x19C
fn_80051190 = .text:0x80051190; // type:function size:0x4C
fn_80051190__16ActorCarryStructFP12dAcObjBase_c = .text:0x80051190; // type:function size:0x4C
fn_800511E0__16ActorCarryStructFP12dAcObjBase_c = .text:0x800511E0; // type:function size:0x1D8
isCarriedActor_NotGerock = .text:0x800513C0; // type:function size:0x78
fn_80051440 = .text:0x80051440; // type:function size:0x17C
@@ -2115,31 +2115,31 @@ fn_800515D0 = .text:0x800515D0; // type:function size:0x60
fn_800051630__13dAcObjRef_unkFv = .text:0x80051630; // type:function size:0x144
fn_80051780__13dAcObjRef_unkFRC8cCcD_Obj = .text:0x80051780; // type:function size:0x464
fn_80051BF0 = .text:0x80051BF0; // type:function size:0x8
fn_80051C00 = .text:0x80051C00; // type:function size:0x4C
InitColliderAndAddToFront = .text:0x80051C50; // type:function size:0x5C
fn_80051CB0 = .text:0x80051CB0; // type:function size:0x5C
InitCollider2AndAddToFront = .text:0x80051D10; // type:function size:0x5C
fn_80051D70 = .text:0x80051D70; // type:function size:0x5C
fn_80051DD0 = .text:0x80051DD0; // type:function size:0x64
fn_80051E40 = .text:0x80051E40; // type:function size:0x64
ColliderManager__staticAddCollider = .text:0x80051EB0; // type:function size:0x34
ColliderLinkedList__registerColliders = .text:0x80051EF0; // type:function size:0x10
fn_80051F00 = .text:0x80051F00; // type:function size:0x8
fn_80051F10 = .text:0x80051F10; // type:function size:0x10
ColliderLinkedList__search = .text:0x80051F20; // type:function size:0x74
fn_80051FA0 = .text:0x80051FA0; // type:function size:0x1C
fn_80051FC0 = .text:0x80051FC0; // type:function size:0x10
fn_80051FD0 = .text:0x80051FD0; // type:function size:0x10
fn_80051FE0 = .text:0x80051FE0; // type:function size:0x10
fn_80051FF0 = .text:0x80051FF0; // type:function size:0x1C
fn_80052010 = .text:0x80052010; // type:function size:0x10
fn_80052020 = .text:0x80052020; // type:function size:0x10
fn_80052030 = .text:0x80052030; // type:function size:0x10
fn_80052040 = .text:0x80052040; // type:function size:0x1C
fn_80052060 = .text:0x80052060; // type:function size:0x10
fn_80052070 = .text:0x80052070; // type:function size:0x10
fn_80052080 = .text:0x80052080; // type:function size:0x10
fn_80052090 = .text:0x80052090; // type:function size:0x60
postInit__19dColliderLinkedListFR8cCcD_Obj = .text:0x80051C00; // type:function size:0x4C
addCc__19dColliderLinkedListFR15dCcD_Linked_CylRC11dCcD_SrcCyl = .text:0x80051C50; // type:function size:0x5C
addCc__19dColliderLinkedListFR15dCcD_Linked_SphRC11dCcD_SrcSph = .text:0x80051CB0; // type:function size:0x5C
addCc__19dColliderLinkedListFR15dCcD_Linked_CpsRC11dCcD_SrcCps = .text:0x80051D10; // type:function size:0x5C
addCc__19dColliderLinkedListFR15dCcD_Linked_UnkRC11dCcD_SrcUnk = .text:0x80051D70; // type:function size:0x5C
foreachCc__19dColliderLinkedListCFPFP8cCcD_ObjPv_vPv = .text:0x80051DD0; // type:function size:0x64
foreachCc2__19dColliderLinkedListCFPFP8cCcD_ObjPv_vPv = .text:0x80051E40; // type:function size:0x64
Set__19dColliderLinkedListFP8cCcD_ObjPv = .text:0x80051EB0; // type:function size:0x34
registerColliders__19dColliderLinkedListFv = .text:0x80051EF0; // type:function size:0x10
SetStts__19dColliderLinkedListFP8cCcD_ObjPv = .text:0x80051F00; // type:function size:0x8
SetStts__19dColliderLinkedListFR9cCcD_Stts = .text:0x80051F10; // type:function size:0x10
find__19dColliderLinkedListCFM8cCcD_ObjFPCvPv_b = .text:0x80051F20; // type:function size:0x74
AtSet__19dColliderLinkedListFP8cCcD_ObjPv = .text:0x80051FA0; // type:function size:0x1C
AtSet__19dColliderLinkedListFv = .text:0x80051FC0; // type:function size:0x10
ClrAt__19dColliderLinkedListFP8cCcD_ObjPv = .text:0x80051FD0; // type:function size:0x10
ClrAt__19dColliderLinkedListFv = .text:0x80051FE0; // type:function size:0x10
TgSet__19dColliderLinkedListFP8cCcD_ObjPv = .text:0x80051FF0; // type:function size:0x1C
TgSet__19dColliderLinkedListFv = .text:0x80052010; // type:function size:0x10
ClrTg__19dColliderLinkedListFP8cCcD_ObjPv = .text:0x80052020; // type:function size:0x10
ClrTg__19dColliderLinkedListFv = .text:0x80052030; // type:function size:0x10
CoSet__19dColliderLinkedListFP8cCcD_ObjPv = .text:0x80052040; // type:function size:0x1C
CoSet__19dColliderLinkedListFv = .text:0x80052060; // type:function size:0x10
ClrCo__19dColliderLinkedListFP8cCcD_ObjPv = .text:0x80052070; // type:function size:0x10
ClrCo__19dColliderLinkedListFv = .text:0x80052080; // type:function size:0x10
__dt__19dColliderLinkedListFv = .text:0x80052090; // type:function size:0x60
create__4dDvdFlPQ23EGG4HeapPQ23EGG4HeapPQ23EGG4Heap = .text:0x800520F0; // type:function size:0x4
__ct__Q24dDvd8loader_cFv = .text:0x80052100; // type:function size:0x28
__dt__Q24dDvd8loader_cFv = .text:0x80052130; // type:function size:0x40
@@ -2451,7 +2451,7 @@ isSpinAttackingHorizontally = .text:0x8005B830; // type:function size:0x20
isSpinAttackingVertically = .text:0x8005B850; // type:function size:0x20
fn_8005B870 = .text:0x8005B870; // type:function size:0x28
fn_8005B8A0 = .text:0x8005B8A0; // type:function size:0xC0
ActorLink__setPosYRot = .text:0x8005B960; // type:function size:0x44
setPosYRot__7dAcPy_cFRC7mVec3_c4mAngiii = .text:0x8005B960; // type:function size:0x44
setTransform__7dAcPy_cFRC6mMtx_ciii = .text:0x8005B9B0; // type:function size:0x98
fn_8005BA50 = .text:0x8005BA50; // type:function size:0x30
fn_8005BA80 = .text:0x8005BA80; // type:function size:0x8
@@ -3569,7 +3569,7 @@ fn_8009F990 = .text:0x8009F990; // type:function size:0x80
fn_8009FA10 = .text:0x8009FA10; // type:function size:0x8
attachSkipEvent = .text:0x8009FA20; // type:function size:0x1A0
setAsEvent = .text:0x8009FBC0; // type:function size:0x120
dBase_c__changeOwnEvent = .text:0x8009FCE0; // type:function size:0x11C
changeOwnEvent__12EventManagerFP9dAcBase_cP9dAcBase_cP5Eventi = .text:0x8009FCE0; // type:function size:0x11C
fn_8009FE00 = .text:0x8009FE00; // type:function size:0x124
isInEvent__12EventManagerFP9dAcBase_cPCc = .text:0x8009FF30; // type:function size:0x10C
fn_800A0040 = .text:0x800A0040; // type:function size:0x114
@@ -3597,8 +3597,8 @@ fn_800A09B0 = .text:0x800A09B0; // type:function size:0x1D0
fn_800A0B80 = .text:0x800A0B80; // type:function size:0x10
eventRelatedStateFlags_shift0x11_1 = .text:0x800A0B90; // type:function size:0x10
fn_800A0BA0 = .text:0x800A0BA0; // type:function size:0x94
__ct__5EventFPcUlUlPvPv = .text:0x800A0C40; // type:function size:0xEC
Event__createSimple = .text:0x800A0D30; // type:function size:0xEC
__ct__5EventFPCcUlUlPvPv = .text:0x800A0C40; // type:function size:0xEC
__ct__5EventFPCcPvUlUlPvPv = .text:0x800A0D30; // type:function size:0xEC
__ct__5EventFUllUlPvPv = .text:0x800A0E20; // type:function size:0x208
Event__Event4 = .text:0x800A1030; // type:function size:0x208
__dt__5EventFv = .text:0x800A1240; // type:function size:0x40
@@ -13466,7 +13466,7 @@ AcItem__isSingleArrow = .text:0x802509A0; // type:function size:0x10
isItem5Bombs = .text:0x802509B0; // type:function size:0x10
isItem10Bombs = .text:0x802509C0; // type:function size:0x10
isItemBundleOfArrows = .text:0x802509D0; // type:function size:0x10
AcItem__isKeyPiece = .text:0x802509E0; // type:function size:0x10
isKeyPiece__9dAcItem_cF7ITEM_ID = .text:0x802509E0; // type:function size:0x10
isItem5GratitudeCrystals = .text:0x802509F0; // type:function size:0x10
AcItem__isFaroreTear = .text:0x80250A00; // type:function size:0x10
AcItem__IsDinTear = .text:0x80250A10; // type:function size:0x10
@@ -13486,13 +13486,13 @@ AcItem__isSemiRareTreasure = .text:0x80250AE0; // type:function size:0x10
AcItem__isRareTreasure = .text:0x80250AF0; // type:function size:0x10
fn_80250B00 = .text:0x80250B00; // type:function size:0x10
fn_80250B10 = .text:0x80250B10; // type:function size:0x10
AcItem__isRupee = .text:0x80250B20; // type:function size:0x88
isRupee__9dAcItem_cF7ITEM_ID = .text:0x80250B20; // type:function size:0x88
AcItem__isBombDrop = .text:0x80250BB0; // type:function size:0x58
AcItem__isTear2 = .text:0x80250C10; // type:function size:0x78
AcItem__is_Larvae_Ore_JellyBlob_Claw_Horn_EvilCryst_OrnSkull_GoldSkull = .text:0x80250C90; // type:function size:0xB8
AcItem__isBug = .text:0x80250D50; // type:function size:0x7C
AcItem__isTreasure = .text:0x80250DD0; // type:function size:0x138
AcItem__isTreasure2 = .text:0x80250F10; // type:function size:0x88
isTreasure__9dAcItem_cF7ITEM_ID = .text:0x80250F10; // type:function size:0x88
AcItem__isItemHeart = .text:0x80250FA0; // type:function size:0x34
isSingleArrow = .text:0x80250FE0; // type:function size:0x8
isBundleOrArrows = .text:0x80250FF0; // type:function size:0x8
@@ -13513,7 +13513,7 @@ fn_80251180 = .text:0x80251180; // type:function size:0x44
AcItem__getEventName = .text:0x802511D0; // type:function size:0x6C
fn_80251240 = .text:0x80251240; // type:function size:0x6C
AcItem__getEventNamePtrForItemId = .text:0x802512B0; // type:function size:0x4C
TBox__getItemEventNamePtr = .text:0x80251300; // type:function size:0x4C
getItemGetEventName__9dAcItem_cFUsPPCc = .text:0x80251300; // type:function size:0x4C
fn_80251350 = .text:0x80251350; // type:function size:0x54
AcItem__getPosition = .text:0x802513B0; // type:function size:0x24
fn_802513E0 = .text:0x802513E0; // type:function size:0xC
@@ -13676,8 +13676,8 @@ fn_80252A80 = .text:0x80252A80; // type:function size:0xC
fn_80252A90 = .text:0x80252A90; // type:function size:0xC
fn_80252AA0 = .text:0x80252AA0; // type:function size:0xC
itemGetBirdMaybe = .text:0x80252AB0; // type:function size:0x40
itemGetEventStart = .text:0x80252AF0; // type:function size:0xD8
AcItem__itemRecieved = .text:0x80252BD0; // type:function size:0x90
itemGetEventStart__9dAcItem_cFP9dAcBase_c = .text:0x80252AF0; // type:function size:0xD8
itemGetEventEnd__9dAcItem_cFP9dAcBase_c = .text:0x80252BD0; // type:function size:0x90
AcItem__getItemId2 = .text:0x80252C60; // type:function size:0x8
AcItem__setFinalDeterminedItemId = .text:0x80252C70; // type:function size:0x8
getItemInitStructForItem = .text:0x80252C80; // type:function size:0x5C
@@ -14236,139 +14236,139 @@ initializeState__28sFStateID_c<13dAcObjFairy_c>CFR13dAcObjFairy_c = .text:0x8026
__sinit_\d_a_obj_fairy_cpp = .text:0x80267F40; // type:function size:0x56C scope:local
__dt__28sFStateID_c<13dAcObjFairy_c>Fv = .text:0x802684B0; // type:function size:0x58
isSameName__28sFStateID_c<13dAcObjFairy_c>CFPCc = .text:0x80268510; // type:function size:0x88
AcTbox__ctor = .text:0x802685A0; // type:function size:0x30
fn_802685D0 = .text:0x802685D0; // type:function size:0x68
fn_80268640 = .text:0x80268640; // type:function size:0x4
fn_80268650 = .text:0x80268650; // type:function size:0x8
fn_80268660 = .text:0x80268660; // type:function size:0x20
hasCollectedAllTears2 = .text:0x80268680; // type:function size:0x1C
fn_802686A0 = .text:0x802686A0; // type:function size:0x50
fn_802686F0 = .text:0x802686F0; // type:function size:0x5C
AcTbox__ctorCont = .text:0x80268750; // type:function size:0x2EC
fn_80268A40 = .text:0x80268A40; // type:function size:0x98
fn_80268AE0 = .text:0x80268AE0; // type:function size:0x58
fn_80268B40 = .text:0x80268B40; // type:function size:0x6C
fn_80268BB0 = .text:0x80268BB0; // type:function size:0xA0
fn_80268C50 = .text:0x80268C50; // type:function size:0xA4
AcTbox__dtor = .text:0x80268D00; // type:function size:0x250
AcTbox__initModels = .text:0x80268F50; // type:function size:0x54C
AcTbox__init = .text:0x802694A0; // type:function size:0xA00
AcTbox__destroy = .text:0x80269EA0; // type:function size:0xB4
AcTbox__update = .text:0x80269F60; // type:function size:0x690
fn_8026A5F0 = .text:0x8026A5F0; // type:function size:0x10
fn_8026A600 = .text:0x8026A600; // type:function size:0x10
AcTbox__updateInEvent = .text:0x8026A610; // type:function size:0x8F0
fn_8026AF00 = .text:0x8026AF00; // type:function size:0x10
AcTbox__draw = .text:0x8026AF10; // type:function size:0x1AC
AcTbox__setActionState = .text:0x8026B0C0; // type:function size:0x224
AcTbox__isValidSubtype = .text:0x8026B2F0; // type:function size:0x20
fn_8026B310 = .text:0x8026B310; // type:function size:0x8
fn_8026B320 = .text:0x8026B320; // type:function size:0x8
AcTbox__setItemId = .text:0x8026B330; // type:function size:0x8
setDoObstructionCheckTrue = .text:0x8026B340; // type:function size:0xC
AcTbox__isActualVisibleBox = .text:0x8026B350; // type:function size:0xC
getRotX_shift9_0x1 = .text:0x8026B360; // type:function size:0xC
fn_8026B370 = .text:0x8026B370; // type:function size:0xC
fn_8026B380 = .text:0x8026B380; // type:function size:0x3C
fn_8026B3C0 = .text:0x8026B3C0; // type:function size:0x20
AcTbox__stateDugOutEnter = .text:0x8026B3E0; // type:function size:0x11C
AcTbox__stateDugOutUpdate = .text:0x8026B500; // type:function size:0x3D8
AcTbox__stateDugOutLeave = .text:0x8026B8E0; // type:function size:0x4
AcTbox__stateWaitAppearEnter = .text:0x8026B8F0; // type:function size:0x7C
AcTbox__stateWaitAppearUpdate = .text:0x8026B970; // type:function size:0xB8
AcTbox__stateWaitAppearLeave = .text:0x8026BA30; // type:function size:0x4
AcTbox__stateDemoAppearEnter = .text:0x8026BA40; // type:function size:0xD0
AcTbox__stateDemoAppearUpdate = .text:0x8026BB10; // type:function size:0x1F4
AcTbox__stateDemoAppearLeave = .text:0x8026BD10; // type:function size:0x4
AcTbox__stateWaitOpenEnter = .text:0x8026BD20; // type:function size:0x18C
AcTbox__stateWaitOpenUpdate = .text:0x8026BEB0; // type:function size:0x7C
AcTbox__stateWaitOpenLeave = .text:0x8026BF30; // type:function size:0x28
AcTbox__stateGoddessWaitOffEnter = .text:0x8026BF60; // type:function size:0x84
AcTbox__stateGoddessWaitOffUpdate = .text:0x8026BFF0; // type:function size:0x4
AcTbox__stateGoddessWaitOffLeave = .text:0x8026C000; // type:function size:0x4
AcTbox__stateGoddessWaitOnEnter = .text:0x8026C010; // type:function size:0x84
AcTbox__stateGoddessWaitOnUpdate = .text:0x8026C0A0; // type:function size:0x60
AcTbox__stateGoddessWaitOnLeave = .text:0x8026C100; // type:function size:0x3C
AcTbox__stateDeleteArchiveEnter = .text:0x8026C140; // type:function size:0x108
AcTbox__stateDeleteArchiveUpdate = .text:0x8026C250; // type:function size:0xC8
AcTbox__stateDeleteArchiveLeave = .text:0x8026C320; // type:function size:0x4
AcTbox__stateLoadArchiveEnter = .text:0x8026C330; // type:function size:0x12C
AcTbox__stateLoadArchiveUpdate = .text:0x8026C460; // type:function size:0x58
AcTbox__stateLoadArchiveLeave = .text:0x8026C4C0; // type:function size:0x4
AcTbox__stateOpenEnter = .text:0x8026C4D0; // type:function size:0x258
AcTbox__stateOpenUpdate = .text:0x8026C730; // type:function size:0x11C
AcTbox__stateOpenLeave = .text:0x8026C850; // type:function size:0x4
AcTbox__statePresentItemEnter = .text:0x8026C860; // type:function size:0x98
AcTbox__statePresentItemUpdate = .text:0x8026C900; // type:function size:0x19C
AcTbox__statePresentItemLeave = .text:0x8026CAA0; // type:function size:0x4
AcTbox__stateCloseEnter = .text:0x8026CAB0; // type:function size:0xA8
AcTbox__stateCloseUpdate = .text:0x8026CB60; // type:function size:0x26C
AcTbox__stateCloseLeave = .text:0x8026CDD0; // type:function size:0x4
AcTbox__stateWaitEnter = .text:0x8026CDE0; // type:function size:0x17C
AcTbox__stateWaitUpdate = .text:0x8026CF60; // type:function size:0x9C
AcTbox__stateWaitLeave = .text:0x8026D000; // type:function size:0x4
AcTbox__stateGoddessWaitEnter = .text:0x8026D010; // type:function size:0x70
AcTbox__stateGoddessWaitUpdate = .text:0x8026D080; // type:function size:0x74
AcTbox__stateGoddessWaitLeave = .text:0x8026D100; // type:function size:0x4
fn_8026D110 = .text:0x8026D110; // type:function size:0x8
fn_8026D120 = .text:0x8026D120; // type:function size:0x8
fn_8026D130 = .text:0x8026D130; // type:function size:0x10
fn_8026D140 = .text:0x8026D140; // type:function size:0x10
AcTbox__doInteraction = .text:0x8026D150; // type:function size:0x98
fn_8026D1F0 = .text:0x8026D1F0; // type:function size:0xDC
fn_8026D2D0 = .text:0x8026D2D0; // type:function size:0x68
AcTbox__checkShouldClose = .text:0x8026D340; // type:function size:0xC
AcTbox__setShouldCloseFlag = .text:0x8026D350; // type:function size:0xC
AcTbox__unsetShouldCloseFlag = .text:0x8026D360; // type:function size:0xC
fn_8026D370 = .text:0x8026D370; // type:function size:0x4C
fn_8026D3C0 = .text:0x8026D3C0; // type:function size:0xD4
AcTbox__setChestflag = .text:0x8026D4A0; // type:function size:0x10
AcTbox__setTboxFlag = .text:0x8026D4B0; // type:function size:0x18
checkTBoxFlagMaybe = .text:0x8026D4D0; // type:function size:0x4C
fn_8026D520 = .text:0x8026D520; // type:function size:0x18
fn_8026D540 = .text:0x8026D540; // type:function size:0x14
fn_8026D560 = .text:0x8026D560; // type:function size:0x94
fn_8026D600 = .text:0x8026D600; // type:function size:0x68
fn_8026D670 = .text:0x8026D670; // type:function size:0x8
fn_8026D680 = .text:0x8026D680; // type:function size:0x10
ActorObjectBase__setActorCollision = .text:0x8026D690; // type:function size:0xB8
AcTbox__initializeDowsingTarget = .text:0x8026D750; // type:function size:0x14
AcTbox__isItemRupee = .text:0x8026D770; // type:function size:0x8
AcTbox__initDowsingTarget = .text:0x8026D780; // type:function size:0x50
AcTbox__initDowsingTargetCube = .text:0x8026D7D0; // type:function size:0x44
noRegisterDowsing = .text:0x8026D820; // type:function size:0x4
registersKeyPieceDowsing = .text:0x8026D830; // type:function size:0x68
registerRupeeOrTreasureDowsing = .text:0x8026D8A0; // type:function size:0x48
noUnregisterDowsing = .text:0x8026D8F0; // type:function size:0x4
unregisterDowsing = .text:0x8026D900; // type:function size:0x48
fn_8026D950 = .text:0x8026D950; // type:function size:0x28
checkIsClear = .text:0x8026D980; // type:function size:0x140
fn_8026DAC0 = .text:0x8026DAC0; // type:function size:0x10
fn_8026DAD0 = .text:0x8026DAD0; // type:function size:0x8
fn_8026DAE0 = .text:0x8026DAE0; // type:function size:0x28C
fn_8026DD70 = .text:0x8026DD70; // type:function size:0x2DC
AcTbox__getInteractionTargetDef = .text:0x8026E050; // type:function size:0x40
fn_8026E090 = .text:0x8026E090; // type:function size:0x594
fn_8026E630 = .text:0x8026E630; // type:function size:0x10C
fn_8026E740 = .text:0x8026E740; // type:function size:0x60
fn_8026E7A0 = .text:0x8026E7A0; // type:function size:0xC
fn_8026E7B0 = .text:0x8026E7B0; // type:function size:0x1C
fn_8026E7D0 = .text:0x8026E7D0; // type:function size:0x1C
fn_8026E7F0 = .text:0x8026E7F0; // type:function size:0x1C
fn_8026E810 = .text:0x8026E810; // type:function size:0x10
fn_8026E820 = .text:0x8026E820; // type:function size:0x10
fn_8026E830 = .text:0x8026E830; // type:function size:0x10
fn_8026E840 = .text:0x8026E840; // type:function size:0x10
fn_8026E850 = .text:0x8026E850; // type:function size:0x10
fn_8026E860 = .text:0x8026E860; // type:function size:0x10
fn_8026E870 = .text:0x8026E870; // type:function size:0x30
fn_8026E8A0 = .text:0x8026E8A0; // type:function size:0x30
fn_8026E8D0 = .text:0x8026E8D0; // type:function size:0x30
AcTbox__initStatesAndThings = .text:0x8026E900; // type:function size:0xA7C
AcTbox__dtor2 = .text:0x8026F380; // type:function size:0x58
fn_8026F3E0 = .text:0x8026F3E0; // type:function size:0x88
fn_8026F470 = .text:0x8026F470; // type:function size:0x8
fn_8026F480 = .text:0x8026F480; // type:function size:0x8
dAcTbox_c_classInit__Fv = .text:0x802685A0; // type:function size:0x30
tryGetDowsingTargetOffset__9dAcTbox_cFiR7mVec3_c = .text:0x802685D0; // type:function size:0x68
getDowsingTargetOffset__9dAcTbox_cFiR7mVec3_c = .text:0x80268640; // type:function size:0x4
getSomeRate__9dAcTbox_cFv = .text:0x80268650; // type:function size:0x8
isValidGroupIndex__9dAcTbox_cFi = .text:0x80268660; // type:function size:0x20
hasCollectedAllTears__9dAcTbox_cFv = .text:0x80268680; // type:function size:0x1C
getGroundHeight__9dAcTbox_cFPfRC7mVec3_c = .text:0x802686A0; // type:function size:0x50
isBelowGroundAtPos__9dAcTbox_cFfRC7mVec3_c = .text:0x802686F0; // type:function size:0x5C
__ct__9dAcTbox_cFv = .text:0x80268750; // type:function size:0x2EC
__dt__15dCcD_Linked_UnkFv = .text:0x80268A40; // type:function size:0x98
__dt__21sFState_c<9dAcTbox_c>Fv = .text:0x80268AE0; // type:function size:0x58
__dt__24sFStateFct_c<9dAcTbox_c>Fv = .text:0x80268B40; // type:function size:0x6C
__dt__77sStateMgr_c<9dAcTbox_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80268BB0; // type:function size:0xA0
__dt__47sFStateMgr_c<9dAcTbox_c,20sStateMethodUsr_FI_c>Fv = .text:0x80268C50; // type:function size:0xA4
__dt__9dAcTbox_cFv = .text:0x80268D00; // type:function size:0x250
createHeap__9dAcTbox_cFv = .text:0x80268F50; // type:function size:0x54C
create__9dAcTbox_cFv = .text:0x802694A0; // type:function size:0xA00
doDelete__9dAcTbox_cFv = .text:0x80269EA0; // type:function size:0xB4
actorExecute__9dAcTbox_cFv = .text:0x80269F60; // type:function size:0x690
getStateID__77sStateMgr_c<9dAcTbox_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8026A5F0; // type:function size:0x10
executeState__77sStateMgr_c<9dAcTbox_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8026A600; // type:function size:0x10
actorExecuteInEvent__9dAcTbox_cFv = .text:0x8026A610; // type:function size:0x8F0
changeState__77sStateMgr_c<9dAcTbox_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8026AF00; // type:function size:0x10
draw__9dAcTbox_cFv = .text:0x8026AF10; // type:function size:0x1AC
setActionState__9dAcTbox_cFv = .text:0x8026B0C0; // type:function size:0x224
isValidVariant__9dAcTbox_cFi = .text:0x8026B2F0; // type:function size:0x20
getObjectListEntry__9dAcTbox_cFv = .text:0x8026B310; // type:function size:0x8
setFlags__9dAcTbox_cFUl = .text:0x8026B320; // type:function size:0x8
setItemId__9dAcTbox_cFUs = .text:0x8026B330; // type:function size:0x8
setDoObstructionCheck__9dAcTbox_cFv = .text:0x8026B340; // type:function size:0xC
isActualVisibleBox__9dAcTbox_cCFv = .text:0x8026B350; // type:function size:0xC
noObstructionCheck__9dAcTbox_cCFv = .text:0x8026B360; // type:function size:0xC
fn_8026B370__9dAcTbox_cCFv = .text:0x8026B370; // type:function size:0xC
fn_8026B380__9dAcTbox_cCFR7mVec3_c = .text:0x8026B380; // type:function size:0x3C
fn_8026B3C0__9dAcTbox_cCFv = .text:0x8026B3C0; // type:function size:0x20
initializeState_DugOut__9dAcTbox_cFv = .text:0x8026B3E0; // type:function size:0x11C
executeState_DugOut__9dAcTbox_cFv = .text:0x8026B500; // type:function size:0x3D8
finalizeState_DugOut__9dAcTbox_cFv = .text:0x8026B8E0; // type:function size:0x4
initializeState_WaitAppear__9dAcTbox_cFv = .text:0x8026B8F0; // type:function size:0x7C
executeState_WaitAppear__9dAcTbox_cFv = .text:0x8026B970; // type:function size:0xB8
finalizeState_WaitAppear__9dAcTbox_cFv = .text:0x8026BA30; // type:function size:0x4
initializeState_DemoAppear__9dAcTbox_cFv = .text:0x8026BA40; // type:function size:0xD0
executeState_DemoAppear__9dAcTbox_cFv = .text:0x8026BB10; // type:function size:0x1F4
finalizeState_DemoAppear__9dAcTbox_cFv = .text:0x8026BD10; // type:function size:0x4
initializeState_WaitOpen__9dAcTbox_cFv = .text:0x8026BD20; // type:function size:0x18C
executeState_WaitOpen__9dAcTbox_cFv = .text:0x8026BEB0; // type:function size:0x7C
finalizeState_WaitOpen__9dAcTbox_cFv = .text:0x8026BF30; // type:function size:0x28
initializeState_GoddessWaitOff__9dAcTbox_cFv = .text:0x8026BF60; // type:function size:0x84
executeState_GoddessWaitOff__9dAcTbox_cFv = .text:0x8026BFF0; // type:function size:0x4
finalizeState_GoddessWaitOff__9dAcTbox_cFv = .text:0x8026C000; // type:function size:0x4
initializeState_GoddessWaitOn__9dAcTbox_cFv = .text:0x8026C010; // type:function size:0x84
executeState_GoddessWaitOn__9dAcTbox_cFv = .text:0x8026C0A0; // type:function size:0x60
finalizeState_GoddessWaitOn__9dAcTbox_cFv = .text:0x8026C100; // type:function size:0x3C
initializeState_DeleteArchive__9dAcTbox_cFv = .text:0x8026C140; // type:function size:0x108
executeState_DeleteArchive__9dAcTbox_cFv = .text:0x8026C250; // type:function size:0xC8
finalizeState_DeleteArchive__9dAcTbox_cFv = .text:0x8026C320; // type:function size:0x4
initializeState_LoadArchive__9dAcTbox_cFv = .text:0x8026C330; // type:function size:0x12C
executeState_LoadArchive__9dAcTbox_cFv = .text:0x8026C460; // type:function size:0x58
finalizeState_LoadArchive__9dAcTbox_cFv = .text:0x8026C4C0; // type:function size:0x4
initializeState_Open__9dAcTbox_cFv = .text:0x8026C4D0; // type:function size:0x258
executeState_Open__9dAcTbox_cFv = .text:0x8026C730; // type:function size:0x11C
finalizeState_Open__9dAcTbox_cFv = .text:0x8026C850; // type:function size:0x4
initializeState_PresentItem__9dAcTbox_cFv = .text:0x8026C860; // type:function size:0x98
executeState_PresentItem__9dAcTbox_cFv = .text:0x8026C900; // type:function size:0x19C
finalizeState_PresentItem__9dAcTbox_cFv = .text:0x8026CAA0; // type:function size:0x4
initializeState_Close__9dAcTbox_cFv = .text:0x8026CAB0; // type:function size:0xA8
executeState_Close__9dAcTbox_cFv = .text:0x8026CB60; // type:function size:0x26C
finalizeState_Close__9dAcTbox_cFv = .text:0x8026CDD0; // type:function size:0x4
initializeState_Wait__9dAcTbox_cFv = .text:0x8026CDE0; // type:function size:0x17C
executeState_Wait__9dAcTbox_cFv = .text:0x8026CF60; // type:function size:0x9C
finalizeState_Wait__9dAcTbox_cFv = .text:0x8026D000; // type:function size:0x4
initializeState_GoddessWait__9dAcTbox_cFv = .text:0x8026D010; // type:function size:0x70
executeState_GoddessWait__9dAcTbox_cFv = .text:0x8026D080; // type:function size:0x74
finalizeState_GoddessWait__9dAcTbox_cFv = .text:0x8026D100; // type:function size:0x4
getDowsingTargetOffset__9dAcTbox_cCFP7mVec3_c = .text:0x8026D110; // type:function size:0x8
fn_8026D120__9dAcTbox_cCFv = .text:0x8026D120; // type:function size:0x8
fn_8026D130__9dAcTbox_cFv = .text:0x8026D130; // type:function size:0x10
fn_8026D140__9dAcTbox_cFv = .text:0x8026D140; // type:function size:0x10
doInteraction__9dAcTbox_cFl = .text:0x8026D150; // type:function size:0x98
registerInEvent__9dAcTbox_cFv = .text:0x8026D1F0; // type:function size:0xDC
unkVirtFunc_0x6C__9dAcTbox_cFv = .text:0x8026D2D0; // type:function size:0x68
checkShouldClose__9dAcTbox_cFv = .text:0x8026D340; // type:function size:0xC
setShouldCloseFlag__9dAcTbox_cFv = .text:0x8026D350; // type:function size:0xC
unsetShouldCloseFlag__9dAcTbox_cFv = .text:0x8026D360; // type:function size:0xC
fn_8026D370__9dAcTbox_cFv = .text:0x8026D370; // type:function size:0x4C
fn_8026D3C0__9dAcTbox_cFv = .text:0x8026D3C0; // type:function size:0xD4
setChestFlag__9dAcTbox_cFv = .text:0x8026D4A0; // type:function size:0x10
setTboxFlag__9dAcTbox_cFv = .text:0x8026D4B0; // type:function size:0x18
checkTboxFlag__9dAcTbox_cCFv = .text:0x8026D4D0; // type:function size:0x4C
isNotSmall__9dAcTbox_cCFv = .text:0x8026D520; // type:function size:0x18
fn_8026D540__9dAcTbox_cFv = .text:0x8026D540; // type:function size:0x14
fn_8026D560__9dAcTbox_cCFv = .text:0x8026D560; // type:function size:0x94
getSomeCounter__9dAcTbox_cCFPUl = .text:0x8026D600; // type:function size:0x68
fn_8026D670__9dAcTbox_cCFv = .text:0x8026D670; // type:function size:0x8
syncScaleToMdl__9dAcTbox_cFPQ23m3d9scnLeaf_c = .text:0x8026D680; // type:function size:0x10
initBgW__9dAcTbox_cFR4dBgWPCcPCc = .text:0x8026D690; // type:function size:0xB8
initDowsingTarget__9dAcTbox_cFP13DowsingTargetQ213DowsingTarget11DowsingSlotP7mVec3_c = .text:0x8026D750; // type:function size:0x14
isItemRupee__9dAcTbox_cCFv = .text:0x8026D770; // type:function size:0x8
initDowsingTarget__9dAcTbox_cFQ213DowsingTarget11DowsingSlot = .text:0x8026D780; // type:function size:0x50
initDowsingTargetCube__9dAcTbox_cFv = .text:0x8026D7D0; // type:function size:0x44
noRegisterDowsing__9dAcTbox_cFv = .text:0x8026D820; // type:function size:0x4
registerKeyPieceDowsing__9dAcTbox_cFv = .text:0x8026D830; // type:function size:0x68
registerRupeeOrTreasureDowsing__9dAcTbox_cFv = .text:0x8026D8A0; // type:function size:0x48
noUnregisterDowsing__9dAcTbox_cFv = .text:0x8026D8F0; // type:function size:0x4
unregisterDowsing__9dAcTbox_cFv = .text:0x8026D900; // type:function size:0x48
spawnAppearEffect__9dAcTbox_cFv = .text:0x8026D950; // type:function size:0x28
checkIsClear__9dAcTbox_cCFv = .text:0x8026D980; // type:function size:0x140
fn_8026DAC0__9dAcTbox_cFR4mAng = .text:0x8026DAC0; // type:function size:0x10
fn_8026DAD0__9dAcTbox_cCFPC7mVec3_cP7mVec3_c = .text:0x8026DAD0; // type:function size:0x8
getCylParams__9dAcTbox_cCFP7mVec3_cPfPf = .text:0x8026DAE0; // type:function size:0x28C
getCCBounds__9dAcTbox_cCFP7mVec3_cP7mVec3_c = .text:0x8026DD70; // type:function size:0x2DC
getInteractionTargetDef__9dAcTbox_cCFv = .text:0x8026E050; // type:function size:0x40
checkForLinkBonk__9dAcTbox_cFv = .text:0x8026E090; // type:function size:0x594
fn_8026E630__9dAcTbox_cFv = .text:0x8026E630; // type:function size:0x10C
build__24sFStateFct_c<9dAcTbox_c>FRC12sStateIDIf_c = .text:0x8026E740; // type:function size:0x60
dispose__24sFStateFct_c<9dAcTbox_c>FRP10sStateIf_c = .text:0x8026E7A0; // type:function size:0xC
initialize__21sFState_c<9dAcTbox_c>Fv = .text:0x8026E7B0; // type:function size:0x1C
execute__21sFState_c<9dAcTbox_c>Fv = .text:0x8026E7D0; // type:function size:0x1C
finalize__21sFState_c<9dAcTbox_c>Fv = .text:0x8026E7F0; // type:function size:0x1C
initializeState__77sStateMgr_c<9dAcTbox_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8026E810; // type:function size:0x10
finalizeState__77sStateMgr_c<9dAcTbox_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8026E820; // type:function size:0x10
refreshState__77sStateMgr_c<9dAcTbox_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8026E830; // type:function size:0x10
getState__77sStateMgr_c<9dAcTbox_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8026E840; // type:function size:0x10
getNewStateID__77sStateMgr_c<9dAcTbox_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8026E850; // type:function size:0x10
getOldStateID__77sStateMgr_c<9dAcTbox_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8026E860; // type:function size:0x10
finalizeState__23sFStateID_c<9dAcTbox_c>CFR9dAcTbox_c = .text:0x8026E870; // type:function size:0x30
executeState__23sFStateID_c<9dAcTbox_c>CFR9dAcTbox_c = .text:0x8026E8A0; // type:function size:0x30
initializeState__23sFStateID_c<9dAcTbox_c>CFR9dAcTbox_c = .text:0x8026E8D0; // type:function size:0x30
__sinit_\d_a_obj_tbox_cpp = .text:0x8026E900; // type:function size:0xA7C scope:local
__dt__23sFStateID_c<9dAcTbox_c>Fv = .text:0x8026F380; // type:function size:0x58
isSameName__23sFStateID_c<9dAcTbox_c>CFPCc = .text:0x8026F3E0; // type:function size:0x88
@316@__dt__15dCcD_Linked_UnkFv = .text:0x8026F470; // type:function size:0x8
@272@__dt__15dCcD_Linked_UnkFv = .text:0x8026F480; // type:function size:0x8
AcTimeArea__ctor = .text:0x8026F490; // type:function size:0x1A8
fn_8026F640 = .text:0x8026F640; // type:function size:0x58
fn_8026F6A0 = .text:0x8026F6A0; // type:function size:0x6C
@@ -17284,7 +17284,7 @@ insertAfter__9cListMg_cFP9cListNd_cP9cListNd_c = .text:0x802E08C0; // type:funct
remove__9cListMg_cFP9cListNd_c = .text:0x802E0900; // type:function size:0xAC
append__9cListMg_cFP9cListNd_c = .text:0x802E09B0; // type:function size:0x30
prepend__9cListMg_cFP9cListNd_c = .text:0x802E09E0; // type:function size:0x30
ListLink__clear = .text:0x802E0A10; // type:function size:0x40
clear__9cListMg_cFv = .text:0x802E0A10; // type:function size:0x40
cM__rad2s = .text:0x802E0A50; // type:function size:0x5C
cM__U_GetAtanTable = .text:0x802E0AB0; // type:function size:0x34
atan2s__2cMFff = .text:0x802E0AF0; // type:function size:0x1BC
@@ -28645,7 +28645,7 @@ lbl_804ED998 = .rodata:0x804ED998; // type:object size:0xC
lbl_804ED9A4 = .rodata:0x804ED9A4; // type:object size:0x14
ITEM_MODELS = .rodata:0x804ED9B8; // type:object size:0xA00
lbl_804EE3B8 = .rodata:0x804EE3B8; // type:object size:0xC0 data:4byte
lbl_804EE478 = .rodata:0x804EE478; // type:object size:0xD0 data:4byte
@LOCAL@checkIsClear__9dAcTbox_cCFv@fsIdxes@0 = .rodata:0x804EE478; // type:object size:0xD0 data:4byte
lbl_804EE548 = .rodata:0x804EE548; // type:object size:0x30
lbl_804EE578 = .rodata:0x804EE578; // type:object size:0x30 data:float
TgMassObj__GRASS_A_TYPES = .rodata:0x804EE5A8; // type:object size:0xF8 data:4byte
@@ -30059,8 +30059,8 @@ lbl_80503248 = .data:0x80503248; // type:object size:0x30
lbl_80503278 = .data:0x80503278; // type:object size:0x9C
lbl_80503314 = .data:0x80503314; // type:object size:0x6C
__vt__7dBase_c = .data:0x80503380; // type:object size:0x4C
lbl_805033D0 = .data:0x805033D0; // type:object size:0x10
lbl_805033E0 = .data:0x805033E0; // type:object size:0x10
__vt__16ActorCarryStruct = .data:0x805033D0; // type:object size:0xC
__vt__19dColliderLinkedList = .data:0x805033E0; // type:object size:0xC
__vt__Q24dDvd8loader_c = .data:0x805033F0; // type:object size:0x10
lbl_80503400 = .data:0x80503400; // type:object size:0x40
lbl_80503440 = .data:0x80503440; // type:object size:0x6DF8
@@ -34560,13 +34560,13 @@ lbl_805353A4 = .data:0x805353A4; // type:object size:0xE4
lbl_80535488 = .data:0x80535488; // type:object size:0xC
lbl_80535494 = .data:0x80535494; // type:object size:0x14
lbl_805354A8 = .data:0x805354A8; // type:object size:0x18
AcTbox__vtable = .data:0x805354C0; // type:object size:0x80
lbl_80535540 = .data:0x80535540; // type:object size:0x30
lbl_80535570 = .data:0x80535570; // type:object size:0x30
lbl_805355A0 = .data:0x805355A0; // type:object size:0x18
lbl_805355B8 = .data:0x805355B8; // type:object size:0x18
lbl_805355D0 = .data:0x805355D0; // type:object size:0x410
lbl_805359E0 = .data:0x805359E0; // type:object size:0x38
__vt__9dAcTbox_c = .data:0x805354C0; // type:object size:0x80
__vt__47sFStateMgr_c<9dAcTbox_c,20sStateMethodUsr_FI_c> = .data:0x80535540; // type:object size:0x30
__vt__77sStateMgr_c<9dAcTbox_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x80535570; // type:object size:0x30
__vt__24sFStateFct_c<9dAcTbox_c> = .data:0x805355A0; // type:object size:0x14
__vt__21sFState_c<9dAcTbox_c> = .data:0x805355B8; // type:object size:0x18
__vt__15dCcD_Linked_Unk = .data:0x805355D0; // type:object size:0x7C
__vt__23sFStateID_c<9dAcTbox_c> = .data:0x805359E0; // type:object size:0x34
g_profile_TIME_AREA = .data:0x80535A18; // type:object size:0x10
lbl_80535A28 = .data:0x80535A28; // type:object size:0x68
lbl_80535A90 = .data:0x80535A90; // type:object size:0x20
@@ -40176,7 +40176,7 @@ lbl_80575698 = .sbss:0x80575698; // type:object size:0x4 data:4byte
lbl_8057569C = .sbss:0x8057569C; // type:object size:0x4 data:4byte
lbl_805756A0 = .sbss:0x805756A0; // type:object size:0x4 data:4byte
lbl_805756A4 = .sbss:0x805756A4; // type:object size:0x4 data:4byte
GODDESS_CHESTS_OPENED_COUNTER = .sbss:0x805756A8; // type:object size:0x8 data:4byte
sInstance__19GoddessChestCounter = .sbss:0x805756A8; // type:object size:0x8 data:4byte
BOOT_PTR = .sbss:0x805756B0; // type:object size:0x4 data:4byte
lbl_805756B4 = .sbss:0x805756B4; // type:object size:0x4 data:4byte
TITLE_SCREEN_CHANGE = .sbss:0x805756B8; // type:object size:0x4 data:4byte
@@ -40361,20 +40361,20 @@ lbl_805758F4 = .sbss:0x805758F4; // type:object size:0x1 data:byte
lbl_805758F8 = .sbss:0x805758F8; // type:object size:0x8 data:byte
lbl_80575900 = .sbss:0x80575900; // type:object size:0x8 data:byte
@GUARD@draw__13dAcObjFairy_cFv@rot = .sbss:0x80575908; // type:object size:0x8 data:byte
TBOX_ACTOR_LIST = .sbss:0x80575910; // type:object size:0x8 data:4byte
CURRENT_OBTAINING_ITEM_OARC_NAME = .sbss:0x80575918; // type:object size:0x4 data:4byte
lbl_8057591C = .sbss:0x8057591C; // type:object size:0x1 data:byte
lbl_8057591D = .sbss:0x8057591D; // type:object size:0x1 data:byte
lbl_8057591E = .sbss:0x8057591E; // type:object size:0x1 data:byte
lbl_8057591F = .sbss:0x8057591F; // type:object size:0x1 data:byte
lbl_80575920 = .sbss:0x80575920; // type:object size:0x1 data:byte
lbl_80575921 = .sbss:0x80575921; // type:object size:0x1 data:byte
lbl_80575922 = .sbss:0x80575922; // type:object size:0x1 data:byte
lbl_80575923 = .sbss:0x80575923; // type:object size:0x1 data:byte
lbl_80575924 = .sbss:0x80575924; // type:object size:0x1 data:byte
lbl_80575925 = .sbss:0x80575925; // type:object size:0x1 data:byte
lbl_80575926 = .sbss:0x80575926; // type:object size:0x1 data:byte
lbl_80575927 = .sbss:0x80575927; // type:object size:0x1 data:byte
sTboxActorList__9dAcTbox_c = .sbss:0x80575910; // type:object size:0x8 data:4byte
sCurrentObtainingItemOarcName = .sbss:0x80575918; // type:object size:0x4 data:4byte
@GUARD@create__9dAcTbox_cFv@s1 = .sbss:0x8057591C; // type:object size:0x1 data:byte
@GUARD@create__9dAcTbox_cFv@s2@0 = .sbss:0x8057591D; // type:object size:0x1 data:byte
@GUARD@create__9dAcTbox_cFv@bbLo@3 = .sbss:0x8057591E; // type:object size:0x1 data:byte
@GUARD@create__9dAcTbox_cFv@bbUp@4 = .sbss:0x8057591F; // type:object size:0x1 data:byte
@GUARD@create__9dAcTbox_cFv@bbLo@5 = .sbss:0x80575920; // type:object size:0x1 data:byte
@GUARD@create__9dAcTbox_cFv@bbUp@6 = .sbss:0x80575921; // type:object size:0x1 data:byte
@GUARD@create__9dAcTbox_cFv@bbLo@7 = .sbss:0x80575922; // type:object size:0x1 data:byte
@GUARD@create__9dAcTbox_cFv@bbUp@8 = .sbss:0x80575923; // type:object size:0x1 data:byte
@GUARD@create__9dAcTbox_cFv@bbLo@9 = .sbss:0x80575924; // type:object size:0x1 data:byte
@GUARD@create__9dAcTbox_cFv@bbUp@10 = .sbss:0x80575925; // type:object size:0x1 data:byte
@GUARD@draw__9dAcTbox_cFv@shadowDirs = .sbss:0x80575926; // type:object size:0x1 data:byte
@GUARD@checkIsClear__9dAcTbox_cCFv@offsets = .sbss:0x80575927; // type:object size:0x1 data:byte
lbl_80575928 = .sbss:0x80575928; // type:object size:0x8 data:byte
TgMassObj__MASS_OBJ_TAG_PTR = .sbss:0x80575930; // type:object size:0x4 data:4byte
lbl_80575934 = .sbss:0x80575934; // type:object size:0x4 data:4byte
@@ -48395,7 +48395,7 @@ lbl_8058F1B8 = .bss:0x8058F1B8; // type:object size:0x10 data:float
lbl_8058F1C8 = .bss:0x8058F1C8; // type:object size:0x28 data:float
lbl_8058F1F0 = .bss:0x8058F1F0; // type:object size:0x20 data:byte
lbl_8058F210 = .bss:0x8058F210; // type:object size:0x10
BLUR_AND_PALETTE_MGR = .bss:0x8058F220; // type:object size:0x5D70
sInstance__21BlurAndPaletteManager = .bss:0x8058F220; // type:object size:0x5D70
lbl_80594F90 = .bss:0x80594F90; // type:object size:0x10 data:4byte
lbl_80594FA0 = .bss:0x80594FA0; // type:object size:0x18 data:4byte
lbl_80594FB8 = .bss:0x80594FB8; // type:object size:0x1C
@@ -49178,15 +49178,23 @@ StateID_CatchDemo__13dAcObjFairy_c = .bss:0x805B4F68; // type:object size:0x30 d
lbl_805B4FA8 = .bss:0x805B4FA8; // type:object size:0x30 data:float
lbl_805B4FD8 = .bss:0x805B4FD8; // type:object size:0xC data:float
lbl_805B4FE4 = .bss:0x805B4FE4; // type:object size:0xC data:float
lbl_805B4FF0 = .bss:0x805B4FF0; // type:object size:0xE8 data:float
AcTbox__STATE_WAIT_OPEN = .bss:0x805B50D8; // type:object size:0x80 data:4byte
AcTbox__STATE_GODDESS_WAIT_ON = .bss:0x805B5158; // type:object size:0x80 data:4byte
AcTbox__STATE_LOAD_ARCHIVE = .bss:0x805B51D8; // type:object size:0x40 data:4byte
AcTbox__STATE_OPEN = .bss:0x805B5218; // type:object size:0x40 data:4byte
AcTbox__StateID_PresentItem = .bss:0x805B5258; // type:object size:0xF0 data:4byte
lbl_805B4FF0 = .bss:0x805B4FF0; // type:object size:0x18 data:float
StateID_DugOut__9dAcTbox_c = .bss:0x805B5018; // type:object size:0x30 data:4byte
StateID_WaitAppear__9dAcTbox_c = .bss:0x805B5058; // type:object size:0x30 data:4byte
StateID_DemoAppear__9dAcTbox_c = .bss:0x805B5098; // type:object size:0x30 data:4byte
StateID_WaitOpen__9dAcTbox_c = .bss:0x805B50D8; // type:object size:0x30 data:4byte
StateID_GoddessWaitOff__9dAcTbox_c = .bss:0x805B5118; // type:object size:0x30 data:4byte
StateID_GoddessWaitOn__9dAcTbox_c = .bss:0x805B5158; // type:object size:0x30 data:4byte
StateID_DeleteArchive__9dAcTbox_c = .bss:0x805B5198; // type:object size:0x30 data:4byte
StateID_LoadArchive__9dAcTbox_c = .bss:0x805B51D8; // type:object size:0x30 data:4byte
StateID_Open__9dAcTbox_c = .bss:0x805B5218; // type:object size:0x30 data:4byte
StateID_PresentItem__9dAcTbox_c = .bss:0x805B5258; // type:object size:0x30 data:4byte
StateID_Close__9dAcTbox_c = .bss:0x805B5298; // type:object size:0x30 data:4byte
StateID_Wait__9dAcTbox_c = .bss:0x805B52D8; // type:object size:0x30 data:4byte
StateID_GoddessWait__9dAcTbox_c = .bss:0x805B5318; // type:object size:0x30 data:4byte
lbl_805B5348 = .bss:0x805B5348; // type:object size:0xA0
lbl_805B53E8 = .bss:0x805B53E8; // type:object size:0x40 data:4byte
lbl_805B5428 = .bss:0x805B5428; // type:object size:0x30 data:float
@LOCAL@checkIsClear__9dAcTbox_cCFv@offsets = .bss:0x805B5428; // type:object size:0x30 data:float
lbl_805B5458 = .bss:0x805B5458; // type:object size:0x10
AcTimeArea__STATE_WAIT = .bss:0x805B5468; // type:object size:0x40 data:4byte
AcTimeArea__STATE_SLOPE = .bss:0x805B54A8; // type:object size:0x40 data:4byte
+4
View File
@@ -324,6 +324,8 @@ config.libs = [
Object(Matching, "d/flag/flag_managers.cpp"),
Object(NonMatching, "toBeSorted/special_item_drop_mgr.cpp"),
Object(Matching, "d/d_base.cpp"),
Object(NonMatching, "d/d_carry.cpp"),
Object(Matching, "d/d_cc.cpp"),
Object(Matching, "d/d_dvd.cpp"),
Object(NonMatching, "d/d_dvd_unk.cpp"),
Object(NonMatching, "d/d_dylink.cpp"),
@@ -484,6 +486,8 @@ config.libs = [
"host": False,
"objects": [
Object(Matching, "c/c_list.cpp"),
Object(NonMatching, "c/c_math.cpp"),
Object(NonMatching, "c/c_rand.cpp"),
Object(Matching, "c/c_tree.cpp"),
],
},
+2
View File
@@ -57,6 +57,8 @@ public:
*/
void prepend(cListNd_c *node);
void clear();
cListNd_c *getFirst() const {
return mpFirst;
}
+2 -1
View File
@@ -9,6 +9,7 @@
#include "toBeSorted/tlist.h"
class dAcBase_c;
struct cBgS_PolyInfo;
struct SoundSource {
// TODO
@@ -255,7 +256,7 @@ public:
/* 8002dd50 */ void FUN_8002dd50();
/* 8002dd90 */ void FUN_8002dd90();
/* 8002ddd0 */ void FUN_8002ddd0();
/* 8002de30 */ void FUN_8002de30();
/* 8002de30 */ void FUN_8002de30(cBgS_PolyInfo &p);
public:
/* 80571920 */ static u32 s_Create_RoomId;
+8
View File
@@ -55,6 +55,14 @@ public:
static int getTotalArrowCount();
static int getTotalSeedCount();
static bool isRupee(ITEM_ID item);
static bool isKeyPiece(ITEM_ID item);
static bool isTreasure(ITEM_ID item);
static bool getItemGetEventName(u16 item, const char **outName);
static void itemGetEventStart(dAcBase_c *);
static void itemGetEventEnd(dAcBase_c *);
private:
/* 0x334 */ UNKTYPE *mpMdl; // Model has its own handling system
/* 0x338 */ dShadowCircle_c mShdw;
+4 -1
View File
@@ -55,6 +55,9 @@ public:
virtual ~dAcPy_c();
void setTransform(const mMtx_c &mtx, UNKWORD, UNKWORD, UNKWORD);
void setPosYRot(const mVec3_c &pos, mAng rot, UNKWORD, UNKWORD, UNKWORD);
// argument is always false in existing code, true doesn't seem to make a difference
void bonk(bool unk = false);
/* vt 0x080 */ virtual UNKWORD IfCurrentActionToActor(dAcBase_c *ac, UNKWORD);
/* vt 0x084 */ virtual void vt_0x084(dAcBase_c *ac, UNKWORD);
@@ -114,7 +117,7 @@ public:
/* vt 0x15C */ virtual void vt_0x15C();
/* vt 0x160 */ virtual void vt_0x160();
/* vt 0x164 */ virtual void vt_0x164();
/* vt 0x168 */ virtual void getCurrentAnimFrame();
/* vt 0x168 */ virtual f32 getCurrentAnimFrame() const;
/* vt 0x16C */ virtual void getFloatIfStruggling();
/* vt 0x170 */ virtual void isSwimming();
/* vt 0x174 */ virtual void isGustBellowsBeingBlown();
+8 -3
View File
@@ -18,7 +18,7 @@ class dBgS_Acch;
// Size: 0xA8
struct ActorCarryStruct {
/* 0x00 */ fLiNdBa_c actorLink;
/* 0x00 */ dAcRefBase_c actorLink;
/* 0x0C */ fLiNdBa_c *carriedActor;
/* 0x10 */ u32 carryFlags;
/* 0x14 */ int carryType;
@@ -32,7 +32,10 @@ struct ActorCarryStruct {
/* 0x90 */ f32 field_0x90;
/* 0x94 */ f32 field_0x94;
/* 0x98 */ f32 field_0x98;
/* 0x9C */ void *dtor; // ???
ActorCarryStruct();
/* vt 0x9C */
virtual ~ActorCarryStruct();
/* 0xA0 */ u32 field_0xA0;
/* 0xA4 */ u32 field_0xA4;
@@ -43,6 +46,8 @@ struct ActorCarryStruct {
void fn_80050EA0(dAcObjBase_c *);
void fn_800511E0(dAcObjBase_c *);
void fn_80051190(dAcObjBase_c *);
void fn_80050EB0(dAcObjBase_c *);
bool testCarryFlag(u32 flag) {
return (carryFlags & flag) != 0;
@@ -215,7 +220,7 @@ public:
if (!result) \
return result; \
} while (0)
// Use this in actors' createHeap functions
// Use this in actors' create functions
#define CREATE_ALLOCATOR(className) \
do { \
if (!initAllocatorWork1Heap(-1, #className "::m_allocator", 0x20)) { \
+212
View File
@@ -0,0 +1,212 @@
#ifndef D_A_OBJ_TBOX_H
#define D_A_OBJ_TBOX_H
#include "common.h"
#include "d/a/d_a_base.h"
#include "d/a/d_a_item.h"
#include "d/a/obj/d_a_obj_base.h"
#include "d/col/bg/d_bg_w.h"
#include "d/col/cc/d_cc_d.h"
#include "d/d_cc.h"
#include "d/d_shadow.h"
#include "m/m3d/m_anmchr.h"
#include "m/m3d/m_anmmatclr.h"
#include "m/m3d/m_anmmdl.h"
#include "m/m3d/m_anmtexpat.h"
#include "m/m3d/m_anmtexsrt.h"
#include "m/m3d/m_scnleaf.h"
#include "m/m3d/m_smdl.h"
#include "m/m_vec.h"
#include "nw4r/ut/ut_Color.h"
#include "s/s_State.hpp"
#include "toBeSorted/actor_event.h"
#include "toBeSorted/attention.h"
#include "toBeSorted/dowsing_target.h"
#include "toBeSorted/stage_render_stuff.h"
class dAcTbox_c : public dAcObjBase_c {
public:
enum TboxVariant_e {
NORMAL,
SMALL,
BOSS,
GODDESS,
};
dAcTbox_c();
virtual ~dAcTbox_c();
virtual bool createHeap() override;
virtual int create() override;
virtual int doDelete() override;
virtual int actorExecute() override;
virtual int actorExecuteInEvent() override;
virtual int draw() override;
virtual void registerInEvent() override;
virtual void unkVirtFunc_0x6C() override;
virtual void doInteraction(s32) override;
virtual void *getObjectListEntry() override;
STATE_FUNC_DECLARE(dAcTbox_c, DugOut);
STATE_FUNC_DECLARE(dAcTbox_c, WaitAppear);
STATE_FUNC_DECLARE(dAcTbox_c, DemoAppear);
STATE_FUNC_DECLARE(dAcTbox_c, WaitOpen);
STATE_FUNC_DECLARE(dAcTbox_c, GoddessWaitOff);
STATE_FUNC_DECLARE(dAcTbox_c, GoddessWaitOn);
STATE_FUNC_DECLARE(dAcTbox_c, DeleteArchive);
STATE_FUNC_DECLARE(dAcTbox_c, LoadArchive);
STATE_FUNC_DECLARE(dAcTbox_c, Open);
STATE_FUNC_DECLARE(dAcTbox_c, PresentItem);
STATE_FUNC_DECLARE(dAcTbox_c, Close);
STATE_FUNC_DECLARE(dAcTbox_c, Wait);
STATE_FUNC_DECLARE(dAcTbox_c, GoddessWait);
private:
static f32 getSomeRate();
bool initBgW(dBgW &bg, const char *arcName, const char *fileName);
bool isNotSmall() const;
void setItemId(u16 item);
void setChestFlag();
void setDoObstructionCheck();
int isActualVisibleBox() const;
void fn_8026B380(mVec3_c &outResult) const;
const mVec3_c &fn_8026B3C0() const;
bool noObstructionCheck() const;
int fn_8026B370() const;
bool fn_8026D670() const;
bool getSomeCounter(u32 *outIndex) const;
bool checkTboxFlag() const;
bool fn_8026D560() const;
bool isItemRupee() const;
void getDowsingTargetOffset(mVec3_c *offset) const;
void initDowsingTarget(DowsingTarget *target, DowsingTarget::DowsingSlot slot, mVec3_c *offset);
void initDowsingTarget(DowsingTarget::DowsingSlot slot);
void initDowsingTargetCube();
void registerRupeeOrTreasureDowsing();
void registerKeyPieceDowsing();
void unregisterDowsing();
void noRegisterDowsing();
void noUnregisterDowsing();
bool checkForLinkBonk();
void fn_8026E630();
bool fn_8026D540();
void fn_8026D3C0();
void syncScaleToMdl(m3d::scnLeaf_c *lf);
void getCCBounds(mVec3_c *out1, mVec3_c *out2) const;
void getCylParams(mVec3_c *out1, f32 *out2, f32 *out3) const;
void fn_8026DAD0(const mVec3_c *src, mVec3_c *dest) const;
void fn_8026DAC0(mAng &ang);
static bool hasCollectedAllTears();
static bool isValidVariant(int variant);
static bool tryGetDowsingTargetOffset(int variant, mVec3_c &out);
static void getDowsingTargetOffset(int variant, mVec3_c &out);
static bool isValidGroupIndex(int idx);
static bool getGroundHeight(f32 *height, const mVec3_c &pos);
static bool isBelowGroundAtPos(f32 height, const mVec3_c &pos);
void setActionState();
void setFlags(u32 flags);
bool fn_8026D120() const;
void fn_8026D130();
void fn_8026D140();
void spawnAppearEffect();
void fn_8026D370();
bool checkShouldClose();
void setShouldCloseFlag();
void unsetShouldCloseFlag();
void setTboxFlag();
bool checkIsClear() const;
const InteractionTargetDef &getInteractionTargetDef() const;
/* 0x0330 */ m3d::mdlAnmChr mMdl1;
/* 0x0398 */ m3d::smdl_c mOpenFxMdl;
/* 0x03B4 */ m3d::anmMatClr_c mAnmMatClr1;
/* 0x03E0 */ m3d::anmMatClr_c mAnmMatClr2;
/* 0x040C */ m3d::anmChr_c mAnmChr;
/* 0x0444 */ m3d::anmTexSrt_c mAnmTexSrt1;
/* 0x0470 */ m3d::anmTexSrt_c mAnmGoddessTexSrt;
/* 0x049C */ m3d::anmTexPat_c mAnmGoddessPat;
/* 0x04C8 */ dScnCallback_c mScnCallback;
/* 0x04D4 */ dShadowCircle_c mShadowCircle;
// Could be part of an aggregate structure
mVec3_c field_0x4DC;
nw4r::ut::Color field_0x4E8;
f32 field_0x4EC;
s32 field_0x4F0;
s32 field_0x4F4;
/* 0x04F8 */ dBgW mBgWs[2];
/* 0x0918 */ dCcD_Linked_Unk mCcD1;
/* 0x0B30 */ dCcD_Linked_Unk mCcD2;
/* 0x0D48 */ dColliderLinkedList field_0x0D48;
/* 0x0D54 */ dCcD_Unk mCcD3;
/* 0x0F5C */ dCcD_Cyl mCcD4;
/* 0x10AC */ STATE_MGR_DECLARE(dAcTbox_c);
/* 0x10E8 */ fLiNdBa_c mTboxListNode;
/* 0x10F4 */ ActorEventRelated mEvent;
/* 0x1144 */ dAcRef_c<dAcItem_c> mItemRef;
/* 0x1150 */ DowsingTarget mDowsingTarget;
/* 0x1170 */ DowsingTarget mGoddessDowsingTarget;
/* 0x1190 */ void (dAcTbox_c::*mRegisterDowsingTarget)();
/* 0x119C */ void (dAcTbox_c::*mUnregisterDowsingTarget)();
/* 0x11A8 */ u8 field_0x11A8[0x11C0 - 0x11A8];
/* 0x11C0 */ mVec3_c field_0x11C0;
/* 0x11CC */ mVec3_c field_0x11CC;
/* 0x11D8 */ mVec3_c field_0x11D8;
/* 0x11E4 */ u8 field_0x11E4[0x11E8 - 0x11E4];
/* 0x11E8 */ f32 field_0x11E8;
/* 0x11EC */ f32 field_0x11EC;
/* 0x11F0 */ UNKWORD field_0x11F0;
/* 0x11F4 */ UNKWORD field_0x11F4;
/* 0x11F8 */ UNKWORD field_0x11F8;
/* 0x11FC */ UNKWORD field_0x11FC;
/* 0x1200 */ u16 mItemId;
/* 0x1202 */ u16 mItemModelIdx;
/* 0x1204 */ bool mHasBeenOpened;
/* 0x1205 */ u8 mSpawnSceneFlag;
/* 0x1206 */ u8 mSetSceneFlag; // set when?
/* 0x1207 */ u8 field_0x1207;
/* 0x1208 */ u8 field_0x1208;
/* 0x1209 */ u8 mVariant;
/* 0x120A */ u8 field_0x120A;
/* 0x120B */ u8 field_0x120B;
/* 0x120C */ u8 field_0x120C;
/* 0x120D */ u8 field_0x120D;
/* 0x120E */ u8 field_0x120E;
/* 0x120F */ bool field_0x120F;
/* 0x1210 */ bool field_0x1210;
/* 0x1211 */ bool mDoObstructedCheck;
static const cCcD_SrcGObj sColSrc;
static fLiMgBa_c sTboxActorList;
};
#endif
+18
View File
@@ -883,6 +883,12 @@ public:
u32 ChkAtNoGaurd() const {
return mAt.MskSPrm(0x200000);
}
void SetAt_0x40000000() {
mAt.OnSPrm(0x40000000);
}
u32 ChkAt_0x40000000() {
return mAt.MskSPrm(0x40000000);
}
// Tg
@@ -908,6 +914,12 @@ public:
void SetTgInfo_0x2(u16 val) {
mTg.SetInfo_0x2(val);
}
void SetTg_0x40000000() {
mTg.OnSPrm(0x40000000);
}
u32 ChkTg_0x40000000() {
return mTg.MskSPrm(0x40000000);
}
// Co
@@ -929,6 +941,12 @@ public:
void SetCo_0x400() {
mCo.OnSPrm(0x400);
}
void SetCo_0x40000000() {
mCo.OnSPrm(0x40000000);
}
u32 ChkCo_0x40000000() {
return mCo.MskSPrm(0x40000000);
}
/**
* SET HIT
+3
View File
@@ -83,6 +83,9 @@ public:
virtual cCcD_ShapeAttr *GetShapeAttr() override;
// Have to bring these in scope. Consider renaming this
// Set function instead or create an inline?
using cM3dGUnk::Set;
void Set(const dCcD_SrcUnk &src);
};
+101
View File
@@ -0,0 +1,101 @@
#ifndef D_CC_H
#define D_CC_H
#include "c/c_list.h"
#include "d/col/c/c_cc_d.h"
#include "d/col/cc/d_cc_d.h"
class LinkedColliderNode : public cListNd_c {
public:
LinkedColliderNode(cCcD_Obj *obj) : mpList(nullptr), mpCcDObj(obj) {}
void remove() {
if (mpList != nullptr) {
mpList->remove(this);
mpList = nullptr;
}
}
/* 0x08 */ cCcD_Obj *mpCcDObj;
/* 0x0C */ cListMg_c *mpList;
};
class dCcD_Linked_Unk : public dCcD_Unk {
public:
dCcD_Linked_Unk() : mNode(this) {}
virtual ~dCcD_Linked_Unk() {
mNode.remove();
}
/* 0x210 */ LinkedColliderNode mNode;
};
class dCcD_Linked_Cyl : public dCcD_Cyl {
public:
dCcD_Linked_Cyl() : mNode(this) {}
virtual ~dCcD_Linked_Cyl() {
mNode.remove();
}
/* 0x150 */ LinkedColliderNode mNode;
};
class dCcD_Linked_Sph : public dCcD_Sph {
public:
dCcD_Linked_Sph() : mNode(this) {}
virtual ~dCcD_Linked_Sph() {
mNode.remove();
}
/* 0x150 */ LinkedColliderNode mNode;
};
class dCcD_Linked_Cps : public dCcD_Cps {
public:
dCcD_Linked_Cps() : mNode(this) {}
virtual ~dCcD_Linked_Cps() {
mNode.remove();
}
/* 0x170 */ LinkedColliderNode mNode;
};
class dColliderLinkedList {
private:
cListMg_c mList;
static void Set(cCcD_Obj *obj, void *cbArg);
static void SetStts(cCcD_Obj *obj, void *cbArg);
static void AtSet(cCcD_Obj *obj, void *cbArg);
static void ClrAt(cCcD_Obj *obj, void *cbArg);
static void TgSet(cCcD_Obj *obj, void *cbArg);
static void ClrTg(cCcD_Obj *obj, void *cbArg);
static void CoSet(cCcD_Obj *obj, void *cbArg);
static void ClrCo(cCcD_Obj *obj, void *cbArg);
public:
virtual ~dColliderLinkedList();
void postInit(cCcD_Obj &ccD);
void addCc(dCcD_Linked_Cyl &ccD, const dCcD_SrcCyl &src);
void addCc(dCcD_Linked_Sph &ccD, const dCcD_SrcSph &src);
void addCc(dCcD_Linked_Cps &ccD, const dCcD_SrcCps &src);
void addCc(dCcD_Linked_Unk &ccD, const dCcD_SrcUnk &src);
void SetStts(cCcD_Stts &stts);
void registerColliders();
typedef void (*ccCbFunc)(cCcD_Obj *obj, void *cbArg);
void foreachCc(ccCbFunc f, void *cbArg) const;
void foreachCc2(ccCbFunc f, void *cbArg) const;
// This find function is used by a lot of other
// TUs, all of which own the function passed as
// a ptmf. It's not immediately clear how this works,
// does every actor subclass the LinkedCollider___,
// or are the functions all added here for the other
// files to implement?
typedef bool (cCcD_Obj::*ccPtmf)();
cCcD_Obj *find(ccPtmf f) const;
void AtSet();
void ClrAt();
void TgSet();
void ClrTg();
void CoSet();
void ClrCo();
};
#endif
+1 -1
View File
@@ -21,7 +21,7 @@ public:
virtual ~TBoxflagManager() {}
void init();
void copyFromSave(u32 sceneIndex);
bool checkFlag(u16 sceneIndex, u16 flag);
u16 checkFlag(u16 sceneIndex, u16 flag);
virtual u16 getFlagCount() const;
void setFlag(u16 flag);
bool checkUncommittedFlag(u16 sceneIndex, u16 flag);
@@ -19,7 +19,7 @@ public:
bool checkIfObjectArcExistsOnDisk(const char *object);
bool loadObjectArcFromDisk(const char *object, EGG::Heap *heap);
bool addEntryFromSuperArc(const char *object, void *data, EGG::Heap *heap);
void ensureLoaded1(const char *object);
int ensureLoaded1(const char *object);
void ensureLoaded2(const char *object);
bool decrement(const char *path);
void *getData(const char *oarcName, const char *fileName);
@@ -0,0 +1,27 @@
#ifndef BLUR_AND_PALETTE_MANAGER_H
#define BLUR_AND_PALETTE_MANAGER_H
#include "common.h"
#include "m/m_vec.h"
class BlurAndPaletteManager {
public:
static BlurAndPaletteManager &GetInstance() {
return sInstance;
}
void fn_800247D0(mVec3_c, f32);
void fn_80022AF0(f32);
void setField_0x2F20(f32 arg) {
field_0x2F20 = arg;
}
void fn_800223A0(void *);
void fn_80022440(void *);
private:
u8 field_0x0000[0x2F20 - 0x0000];
f32 field_0x2F20;
static BlurAndPaletteManager sInstance;
};
#endif
+1 -1
View File
@@ -16,4 +16,4 @@ public:
u16 counterId;
};
#endif COUNTER_H
#endif
@@ -0,0 +1,19 @@
#ifndef GODDESS_CHEST_COUNTER_H
#define GODDESS_CHEST_COUNTER_H
#include "toBeSorted/counters/counter.h"
class GoddessChestCounter : public Counter {
public:
GoddessChestCounter() : Counter(0x43F) {}
virtual ~GoddessChestCounter() {};
virtual u16 getCommittedValue() override;
virtual u16 getMax() override;
virtual u16 getUncommittedValue() override;
virtual void setValue(u16 num) override;
static GoddessChestCounter sInstance;
};
#endif
+2 -1
View File
@@ -16,8 +16,9 @@ public:
public:
/** 0x800A0C40 */
Event(char *eventName, u32 unk, u32 eventFlags, void *callback1, void *callback2);
Event(const char *eventName, u32 unk, u32 eventFlags, void *callback1, void *callback2);
Event(u32 eventId, s32 roomId, u32 eventFlags, void *callback1, void *callback2);
Event(const char *eventName, void *zevDat, u32 unk, u32 eventFlags, void *callback1, void *callback2);
/** 0x800A1240 */
virtual ~Event();
};
+1
View File
@@ -12,6 +12,7 @@ class EventManager {
public:
static bool isInEvent(dAcBase_c *actor, const char *eventName);
static bool finishEvent(dAcBase_c *actor, const char *eventName);
static void changeOwnEvent(dAcBase_c *actor1, dAcBase_c *actor2, Event *event, UNKWORD);
static bool alsoSetAsCurrentEvent(dAcBase_c *actor, Event *event, void *unknown);
static EventManager *sInstance;
+4
View File
@@ -60,6 +60,10 @@ public:
char _7[3];
bool hasAnmTexPat;
bool didAlreadyInit;
bool checkFlag(u32 flag) {
return flags & flag;
}
};
class dRoomTable {
+2 -3
View File
@@ -18,6 +18,7 @@
#include "m/m_vec.h"
#include "rvl/MTX/vec.h"
#include "s/s_Math.h"
#include "toBeSorted/blur_and_palette_manager.h"
#include "toBeSorted/dowsing_target.h"
void float_ordering() {
@@ -91,8 +92,6 @@ int dAcOTumbleWeed_c::doDelete() {
return SUCCEEDED;
}
extern "C" void fn_800247D0(void *, mVec3_c, f32);
extern "C" UNKWORD BLUR_AND_PALETTE_MGR;
int dAcOTumbleWeed_c::actorExecute() {
if (!mField_0x98C && !isStopped()) {
@@ -106,7 +105,7 @@ int dAcOTumbleWeed_c::actorExecute() {
calcWind();
sLib::chase(&mField_0x980, 1.f, 0.1f);
fn_800247D0(&BLUR_AND_PALETTE_MGR, mField_0x968, mField_0x980);
BlurAndPaletteManager::GetInstance().fn_800247D0(mField_0x968, mField_0x980);
calcVelocity();
position += velocity;
+6
View File
@@ -74,3 +74,9 @@ void cListMg_c::prepend(cListNd_c *node) {
}
this->mpFirst = node;
}
void cListMg_c::clear() {
while (mpFirst != nullptr) {
remove(mpFirst);
}
}
+1 -1
View File
@@ -613,6 +613,6 @@ void dAcBase_c::FUN_8002dd90() {
void dAcBase_c::FUN_8002ddd0() {}
// 8002de30
void dAcBase_c::FUN_8002de30() {
void dAcBase_c::FUN_8002de30(cBgS_PolyInfo &p) {
FUN_8002ddd0();
}
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1237,7 +1237,7 @@ bool cCcD_CylAttr::CrossCo(cCcD_CpsAttr &cpsAttr, f32 *pOut) {
}
bool cCcD_CylAttr::CrossCo(cCcD_UnkAttr &unkAttr, f32 *pOut) {
cM3dGCyl::Cross(unkAttr, pOut);
return cM3dGCyl::Cross(unkAttr, pOut);
}
void cCcD_CylAttr::CalcAabBox() {
+12
View File
@@ -0,0 +1,12 @@
#include "d/a/obj/d_a_obj_base.h"
#include "m/m_mtx.h"
ActorCarryStruct::ActorCarryStruct()
: actorLink(nullptr), carriedActor(nullptr), carryFlags(0), carryType(0), field_0x18(0),
field_0x1C(0.0f, 0.0f, 0.0f), carryTransMtx(mMtx_c::Identity), field_0x58(mMtx_c::Identity), isCarried(0),
field_0x8C(0.0f), field_0x90(0.0f), field_0x94(0.0f), field_0x98(0.0f) {}
ActorCarryStruct::~ActorCarryStruct() {
fn_80051190(nullptr);
fn_80050EB0(nullptr);
}
+157
View File
@@ -0,0 +1,157 @@
#include "d/d_cc.h"
#include "common.h"
#include "d/col/c/c_cc_d.h"
#include "d/col/cc/d_cc_d.h"
#include "d/col/cc/d_cc_s.h"
void dColliderLinkedList::postInit(cCcD_Obj &ccD) {
if (ccD.ChkAtSet()) {
ccD.SetAt_0x40000000();
}
if (ccD.ChkTgSet()) {
ccD.SetTg_0x40000000();
}
if (ccD.ChkCoSet()) {
ccD.SetCo_0x40000000();
}
}
void dColliderLinkedList::addCc(dCcD_Linked_Cyl &ccD, const dCcD_SrcCyl &src) {
ccD.Set(src);
mList.append(&ccD.mNode);
ccD.mNode.mpList = &mList;
postInit(ccD);
}
void dColliderLinkedList::addCc(dCcD_Linked_Sph &ccD, const dCcD_SrcSph &src) {
ccD.Set(src);
mList.append(&ccD.mNode);
ccD.mNode.mpList = &mList;
postInit(ccD);
}
void dColliderLinkedList::addCc(dCcD_Linked_Cps &ccD, const dCcD_SrcCps &src) {
ccD.Set(src);
mList.append(&ccD.mNode);
ccD.mNode.mpList = &mList;
postInit(ccD);
}
void dColliderLinkedList::addCc(dCcD_Linked_Unk &ccD, const dCcD_SrcUnk &src) {
ccD.Set(src);
mList.append(&ccD.mNode);
ccD.mNode.mpList = &mList;
postInit(ccD);
}
void dColliderLinkedList::foreachCc(ccCbFunc f, void *cbArg) const {
LinkedColliderNode *nd = static_cast<LinkedColliderNode *>(mList.getFirst());
while (nd != nullptr) {
f(nd->mpCcDObj, cbArg);
nd = static_cast<LinkedColliderNode *>(nd->getNext());
}
}
// What's the difference between these two?
void dColliderLinkedList::foreachCc2(ccCbFunc f, void *cbArg) const {
LinkedColliderNode *nd = static_cast<LinkedColliderNode *>(mList.getFirst());
while (nd != nullptr) {
f(nd->mpCcDObj, cbArg);
nd = static_cast<LinkedColliderNode *>(nd->getNext());
}
}
void dColliderLinkedList::Set(cCcD_Obj *obj, void *cbArg) {
dCcS::GetInstance()->Set(obj);
}
void dColliderLinkedList::registerColliders() {
foreachCc(Set, nullptr);
}
void dColliderLinkedList::SetStts(cCcD_Obj *obj, void *cbArg) {
obj->SetStts(*static_cast<cCcD_Stts *>(cbArg));
}
void dColliderLinkedList::SetStts(cCcD_Stts &stts) {
foreachCc(SetStts, &stts);
}
cCcD_Obj *dColliderLinkedList::find(ccPtmf f) const {
cCcD_Obj *o;
LinkedColliderNode *nd = static_cast<LinkedColliderNode *>(mList.getFirst());
while (nd != nullptr) {
o = nd->mpCcDObj;
if ((o->*f)()) {
return o;
}
nd = static_cast<LinkedColliderNode *>(nd->getNext());
}
return nullptr;
}
void dColliderLinkedList::AtSet(cCcD_Obj *obj, void *cbArg) {
if (!obj->ChkAt_0x40000000()) {
return;
}
obj->OnAtSet();
}
void dColliderLinkedList::AtSet() {
foreachCc(AtSet, nullptr);
}
void dColliderLinkedList::ClrAt(cCcD_Obj *obj, void *cbArg) {
obj->ClrAtSet();
obj->ClrAtHit();
}
void dColliderLinkedList::ClrAt() {
foreachCc(ClrAt, nullptr);
}
void dColliderLinkedList::TgSet(cCcD_Obj *obj, void *cbArg) {
if (!obj->ChkTg_0x40000000()) {
return;
}
obj->OnTgSet();
}
void dColliderLinkedList::TgSet() {
foreachCc(TgSet, nullptr);
}
void dColliderLinkedList::ClrTg(cCcD_Obj *obj, void *cbArg) {
obj->ClrTgSet();
obj->ClrTgHit();
}
void dColliderLinkedList::ClrTg() {
foreachCc(ClrTg, nullptr);
}
void dColliderLinkedList::CoSet(cCcD_Obj *obj, void *cbArg) {
if (!obj->ChkCo_0x40000000()) {
return;
}
obj->OnCoSet();
}
void dColliderLinkedList::CoSet() {
foreachCc(CoSet, nullptr);
}
void dColliderLinkedList::ClrCo(cCcD_Obj *obj, void *cbArg) {
obj->ClrCoSet();
obj->ClrCoHit();
}
void dColliderLinkedList::ClrCo() {
foreachCc(ClrCo, nullptr);
}
dColliderLinkedList::~dColliderLinkedList() {
mList.clear();
}
+1 -1
View File
@@ -33,7 +33,7 @@ void TBoxflagManager::copyFromSave(u32 sceneIndex) {
}
/* 0x800BE990 */
bool TBoxflagManager::checkFlag(u16 sceneIndex, u16 flag) {
u16 TBoxflagManager::checkFlag(u16 sceneIndex, u16 flag) {
s32 actualFlag = (flag + sceneIndex * 0x20);
return mFlagHelper.checkFlag(
actualFlag / 16, flag % 16, FileManager::getInstance()->getTBoxFlagsConst(), getFlagCount()
+2 -2
View File
@@ -35,8 +35,8 @@ bool OarcManager::addEntryFromSuperArc(const char *object, void *data, EGG::Heap
return mArcTable.addEntryFromSuperArc(object, data, 0, heap);
}
void OarcManager::ensureLoaded1(const char *object) {
mArcTable.ensureLoadedMaybe2(object);
int OarcManager::ensureLoaded1(const char *object) {
return mArcTable.ensureLoadedMaybe2(object);
}
void OarcManager::ensureLoaded2(const char *object) {