d_a_e_mf equivalent and d_a_e_dn work#2492
Conversation
Report for GZ2E01 (ac06966 - ee452c0)📈 Matched code: 66.70% (+0.62%, +70676 bytes) ✅ 131 new matches:
...and 101 more new matches 📈 1 improvements in unmatched functions:
|
| @@ -11,16 +15,152 @@ | |||
| * | |||
| */ | |||
| class e_dn_class : public fopEn_enemy_c { | |||
There was a problem hiding this comment.
This doesn't inherit from fopEn_enemy_c, it has it as a field. When you change it, make sure all a_this assignments take the reference from the member variable
There was a problem hiding this comment.
For some reason, doing this messes up the regalloc for a number of functions. Is there some other variation of that process that it should be?
| @@ -11,16 +15,145 @@ | |||
| * | |||
| */ | |||
| class e_mf_class : public fopEn_enemy_c { | |||
There was a problem hiding this comment.
This doesn't inherit from fopEn_enemy_c, it has it as a field. When you change it, make sure all a_this assignments take the reference from the member variable
| public: | ||
| /* 8070A70C */ daE_MF_HIO_c(); | ||
| /* 80713464 */ ~daE_MF_HIO_c(); | ||
| /* 80713464 */ virtual ~daE_MF_HIO_c() {}; |
| cLib_addCalcAngleS2(&i_this->field_0x724.x, -0x4000, 1, 0x300); | ||
|
|
||
| if (i_this->mObjAcch.ChkGroundHit()) { | ||
| if (a_this->health > 0 && daPy_py_c::checkNowWolf() == 0) { |
There was a problem hiding this comment.
!daPy_py_c::checkNowWolf()
| i_this->mAtInfo.mHitStatus = 0; | ||
| } | ||
|
|
||
| if (i_this->mAtInfo.mpCollider->ChkAtType(AT_TYPE_UNK) != 0) { |
| } | ||
|
|
||
| i_this->field_0x724 |= i_this->mAtInfo.mHitBit; | ||
| if (i_this->mAtInfo.mHitType == 16 || i_this->mAtInfo.mpCollider->ChkAtType(AT_TYPE_HOOKSHOT) != 0) { |
| if (i_this->field_0xa9c[i].ChkTgHit() != 0) { | ||
| i_this->mAtInfo.mpCollider = i_this->field_0xa9c[i].GetTgHitObj(); | ||
| if (player->getCutType() != daPy_py_c::CUT_TYPE_WOLF_B_LEFT && player->getCutType() != daPy_py_c::CUT_TYPE_WOLF_B_RIGHT && | ||
| i_this->mAtInfo.mpCollider->ChkAtType(AT_TYPE_WOLF_ATTACK) != 0) { |
| } | ||
|
|
||
| i_this->field_0x10da = 3; | ||
| if (i_this->mAtInfo.mpCollider->ChkAtType(AT_TYPE_10000000) != 0) { |
| i_this->mAtInfo.mHitStatus = 0; | ||
| } | ||
|
|
||
| if (i_this->mAtInfo.mpCollider->ChkAtType(AT_TYPE_UNK) != 0) { |
There was a problem hiding this comment.
Just change all the ChkAtType
| break; | ||
|
|
||
| case ACTION_REG: | ||
| e_dn_reg(i_this); |
There was a problem hiding this comment.
Add break;
Not technically necessary but good practice if people add cases
|
Did you remove/not remove the pointer conversion? Try doing the opposite.
…On Fri, Jun 20, 2025, 23:00 Carco_21 ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In include/d/actor/d_a_e_dn.h
<#2492 (comment)>:
> @@ -11,16 +15,152 @@
*
*/
class e_dn_class : public fopEn_enemy_c {
For some reason, doing this messes up the regalloc for a number of
functions. Is there some other variation of that process that it should be?
—
Reply to this email directly, view it on GitHub
<#2492 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACYQXXIIUIU5ODB3NTGJT5L3ERR7XAVCNFSM6AAAAAB7Y5KUPWVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDSNBXGE3DINJVGQ>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Could you clarify? I tried "fopEn_enemy_c* a_this = &i_this->actor;". Is there a different way to do it? |
|
Add the (fopEn_enemy_c*)
…On Fri, Jun 20, 2025, 23:06 Carco_21 ***@***.***> wrote:
*carter-ktb21* left a comment (zeldaret/tp#2492)
<#2492 (comment)>
Did you remove/not remove the pointer conversion? Try doing the opposite.
Could you clarify?
I tried "fopEn_enemy_c* a_this = &i_this->actor;". Is there a different
way to do it?
—
Reply to this email directly, view it on GitHub
<#2492 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACYQXXMLFKTYT3KAVPNMQRT3ERSUHAVCNFSM6AAAAAB7Y5KUPWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDSOJSGY3DMMZZGU>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Interesting. That works! |
No description provided.