#181: d_a_tag_attention (#784)

* #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 include/d/actor/d_a_tag_attention.h

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

* #181: update `d_a_tag_attention` to `Matching` in `configure.py`; remove Non-Matching comments

* #181: change matching type to `Equivalent` for `d_a_tag_attention`

* Apply suggestions from code review

Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>

* #181: fix PrmAbstract call

---------

Co-authored-by: WilliamArnett <149556961+WilliamArnett@users.noreply.github.com>
Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>
This commit is contained in:
Skelp
2025-06-04 20:31:32 +02:00
committed by GitHub
parent 5c5632822b
commit 08571c4865
4 changed files with 105 additions and 21 deletions
+37 -14
View File
@@ -6,7 +6,8 @@
#include "d/actor/d_a_tag_attention.h"
#include "d/d_procname.h"
#include "d/d_priority.h"
#include "d/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_com_inf_game.h"
static dCcD_SrcSph sph_check_src = {
// dCcD_SrcGObjInf
@@ -37,42 +38,64 @@ static dCcD_SrcSph sph_check_src = {
},
};
/* 00000078-00000188 .text _create__Q214daTagAttention5Act_cFv */
cPhs_State daTagAttention::Act_c::_create() {
/* Nonmatching */
fopAcM_SetupActor(this, Act_c);
mStts.Init(0xFF, 0xFF, this);
mSph.Set(sph_check_src);
mSph.SetStts(&mStts);
return cPhs_COMPLEATE_e;
}
/* 00000340-00000480 .text _execute__Q214daTagAttention5Act_cFv */
bool daTagAttention::Act_c::_execute() {
/* Nonmatching */
mSph.SetC(current.pos);
mSph.SetR(scale.x * 100.0f);
dComIfG_Ccsp()->Set(&mSph);
m_b0x290 = true;
if (prm_get_Type() == 1){
if (fopAcM_isSwitch(this, prm_get_swSave()) == FALSE){
m_b0x290 = false;
}
}else if (prm_get_Type() == 2){
if (fopAcM_isSwitch(this, prm_get_swSave()) != FALSE){
m_b0x290 = false;
}
}
cXyz unused;
if (chk_inside(&unused)){
dComIfGp_att_Look2RequestF(this, 0x6000, 1);
}
return true;
}
namespace daTagAttention {
namespace {
/* 00000480-000004A0 .text Mthd_Create__Q214daTagAttention31@unnamed@d_a_tag_attention_cpp@FPv */
cPhs_State Mthd_Create(void*) {
/* Nonmatching */
cPhs_State Mthd_Create(void* i_this) {
return static_cast<Act_c*>(i_this)->_create();
}
/* 000004A0-000004A8 .text Mthd_Delete__Q214daTagAttention31@unnamed@d_a_tag_attention_cpp@FPv */
BOOL Mthd_Delete(void*) {
/* Nonmatching */
bool Mthd_Delete(void* i_this) {
return TRUE;
}
/* 000004A8-000004C8 .text Mthd_Execute__Q214daTagAttention31@unnamed@d_a_tag_attention_cpp@FPv */
BOOL Mthd_Execute(void*) {
/* Nonmatching */
bool Mthd_Execute(void* i_this) {
return static_cast<Act_c*>(i_this)->_execute();
}
/* 000004C8-000004D0 .text Mthd_Draw__Q214daTagAttention31@unnamed@d_a_tag_attention_cpp@FPv */
BOOL Mthd_Draw(void*) {
/* Nonmatching */
BOOL Mthd_Draw(void* i_this) {
return TRUE;
}
/* 000004D0-000004D8 .text Mthd_IsDelete__Q214daTagAttention31@unnamed@d_a_tag_attention_cpp@FPv */
BOOL Mthd_IsDelete(void*) {
/* Nonmatching */
BOOL Mthd_IsDelete(void* i_this) {
return TRUE;
}
static actor_method_class Mthd_Table = {