Skip to content

Commit

Permalink
Attention (#35)
Browse files Browse the repository at this point in the history
* attention

* Header

* These were meant to be public

* fixup merge

---------

Co-authored-by: elijah-thomas774 <[email protected]>
  • Loading branch information
robojumper and elijah-thomas774 authored Sep 28, 2024
1 parent 3829ee6 commit d35fb6d
Show file tree
Hide file tree
Showing 12 changed files with 934 additions and 87 deletions.
8 changes: 8 additions & 0 deletions config/SOUE01/splits.txt
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,14 @@ toBeSorted/arc_managers/layout_arc_manager.cpp:
.sdata start:0x80571D68 end:0x80571D70
.sbss start:0x80575288 end:0x80575290

toBeSorted/attention.cpp:
.text start:0x80093A80 end:0x80096EAC
.ctors start:0x804DB6B8 end:0x804DB6BC
.rodata start:0x804E3560 end:0x804E3580
.data start:0x8050F1C8 end:0x8050F540
.sdata2 start:0x80579600 end:0x80579638
.bss start:0x805A2F58 end:0x805A2FB0

toBeSorted/dowsing_target.cpp:
.text start:0x80097570 end:0x80098574
.ctors start:0x804DB6BC end:0x804DB6C0
Expand Down
144 changes: 73 additions & 71 deletions config/SOUE01/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1257,8 +1257,8 @@ fn_800337D0 = .text:0x800337D0; // type:function size:0xB4
fn_80033890 = .text:0x80033890; // type:function size:0xAC
fn_80033940 = .text:0x80033940; // type:function size:0x14
fn_80033960 = .text:0x80033960; // type:function size:0x284
fn_80033BF0 = .text:0x80033BF0; // type:function size:0x14
fn_80033C10 = .text:0x80033C10; // type:function size:0x58
__ct__24dAcRef_c<12dAcObjBase_c>Fv = .text:0x80033BF0; // type:function size:0x14
__dt__24dAcRef_c<12dAcObjBase_c>Fv = .text:0x80033C10; // type:function size:0x58
fn_80033C70 = .text:0x80033C70; // type:function size:0x74
fn_80033CF0 = .text:0x80033CF0; // type:function size:0x5C
fn_80033D50 = .text:0x80033D50; // type:function size:0x9C
Expand Down Expand Up @@ -2360,7 +2360,7 @@ fn_80059660 = .text:0x80059660; // type:function size:0x18
fn_80059680 = .text:0x80059680; // type:function size:0x18
fn_800596A0 = .text:0x800596A0; // type:function size:0x18
fn_800596C0 = .text:0x800596C0; // type:function size:0x18
fn_800596E0 = .text:0x800596E0; // type:function size:0x18
checkButtonZPressed__4dPadFv = .text:0x800596E0; // type:function size:0x18
fn_80059700 = .text:0x80059700; // type:function size:0x18
fn_80059720 = .text:0x80059720; // type:function size:0x18
fn_80059740 = .text:0x80059740; // type:function size:0x18
Expand All @@ -2375,7 +2375,7 @@ isAllPressed__Q23EGG14CoreControllerFv = .text:0x80059840; // type:function size
fn_80059860 = .text:0x80059860; // type:function size:0x18
fn_80059880 = .text:0x80059880; // type:function size:0x18
fn_800598A0 = .text:0x800598A0; // type:function size:0x18
fn_800598C0 = .text:0x800598C0; // type:function size:0x18
checkButtonZHeld__4dPadFv = .text:0x800598C0; // type:function size:0x18
fn_800598E0 = .text:0x800598E0; // type:function size:0x18
fn_80059900 = .text:0x80059900; // type:function size:0x18
fn_80059920 = .text:0x80059920; // type:function size:0x18
Expand Down Expand Up @@ -3329,60 +3329,61 @@ fn_800937D0 = .text:0x800937D0; // type:function size:0x98
fn_80093870 = .text:0x80093870; // type:function size:0xA4
fn_80093920 = .text:0x80093920; // type:function size:0xA4
fn_800939D0 = .text:0x800939D0; // type:function size:0xA4
fn_80093A80 = .text:0x80093A80; // type:function size:0x1C
fn_80093AA0 = .text:0x80093AA0; // type:function size:0x40
fn_80093AE0 = .text:0x80093AE0; // type:function size:0x4
fn_80093AF0 = .text:0x80093AF0; // type:function size:0x4
fn_80093B00 = .text:0x80093B00; // type:function size:0x44
fn_80093B50 = .text:0x80093B50; // type:function size:0x98
fn_80093BF0 = .text:0x80093BF0; // type:function size:0x48
fn_80093C40 = .text:0x80093C40; // type:function size:0x68
fn_80093CB0 = .text:0x80093CB0; // type:function size:0x4
fn_80093CC0 = .text:0x80093CC0; // type:function size:0x40
fn_80093D00 = .text:0x80093D00; // type:function size:0x80
fn_80093D80 = .text:0x80093D80; // type:function size:0x64
fn_80093DF0 = .text:0x80093DF0; // type:function size:0x98
fn_80093E90 = .text:0x80093E90; // type:function size:0xA8
fn_80093F40 = .text:0x80093F40; // type:function size:0xCC
fn_80094010 = .text:0x80094010; // type:function size:0x19C
fn_800941B0 = .text:0x800941B0; // type:function size:0x204
fn_800943C0 = .text:0x800943C0; // type:function size:0x98
fn_80094460 = .text:0x80094460; // type:function size:0x4
fn_80094470 = .text:0x80094470; // type:function size:0x4
fn_80094480 = .text:0x80094480; // type:function size:0x8
fn_80094490 = .text:0x80094490; // type:function size:0x4C
fn_800944E0 = .text:0x800944E0; // type:function size:0xB4
fn_800945A0 = .text:0x800945A0; // type:function size:0x284
fn_80094830 = .text:0x80094830; // type:function size:0xCA4
fn_800954E0 = .text:0x800954E0; // type:function size:0x50
fn_80095530 = .text:0x80095530; // type:function size:0x654
fn_80095B90 = .text:0x80095B90; // type:function size:0xBC
getPosCopy3__FRC12dAcObjBase_c = .text:0x80093A80; // type:function size:0x1C
__dt__12UnkAttnClassFv = .text:0x80093AA0; // type:function size:0x40
init__12UnkAttnClassFv = .text:0x80093AE0; // type:function size:0x4
remove__12UnkAttnClassFv = .text:0x80093AF0; // type:function size:0x4
__ct__12UnkAttnClassFv = .text:0x80093B00; // type:function size:0x44
__ct__16AttentionManagerFv = .text:0x80093B50; // type:function size:0x98
__ct__14AttentionGroupFv = .text:0x80093BF0; // type:function size:0x48
__ct__13AttentionPoolFv = .text:0x80093C40; // type:function size:0x68
__ct__13AttentionInfoFv = .text:0x80093CB0; // type:function size:0x4
__dt__13AttentionInfoFv = .text:0x80093CC0; // type:function size:0x40
__dt__13AttentionPoolFv = .text:0x80093D00; // type:function size:0x80
__dt__14AttentionGroupFv = .text:0x80093D80; // type:function size:0x64
__ct__14InteractionMdlFv = .text:0x80093DF0; // type:function size:0x98
__dt__14InteractionMdlFv = .text:0x80093E90; // type:function size:0xA8
__dt__16AttentionManagerFv = .text:0x80093F40; // type:function size:0xCC
create__16AttentionManagerFv = .text:0x80094010; // type:function size:0x19C
createHeap__16AttentionManagerFv = .text:0x800941B0; // type:function size:0x204
isInNormalGameState__16AttentionManagerCFv = .text:0x800943C0; // type:function size:0x98
isZButtonPressed__16AttentionManagerCFv = .text:0x80094460; // type:function size:0x4
isZButtonHeld__16AttentionManagerCFv = .text:0x80094470; // type:function size:0x4
checkUnknown__16AttentionManagerCFv = .text:0x80094480; // type:function size:0x8
checkLink1__16AttentionManagerCFv = .text:0x80094490; // type:function size:0x4C
checkLink2__16AttentionManagerCFv = .text:0x800944E0; // type:function size:0xB4
execute__16AttentionManagerFv = .text:0x800945A0; // type:function size:0x284
switchTarget__16AttentionManagerFl = .text:0x80094830; // type:function size:0xCA4
debugPrint8__FPCce = .text:0x800954E0; // type:function size:0x50
playTargetAnim__16AttentionManagerFl = .text:0x80095530; // type:function size:0x654
draw__16AttentionManagerFv = .text:0x80095B90; // type:function size:0xBC
fn_80095C50 = .text:0x80095C50; // type:function size:0x70
fn_80095CC0 = .text:0x80095CC0; // type:function size:0x70
fn_80095D30 = .text:0x80095D30; // type:function size:0x70
fn_80095DA0 = .text:0x80095DA0; // type:function size:0x3E8
fn_80096190 = .text:0x80096190; // type:function size:0xEC
fn_80096280 = .text:0x80096280; // type:function size:0x230
fn_800964B0 = .text:0x800964B0; // type:function size:0xBC
addTarget__16AttentionManagerFR12dAcObjBase_cRC20InteractionTargetDefUlP7mVec3_c = .text:0x80095DA0; // type:function size:0x3E8
fn_80096190__13AttentionPoolFP12dAcObjBase_cUc15InteractionType = .text:0x80096190; // type:function size:0xEC
insertTarget__13AttentionPoolFP12dAcObjBase_cUlP7mVec3_c15InteractionTypeUcf = .text:0x80096280; // type:function size:0x230
fn_800964B0__14AttentionGroupFv = .text:0x800964B0; // type:function size:0xBC
fn_80096570 = .text:0x80096570; // type:function size:0x10C
fn_80096680 = .text:0x80096680; // type:function size:0x3DC
fn_80096A60 = .text:0x80096A60; // type:function size:0x50
fn_80096AB0 = .text:0x80096AB0; // type:function size:0x88
fn_80096B40 = .text:0x80096B40; // type:function size:0x80
fn_80096BC0 = .text:0x80096BC0; // type:function size:0x18
fn_80096BE0 = .text:0x80096BE0; // type:function size:0x20
addTarget__12dAttention_cFP9dAcBase_clffff = .text:0x80096C00; // type:function size:0x28
addTarget__12dAttention_cFP9dAcBase_clfff = .text:0x80096C30; // type:function size:0x28
fn_80096C60 = .text:0x80096C60; // type:function size:0x30
fn_80096C90 = .text:0x80096C90; // type:function size:0x34
fn_80096CD0 = .text:0x80096CD0; // type:function size:0x30
fn_80096D00 = .text:0x80096D00; // type:function size:0x50
fn_80096D50 = .text:0x80096D50; // type:function size:0x28
fn_80096D80 = .text:0x80096D80; // type:function size:0x38
fn_80096DC0 = .text:0x80096DC0; // type:function size:0x28
fn_80096DF0 = .text:0x80096DF0; // type:function size:0x28
fn_80096E20 = .text:0x80096E20; // type:function size:0x68
fn_80096E90 = .text:0x80096E90; // type:function size:0x1C
targetScore__16AttentionManagerFP12dAcObjBase_cP12dAcObjBase_c = .text:0x80096AB0; // type:function size:0x88
fn_80096B40__16AttentionManagerFP12dAcObjBase_c = .text:0x80096B40; // type:function size:0x80
addPickUpTarget__16AttentionManagerFR12dAcObjBase_cf = .text:0x80096BC0; // type:function size:0x18
addSitTarget__16AttentionManagerFR12dAcObjBase_cUlf = .text:0x80096BE0; // type:function size:0x20
addExamineTalkTarget__16AttentionManagerFR12dAcObjBase_cUlffff = .text:0x80096C00; // type:function size:0x28
addExamineTalkTarget__16AttentionManagerFR12dAcObjBase_cUlfff = .text:0x80096C30; // type:function size:0x28
addCatchTarget__16AttentionManagerFR12dAcObjBase_cUlfff = .text:0x80096C60; // type:function size:0x30
addCatchLikeTarget__16AttentionManagerFR12dAcObjBase_c15InteractionTypeUlfff = .text:0x80096C90; // type:function size:0x34
addUnk3Target__16AttentionManagerFR12dAcObjBase_cUlfff = .text:0x80096CD0; // type:function size:0x30
addUnk3Target__16AttentionManagerFR12dAcObjBase_cUlffff = .text:0x80096D00; // type:function size:0x10
addUnk3Target__16AttentionManagerFR12dAcObjBase_cUlP7mVec3_cUlffff = .text:0x80096D10; // type:function size:0x40
addNpcTalkTarget__16AttentionManagerFR12dAcObjBase_cUlffff = .text:0x80096D50; // type:function size:0x28
addUnk7Target__16AttentionManagerFR12dAcObjBase_cUlffff = .text:0x80096D80; // type:function size:0x38
addReadTarget__16AttentionManagerFR12dAcObjBase_cUlffff = .text:0x80096DC0; // type:function size:0x28
addReadTarget2__16AttentionManagerFR12dAcObjBase_cUlfff = .text:0x80096DF0; // type:function size:0x28
__sinit_\attention_cpp = .text:0x80096E20; // type:function size:0x68
__arraydtor$6436 = .text:0x80096E90; // type:function size:0x1C
fn_80096EB0 = .text:0x80096EB0; // type:function size:0x154
fn_80097010 = .text:0x80097010; // type:function size:0x8
fn_80097020 = .text:0x80097020; // type:function size:0x14C
Expand Down Expand Up @@ -17273,7 +17274,7 @@ fn_802E0190 = .text:0x802E0190; // type:function size:0x13C
fn_802E02D0 = .text:0x802E02D0; // type:function size:0xF8
fn_802E03D0 = .text:0x802E03D0; // type:function size:0x174
fn_802E0550 = .text:0x802E0550; // type:function size:0x124
fn_802E0680 = .text:0x802E0680; // type:function size:0x1C
targetAngleY__4cLibFRC7mVec3_cRC7mVec3_c = .text:0x802E0680; // type:function size:0x1C
fn_802E06A0 = .text:0x802E06A0; // type:function size:0x68
fn_802E0710 = .text:0x802E0710; // type:function size:0xD8
fn_802E07F0 = .text:0x802E07F0; // type:function size:0x24
Expand Down Expand Up @@ -28205,7 +28206,7 @@ lbl_804E3458 = .rodata:0x804E3458; // type:object size:0x38 data:4byte
lbl_804E3490 = .rodata:0x804E3490; // type:object size:0x3C data:4byte
lbl_804E34CC = .rodata:0x804E34CC; // type:object size:0x3C data:4byte
lbl_804E3508 = .rodata:0x804E3508; // type:object size:0x58 data:4byte
lbl_804E3560 = .rodata:0x804E3560; // type:object size:0x20 data:4byte
s_Cursors = .rodata:0x804E3560; // type:object size:0x20 scope:local data:4byte
lbl_804E3580 = .rodata:0x804E3580; // type:object size:0x118 data:4byte
DOWSING_TARGET_STORY_FLAGS = .rodata:0x804E3698; // type:object size:0x20
lbl_804E36B8 = .rodata:0x804E36B8; // type:object size:0x10 data:4byte
Expand Down Expand Up @@ -30855,20 +30856,21 @@ lbl_8050F208 = .data:0x8050F208; // type:object size:0xC
lbl_8050F214 = .data:0x8050F214; // type:object size:0x14
lbl_8050F228 = .data:0x8050F228; // type:object size:0x10 data:string
lbl_8050F238 = .data:0x8050F238; // type:object size:0x80
lbl_8050F2B8 = .data:0x8050F2B8; // type:object size:0x30
lbl_8050F2E8 = .data:0x8050F2E8; // type:object size:0x60
lbl_8050F348 = .data:0x8050F348; // type:object size:0x30
lbl_8050F378 = .data:0x8050F378; // type:object size:0x30
lbl_8050F3A8 = .data:0x8050F3A8; // type:object size:0x30
lbl_8050F3D8 = .data:0x8050F3D8; // type:object size:0x30
lbl_8050F408 = .data:0x8050F408; // type:object size:0x30
lbl_8050F438 = .data:0x8050F438; // type:object size:0x30
lbl_8050F468 = .data:0x8050F468; // type:object size:0x30
lbl_8050F498 = .data:0x8050F498; // type:object size:0x30
lbl_8050F4C8 = .data:0x8050F4C8; // type:object size:0x30
lbl_8050F4F8 = .data:0x8050F4F8; // type:object size:0x30
lbl_8050F528 = .data:0x8050F528; // type:object size:0xC
lbl_8050F534 = .data:0x8050F534; // type:object size:0xC
@LOCAL@addPickUpTarget__16AttentionManagerFR12dAcObjBase_cf@pickUpTarget = .data:0x8050F2B8; // type:object size:0x30
@LOCAL@addSitTarget__16AttentionManagerFR12dAcObjBase_cUlf@sitTarget = .data:0x8050F2E8; // type:object size:0x30
@LOCAL@addTalkTarget_unused__16AttentionManagerFR12dAcObjBase_c@talkTarget = .data:0x8050F318; // type:object size:0x30
@LOCAL@addExamineTalkTarget__16AttentionManagerFR12dAcObjBase_cUlffff@examineTalkTarget = .data:0x8050F348; // type:object size:0x30
@LOCAL@addExamineTalkTarget__16AttentionManagerFR12dAcObjBase_cUlfff@examineTalkTarget2 = .data:0x8050F378; // type:object size:0x30
@LOCAL@addCatchTarget__16AttentionManagerFR12dAcObjBase_cUlfff@catchTarget = .data:0x8050F3A8; // type:object size:0x30
@LOCAL@addCatchLikeTarget__16AttentionManagerFR12dAcObjBase_c15InteractionTypeUlfff@catchTarget2 = .data:0x8050F3D8; // type:object size:0x30
@LOCAL@addUnk3Target__16AttentionManagerFR12dAcObjBase_cUlfff@unk3Target = .data:0x8050F408; // type:object size:0x30
@LOCAL@addUnk3Target__16AttentionManagerFR12dAcObjBase_cUlP7mVec3_cUlffff@unk3Target2 = .data:0x8050F438; // type:object size:0x30
@LOCAL@addNpcTalkTarget__16AttentionManagerFR12dAcObjBase_cUlffff@talkTarget = .data:0x8050F468; // type:object size:0x30
@LOCAL@addUnk7Target__16AttentionManagerFR12dAcObjBase_cUlffff@unk7Target = .data:0x8050F498; // type:object size:0x30
@LOCAL@addReadTarget__16AttentionManagerFR12dAcObjBase_cUlffff@readTarget = .data:0x8050F4C8; // type:object size:0x30
@LOCAL@addReadTarget2__16AttentionManagerFR12dAcObjBase_cUlfff@readTarget2 = .data:0x8050F4F8; // type:object size:0x30
__vt__12UnkAttnClass = .data:0x8050F528; // type:object size:0xC
__vt__16AttentionManager = .data:0x8050F534; // type:object size:0xC
lbl_8050F540 = .data:0x8050F540; // type:object size:0x10 data:4byte
__vt__13DowsingTarget = .data:0x8050F550; // type:object size:0x10
lbl_8050F560 = .data:0x8050F560; // type:object size:0xC data:string
Expand Down Expand Up @@ -39885,7 +39887,7 @@ lbl_8057535C = .sbss:0x8057535C; // type:object size:0x4 data:4byte
lbl_80575360 = .sbss:0x80575360; // type:object size:0x4 data:4byte
lbl_80575364 = .sbss:0x80575364; // type:object size:0x4 data:4byte
lbl_80575368 = .sbss:0x80575368; // type:object size:0x8 data:4byte
sInstance__12dAttention_c = .sbss:0x80575370; // type:object size:0x8 data:4byte
sInstance__16AttentionManager = .sbss:0x80575370; // type:object size:0x8 data:4byte
lbl_80575378 = .sbss:0x80575378; // type:object size:0x4 data:4byte
lbl_8057537C = .sbss:0x8057537C; // type:object size:0xC data:byte
lbl_80575388 = .sbss:0x80575388; // type:object size:0x8 data:byte
Expand Down Expand Up @@ -48265,8 +48267,8 @@ lbl_805A2DE8 = .bss:0x805A2DE8; // type:object size:0xA8 data:byte
lbl_805A2E90 = .bss:0x805A2E90; // type:object size:0x88 data:byte
lbl_805A2F18 = .bss:0x805A2F18; // type:object size:0x40
lbl_805A2F58 = .bss:0x805A2F58; // type:object size:0x10
lbl_805A2F68 = .bss:0x805A2F68; // type:object size:0x30
lbl_805A2F98 = .bss:0x805A2F98; // type:object size:0x18
attnVectors = .bss:0x805A2F68; // type:object size:0x30
attnClass = .bss:0x805A2F98; // type:object size:0x18
DOWSING_LISTS = .bss:0x805A2FB0; // type:object size:0x60
lbl_805A3010 = .bss:0x805A3010; // type:object size:0x18
lbl_805A3028 = .bss:0x805A3028; // type:object size:0xF78 data:byte
Expand Down
1 change: 1 addition & 0 deletions configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -333,6 +333,7 @@ def nw4rLib(lib_name, objects, extra_cflags=[]):
Object(Matching, "toBeSorted/arc_managers/current_stage_arc_manager.cpp"),
Object(Matching, "toBeSorted/arc_managers/oarc_manager.cpp"),
Object(Matching, "toBeSorted/arc_managers/layout_arc_manager.cpp"),
Object(NonMatching, "toBeSorted/attention.cpp"),
Object(NonMatching, "toBeSorted/dowsing_target.cpp"),
Object(NonMatching, "toBeSorted/time_area_mgr.cpp"),
Object(Matching, "toBeSorted/save_file.cpp"),
Expand Down
13 changes: 13 additions & 0 deletions include/c/c_lib.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#ifndef C_CLIB_H
#define C_CLIB_H

#include <common.h>
#include <m/m_vec.h>

namespace cLib {

s32 targetAngleY(const mVec3_c& target, const mVec3_c& source);

} // namespace cLib

#endif
8 changes: 8 additions & 0 deletions include/d/a/d_a_player.h
Original file line number Diff line number Diff line change
Expand Up @@ -182,5 +182,13 @@ class dAcPy_c : public dAcObjBase_c {
/* 0x360 */ UNKWORD field_0x360;
/* 0x364 */ u32 mActionFlags;

inline bool checkFlags0x340(u32 mask) const {
return (someFlags_0x340 & mask) != 0;
}

inline bool checkFlags0x350(u32 mask) const {
return (someFlags_0x350 & mask) != 0;
}

static dAcPy_c *LINK;
};
11 changes: 11 additions & 0 deletions include/d/d_pad.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#ifndef D_PAD_H
#define D_PAD_H

class dPad {
public:

static bool checkButtonZPressed();
static bool checkButtonZHeld();
};

#endif
4 changes: 3 additions & 1 deletion include/toBeSorted/arc_managers/oarc_manager.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
#include <sized_string.h>

class OarcManager {
public:
OarcManager();
virtual ~OarcManager();

dRawArcTable_c mArcTable;

static OarcManager *sInstance;

Expand All @@ -31,6 +31,8 @@ class OarcManager {
void *getDzbFromArc(const char *oarcName, const char *fileName);
void *getPlcFromArc(const char *oarcName, const char *fileName);
void *getSubEntryData(const char *oarcName, const char *fileName);
private:
dRawArcTable_c mArcTable;
};

#endif
Loading

0 comments on commit d35fb6d

Please sign in to comment.