Files
tww/include/d/actor/d_a_kaji.h
T
WilliamArnett 11f4940d74 d_a_npc_p1 100% Matching (#1098)
* 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

* 73% text

* 100% Matching minus kaji_anm

* Delete debug/m2cdecomp

* revert unnecessary file changes

* remove d_a_npc_p2_cut.inc

* Match kaji_anm

* swap declaration order of l_msg and l_msgId

* Naming many fields

* Implement GetKajiID inline

* Enum and variable names

* Remove virtual genMessage function

* Implement @LagoLunatic 's suggested changes

* Revert array changes in d_camera.h (@LagoLunatic suggested change)

* Whitespace

* Rename dSnap enum

---------

Co-authored-by: Skelp <skelp@pm.me>
Co-authored-by: Skelp <59535863+Skelp@users.noreply.github.com>
2026-08-03 01:40:12 -04:00

68 lines
2.2 KiB
C++

#ifndef D_A_KAJI_H
#define D_A_KAJI_H
#include "d/d_com_inf_game.h"
#include "f_op/f_op_actor.h"
#include "SSystem/SComponent/c_phase.h"
#include "m_Do/m_Do_ext.h"
#include "m_Do/m_Do_mtx.h"
#include "res/Object/Kaji.h"
class mDoExt_McaMorf;
class daKaji_c : public fopAc_ac_c {
public:
static const char M_arcname[];
void set_mtx() {
mpMorf->getModel()->setBaseScale(scale);
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZXYrotM(shape_angle);
mpMorf->getModel()->setBaseTRMtx(mDoMtx_stack_c::get());
MTXCopy(mDoMtx_stack_c::get(), mMtx);
}
void setAnm(int i_m668, f32 frame) {
J3DAnmTransform* pAnimRes;
void* pSoundAnimRes;
switch(i_m668){
case 0:
pAnimRes = (J3DAnmTransform*)dComIfG_getObjectRes("Kaji",dRes_INDEX_KAJI_BCK_KJ_WAIT_e);
pSoundAnimRes = dComIfG_getObjectRes("Kaji",dRes_INDEX_KAJI_BAS_KJ_WAIT_e);
break;
case 1:
pAnimRes = (J3DAnmTransform*)dComIfG_getObjectRes("Kaji",dRes_INDEX_KAJI_BCK_KJ_OMO_e);
pSoundAnimRes = dComIfG_getObjectRes("Kaji",dRes_INDEX_KAJI_BAS_KJ_OMO_e);
break;
case 2:
pAnimRes = (J3DAnmTransform*)dComIfG_getObjectRes("Kaji",dRes_INDEX_KAJI_BCK_KJ_TORI_e);
pSoundAnimRes = dComIfG_getObjectRes("Kaji",dRes_INDEX_KAJI_BAS_KJ_TORI_e);
break;
case 3:
pAnimRes = (J3DAnmTransform*)dComIfG_getObjectRes("Kaji",dRes_INDEX_KAJI_BCK_KJ_ANG_e);
pSoundAnimRes = dComIfG_getObjectRes("Kaji",dRes_INDEX_KAJI_BAS_KJ_ANG_e);
break;
default:
return;
}
mpMorf->setAnm(pAnimRes,J3DFrameCtrl::EMode_LOOP,0.0,1.0,0.0,-1.0,pSoundAnimRes);
if(frame >= 0.0f){
mpMorf->setFrame(frame);
}
}
inline cPhs_State _create();
inline bool _delete();
inline bool _execute();
inline bool _draw();
BOOL CreateHeap();
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ u8 pad[0x29C - 0x298];
/* 0x29C */ mDoExt_McaMorf* mpMorf;
/* 0x2A0 */ Mtx mMtx;
};
#endif /* D_A_KAJI_H */