d_a_npc_bm1 100% Matching Retail (#1107)

* 99% match

* Rewrote _execute to increase accuracy. Only issue in .text is a label not loading correctly. I have no idea how to fix this.

* Equivalent. Weak func ordering.

* 7% text

* 28% text

* 41% text

* 65% text

* Rewrote _execute to increase accuracy. Only issue in .text is a label not loading correctly. I have no idea how to fix this.

* Equivalent. Weak func ordering.

* 82% text

* Equivalent. A lot of work is needed to name variables and clean up functions. Weak function ordering is wrong.

* Cleaned some functions, named several variables, and began documenting dialog tree.

* Naming a couple more variables

* 21% text

* change out getMySubstanceP for getMyIntegerP inline

* 100% text

* Refactor to use JUT_ASSERT macro

* #181: d_a_tag_attention matching; TODO: implement chk_inside and dComIfGp_att_Look2RequestF

* #181: continue working on d_a_tag_attention, matching almost complete

* #181: revert naming class member (not certain enough)

* #181: preliminary changes to resolve #784 comments regarding usage of debug maps

* #181: commit suggestion by @WilliamArnett, fixing regalloc error

Co-authored-by: WilliamArnett <149556961+WilliamArnett@users.noreply.github.com>

* #181: fix missing curly bracket

* #181: resolve #784 comments with the kind help of @WilliamArnett;
 move `daTagAttention::Act_c::chk_inside` to header file; split `plyrToObjVec` definition to match assembly;
 remove temp variable, use values directly and swap operands;
 implement `Look2RequestF` in `include/d/d_attention.h`;
 remove non-matching use of temp variable `iVar1` and replace `current.pos` with uninitialized variable in `daTagAttention::Act_c::_execute`

* Update fork to match upstream

* some changes

* 12% text

* 21% text

* 26% text

* 43% text

* 51% text

* Revert unnecessary file changes

* Update d_a_tag_attention.cpp

* 55% text

* 52% text

* 52% text

* 56% text

* 68%

* 77% text

* 100% matching minus regswap

* 100% matching for retail

* Many more demo matches

* Fix broken match in _create()

* Demo Match

* Add some missing inlines

* Fix dComIfGp_setMesgCameraInfoActor

* More inline matching

* fix broken demo match

* Name some fields

* Utilize EventBit enum

* Name more fields, and add inline calls to d_a_npc_ls1

* Remove comments

* Implement @LagoLunatic suggested changes

* remove actor cast from dSnap_RegistFig calls

* Fix broken match in eInit_ATTENTION_

* Second round of @LagoLunatic 's suggested changes

---------

Co-authored-by: Skelp <skelp@pm.me>
Co-authored-by: Skelp <59535863+Skelp@users.noreply.github.com>
This commit is contained in:
WilliamArnett
2026-07-22 19:10:59 -05:00
committed by GitHub
parent 5c556d3c53
commit bf372802ca
5 changed files with 4204 additions and 447 deletions
+3912 -289
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -1577,7 +1577,7 @@ bool daNpc_Ls1_c::telescope_proc() {
if (m833 == 0) {
mDoAud_bgmStreamPrepare(JA_STRM_DEMO_TETRA_FLY);
bm1_npc_p->m881 = 1;
bm1_npc_p->setTelescopeDemo();
mTimer5 = 150;
m810 = -1;
m833 = 1;
@@ -1626,7 +1626,7 @@ bool daNpc_Ls1_c::telescope_proc() {
fopMsgM_forceSendOn();
}
dComIfGp_getCamera(0)->mCamera.setFlag(0x800000);
bm1_npc_p->m882 = 1;
bm1_npc_p->setFocus();
mTimer5 = 0;
m810 = 0;
m833 = 3;
@@ -1635,7 +1635,7 @@ bool daNpc_Ls1_c::telescope_proc() {
}
break;
case 3:
if (m810 == 0 && bm1_npc_p->m880 != 0) {
if (m810 == 0 && bm1_npc_p->getOdoroki()) {
if (scope_mesg_status == fopMsgStts_CLOSE_WAIT_e) {
fopMsgM_forceSendOn();
} else if (fopMsgM_releaseScopeMode()) {