This commit is contained in:
LagoLunatic
2026-05-08 21:51:18 -04:00
parent f7cb58cbed
commit a3dd6ac9e1
13 changed files with 53 additions and 47 deletions
+2
View File
@@ -2,6 +2,8 @@
#define D_A_OBJ_APZL_H
#include "f_op/f_op_actor.h"
#include "f_op/f_op_actor_mng.h"
#include "f_op/f_op_msg.h"
#include "d/d_lib.h"
class daObjApzl_c : public fopAc_ac_c {
+7 -7
View File
@@ -10,9 +10,10 @@
namespace daObjEff {
class Act_c : public fopAc_ac_c {
public:
typedef BOOL (Act_c::*Proc)();
typedef void (Act_c::*voidProc)();
typedef bool (Act_c::*HeapProc)();
typedef bool (Act_c::*CreateHeapProc)();
typedef BOOL (Act_c::*SetProc)();
typedef void (Act_c::*RemoveProc)();
typedef void (Act_c::*DieProc)();
enum Prm_e {
PRM_TYPE_W = 8,
@@ -28,6 +29,8 @@ namespace daObjEff {
Type_WOODBOX_SMOKE_e = 5,
};
int prm_get_type() const { return daObj::PrmAbstract(this, PRM_TYPE_W, PRM_TYPE_S); }
static void make_barrel_smoke(cXyz* pos) { fopAcM_create(PROC_Obj_Eff, Type_BARREL_SMOKE_e, pos); }
static void make_stool_smoke(cXyz* pos) { fopAcM_create(PROC_Obj_Eff, Type_STOOL_SMOKE_e, pos); }
static void make_skull_smoke(cXyz* pos) { fopAcM_create(PROC_Obj_Eff, Type_SKULL_SMOKE_e, pos); }
@@ -38,10 +41,7 @@ namespace daObjEff {
}
static void make_pinecone_smoke(cXyz* pos) { fopAcM_create(PROC_Obj_Eff, Type_PINECONE_SMOKE_e, pos); }
static void make_woodBox_smoke(cXyz* pos) { fopAcM_create(PROC_Obj_Eff, Type_WOODBOX_SMOKE_e, pos); }
int prm_get_type() const {
return daObj::PrmAbstract(this, PRM_TYPE_W, PRM_TYPE_S);
}
static BOOL solidHeapCB(fopAc_ac_c*);
bool create_heap_barrel_smoke();
bool create_heap_stool_smoke();
+1 -1
View File
@@ -83,7 +83,7 @@ public:
/* 0xF59 */ bool mStatueDelete;
/* 0xF5A */ bool mEvtPlaying;
/* 0xF5B */ bool mBaseAnmPlaying;
/* 0xF5C */ s16 mState;
/* 0xF5C */ s16 mTimer;
/* 0xF5E */ s16 mLightCnt;
/* 0xF60 */ s16 mEvtIdx;
/* 0xF62 */ bool mSwitch;
+2 -2
View File
@@ -768,7 +768,7 @@ BOOL daAgbsw0_c::ExeSubM() {
}
}
/* 00001198-00001368 .text ExeSubM3__10daAgbsw0_cFv */
/* 00000FE4-00001198 .text ExeSubM2__10daAgbsw0_cFv */
BOOL daAgbsw0_c::ExeSubM2() {
if(dComIfGs_isEventBit(dSv_event_flag_c::UNK_2D01)) {
if(field_0x298 == 1) {
@@ -1126,7 +1126,7 @@ BOOL daAgbsw0_c::ExeSubMW() {
return true;
}
/* 00000344-0000066C .text ExeSubAT__10daAgbsw0_cFv */
/* 00001AD0-00001CC8 .text ExeSubT__10daAgbsw0_cFv */
BOOL daAgbsw0_c::ExeSubT() {
u8 sw0 = getSw0();
+3 -3
View File
@@ -128,7 +128,7 @@ daNpc_Cb1_HIO_c::daNpc_Cb1_HIO_c() {
field_0x84 = 0.2f;
mStickWalkSpeedScale = 10.0f;
field_0xC8 = -0x1000;
mPlayerFlyTimer = 0x1C2;
mPlayerFlyTimer = 450;
field_0xCC = 0x64;
field_0xCE = 0xF;
field_0xD0 = 0x4E20;
@@ -148,7 +148,7 @@ daNpc_Cb1_HIO_c::daNpc_Cb1_HIO_c() {
field_0xDA = 0x2968;
field_0xB0 = 34.0f;
field_0xB4 = 2.0f;
mNpcFlyTimer = 0x3C;
mNpcFlyTimer = 60;
field_0xDE = 0xD;
field_0xB8 = 2.0f;
mFlyLaunchSpeedY = 50.0f;
@@ -157,7 +157,7 @@ daNpc_Cb1_HIO_c::daNpc_Cb1_HIO_c() {
field_0xE4 = 0x14;
field_0xE6 = 0xBB8;
field_0xC4 = 20.0f;
mDamageTimer = 0x3C;
mDamageTimer = 60;
field_0xEF = 0;
mNo = -1;
}
+3 -3
View File
@@ -337,7 +337,7 @@ bool daObjApzl_c::move_piece() {
if (swapped == true) {
swap_piece(mBlankIdx, mSwappedPieceIdx);
if (check_clear()) {
mMoveTimer = 0x28;
mMoveTimer = 40;
} else {
mMoveTimer = 5;
}
@@ -639,7 +639,7 @@ void daObjApzl_c::privateCut() {
break;
case ACT_GETITEM:
mGaveReward = true;
mRewardTimer = 0x96;
mRewardTimer = 150;
break;
case ACT_SOUND:
mDoAud_seStart(JA_SE_15PUZZLE_COMPLETE);
@@ -731,7 +731,7 @@ void daObjApzl_c::privateCut() {
mRupeeIds[mGivenRupeeCount] = fopAcM_GetID(item);
mGivenRupeeCount++;
mGaveReward = true;
mRewardTimer = 0x3C;
mRewardTimer = 60;
}
}
break;
+4 -4
View File
@@ -144,7 +144,7 @@ bool daObjEff::Act_c::create_heap_woodBox_smoke() {
/* 00000790-00000898 .text create_heap__Q28daObjEff5Act_cFv */
bool daObjEff::Act_c::create_heap() {
static HeapProc proc[] = {
static CreateHeapProc proc[] = {
&Act_c::create_heap_barrel_smoke,
&Act_c::create_heap_stool_smoke,
&Act_c::create_heap_skull_smoke,
@@ -260,7 +260,7 @@ BOOL daObjEff::Act_c::eff_set_woodBox_smoke() {
/* 00000E80-00000F6C .text eff_set__Q28daObjEff5Act_cFv */
BOOL daObjEff::Act_c::eff_set() {
static Proc proc[] = {
static SetProc proc[] = {
&Act_c::eff_set_barrel_smoke,
&Act_c::eff_set_stool_smoke,
&Act_c::eff_set_skull_smoke,
@@ -343,7 +343,7 @@ void daObjEff::Act_c::remove_woodBox_smoke() {
/* 00001180-0000126C .text remove__Q28daObjEff5Act_cFv */
void daObjEff::Act_c::remove() {
static voidProc proc[] = {
static RemoveProc proc[] = {
&Act_c::remove_barrel_smoke,
&Act_c::remove_stool_smoke,
&Act_c::remove_skull_smoke,
@@ -404,7 +404,7 @@ void daObjEff::Act_c::die_woodBox_smoke() {
/* 000013B0-0000149C .text die__Q28daObjEff5Act_cFv */
void daObjEff::Act_c::die() {
static voidProc proc[] = {
static DieProc proc[] = {
&Act_c::die_barrel_smoke,
&Act_c::die_stool_smoke,
&Act_c::die_skull_smoke,
+11 -8
View File
@@ -345,7 +345,7 @@ void daObjMkie::Act_c::mode_demoWait() {
/* 00001168-000011FC .text mode_demo_init__Q29daObjMkie5Act_cFv */
void daObjMkie::Act_c::mode_demo_init() {
mModeProc = 2;
mState = 10;
mTimer = 10;
if (!prm_get_correct()) {
mDoAud_seStart(JA_SE_READ_RIDDLE_1);
}
@@ -355,13 +355,16 @@ void daObjMkie::Act_c::mode_demo_init() {
/* 000011FC-00001338 .text mode_demo__Q29daObjMkie5Act_cFv */
void daObjMkie::Act_c::mode_demo() {
if (mState > 0 && (mState -= 1, mState == 0)) {
eff_break();
sound_melt();
fopAcM_onSwitch(this, prm_get_swSave());
if (mTimer > 0) {
mTimer--;
if (mTimer == 0) {
eff_break();
sound_melt();
fopAcM_onSwitch(this, prm_get_swSave());
}
}
if (mState == 0) {
if (mTimer == 0) {
mBaseAnmPlaying = mBrkVan.play();
if (!mBroken && mBaseAnmPlaying) {
sound_break();
@@ -375,7 +378,7 @@ void daObjMkie::Act_c::mode_demo() {
mEvtPlaying = false;
}
if (!mEvtPlaying && mState == 0 && mBaseAnmPlaying) {
if (!mEvtPlaying && mTimer == 0 && mBaseAnmPlaying) {
mStatueDelete = true;
}
}
@@ -414,7 +417,7 @@ BOOL daObjMkie::Act_c::Draw() {
if (!mBaseAnmPlaying) {
bool flagVan = false;
if (mModeProc == 2) {
if (mState == 0) {
if (mTimer == 0) {
flagVan = true;
}
}
+1 -1
View File
@@ -182,7 +182,7 @@ BOOL daObjVfan::Act_c::Execute(Mtx** mtx) {
break;
case 2:
if (mBreakTimer == 0x96) {
if (mBreakTimer == 150) {
mIsAlive = false;
fopAcM_seStartCurrent(this, JA_SE_OBJ_GN_SW_DR_BREAK, 0);
}
+1 -1
View File
@@ -86,7 +86,7 @@ BOOL daShutter_c::Create() {
mcXyz[0].x = mcXyz[0].x - m_move_len[mType];
mcXyz[1].x = mcXyz[1].x + m_move_len[mType];
}
mFrameTimer = 0x1e;
mFrameTimer = 30;
set_mtx();
for (int i = 0; i < (int)ARRAY_SIZE(mMtx); i++) {
dComIfG_Bgsp()->Regist(mdBgW[i], this);
+6 -5
View File
@@ -50,8 +50,9 @@ BOOL daTag_Mk_c::checkArea(float arg1, float arg2, float arg3) {
return FALSE;
}
s16 tmp = current.angle.y;
if (abs(tmp -= player->current.angle.y) < 0x5000) {
s16 tmp = (s16)current.angle.y;
tmp -= player->current.angle.y;
if (abs((s16)tmp) < 0x5000) {
return FALSE;
}
return TRUE;
@@ -214,7 +215,7 @@ s32 daTag_Mk_c::getNowEventAction() {
return dComIfGp_evmng_getMyActIdx(mStaffIdx, action_table, ARRAY_SIZE(action_table), FALSE, 1);
}
/* 00000744-0000083C .text demoACT__10daTag_Mk_cFv */
/* 00000744-0000083C .text demoProc__10daTag_Mk_cFv */
void daTag_Mk_c::demoProc() {
s32 iVar1 = getNowEventAction();
@@ -514,9 +515,9 @@ cPhs_State daTag_Mk_c::create() {
m296 = 0x14;
} else if (dComIfGs_isSwitch(getSwbit(), fopAcM_GetRoomNo(this))) {
m296 = 10;
mCutEndTimer = 0x3c;
mCutEndTimer = 60;
} else {
mCutEndTimer = 0xb4;
mCutEndTimer = 180;
m296 = 0;
}
break;
+10 -10
View File
@@ -495,15 +495,15 @@ void daTbox_c::CreateInit() {
switch (funcType) {
case FUNC_TYPE_ENEMIES:
setAction(&daTbox_c::actionGenocide);
mGenocideDelayTimer = 0x41;
mGenocideDelayTimer = 65;
flagOn(daTboxFlg_UNK_01 | daTboxFlg_UNK_02);
mAppearTimer = 0x78;
mAppearTimer = 120;
break;
case FUNC_TYPE_SWITCH:
case FUNC_TYPE_EXTRA_SAVE_INFO_SPAWN:
setAction(&daTbox_c::actionSwOnWait);
flagOn(daTboxFlg_UNK_01 | daTboxFlg_UNK_02);
mAppearTimer = 0x78;
mAppearTimer = 120;
break;
case FUNC_TYPE_TACT:
setAction(&daTbox_c::actionSwOnWait);
@@ -513,7 +513,7 @@ void daTbox_c::CreateInit() {
case FUNC_TYPE_SWITCH_TRANSPARENT:
setAction(&daTbox_c::actionSwOnWait);
flagOn(daTboxFlg_UNK_02);
mAppearTimer = 0x5A;
mAppearTimer = 90;
mpAppearRegAnm->setFrame(30.0f);
break;
@@ -612,7 +612,7 @@ void daTbox_c::darkProc() {
/* 0000172C-000017CC .text volmProc__8daTbox_cFv */
void daTbox_c::volmProc() {
if (mOpenTimer == 0x24) {
if (mOpenTimer == 36) {
mSmokeEmitter->mGlobalPrmColor.a = 0xFF;
}
else if (mOpenTimer >= 0xB5) {
@@ -642,7 +642,7 @@ void daTbox_c::demoProcOpen() {
lightDownProc();
}
if (mOpenTimer == 0x24) {
if (mOpenTimer == 36) {
mOpenAnm.setPlaySpeed(1.0f);
mFlashAnm.setPlaySpeed(1.0f);
@@ -725,11 +725,11 @@ void daTbox_c::demoProcAppear() {
cLib_chaseF(&mInvisibleScrollVal, 2.0f, 1.0f / 30.0f);
}
if (mAppearTimer == 0x3C) {
if (mAppearTimer == 60) {
mpAppearRegAnm->setFrame(150.0f);
}
if (mAppearTimer == 0x05) {
if (mAppearTimer == 5) {
JPABaseEmitter* emitter = dComIfGp_particle_setToon(dPa_name::ID_AK_JT_ELEMENTSMOKE00, &current.pos, NULL, NULL, 0xB9, &mSmokeCB);
if (emitter != NULL) {
@@ -739,11 +739,11 @@ void daTbox_c::demoProcAppear() {
}
}
if (mAppearTimer == 0x04 && mSmokeCB.getEmitter() != NULL) {
if (mAppearTimer == 4 && mSmokeCB.getEmitter() != NULL) {
mSmokeCB.remove();
}
if (mAppearTimer != 0x00) {
if (mAppearTimer != 0) {
mAppearTimer--;
}
+2 -2
View File
@@ -553,7 +553,7 @@ void dNpc_EventCut_c::cutMoveToPosProc() {
}
}
/* 8021E4C0-8021E58C .text cutTalkMsgProc__15dNpc_EventCut_cFv */
/* 8021E338-8021E444 .text cutTalkMsgStart__15dNpc_EventCut_cFv */
void dNpc_EventCut_c::cutTalkMsgStart() {
if(mpTalkActor != 0) {
int* attn = dComIfGp_evmng_getMyIntegerP(mEvtStaffId, "Attention");
@@ -596,7 +596,7 @@ void dNpc_EventCut_c::cutContinueTalkStart() {
}
}
/* 8021E338-8021E444 .text cutTalkMsgStart__15dNpc_EventCut_cFv */
/* 8021E4C0-8021E58C .text cutTalkMsgProc__15dNpc_EventCut_cFv */
void dNpc_EventCut_c::cutTalkMsgProc() {
if(mpTalkActor == NULL || field_0x52 == 0) {
dComIfGp_evmng_cutEnd(mEvtStaffId);