mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-20 13:45:14 -04:00
Merge pull request #779 from LagoLunatic/d44j01
Demo work, d_a_kytag02 and d_a_ff OK
This commit is contained in:
@@ -31,18 +31,18 @@ u8 daAndsw2_c::getEventNo() {
|
||||
/* 00000084-00000090 .text getSwbit__10daAndsw2_cFv */
|
||||
u8 daAndsw2_c::getSwbit() {
|
||||
// Switch to set.
|
||||
return (base.mParameters & 0x00FF0000) >> 16;
|
||||
return (fopAcM_GetParam(this) & 0x00FF0000) >> 16;
|
||||
}
|
||||
|
||||
/* 00000090-0000009C .text getSwbit2__10daAndsw2_cFv */
|
||||
u8 daAndsw2_c::getSwbit2() {
|
||||
// First switch to check.
|
||||
return (base.mParameters & 0xFF000000) >> 24;
|
||||
return (fopAcM_GetParam(this) & 0xFF000000) >> 24;
|
||||
}
|
||||
|
||||
/* 0000009C-000000A8 .text getType__10daAndsw2_cFv */
|
||||
u8 daAndsw2_c::getType() {
|
||||
return (base.mParameters & 0x0000FF00) >> 8;
|
||||
return (fopAcM_GetParam(this) & 0x0000FF00) >> 8;
|
||||
}
|
||||
|
||||
/* 000000A8-000000B4 .text getTimer__10daAndsw2_cFv */
|
||||
@@ -53,7 +53,7 @@ u8 daAndsw2_c::getTimer() {
|
||||
/* 000000B4-000000C0 .text getNum__10daAndsw2_cFv */
|
||||
u8 daAndsw2_c::getNum() {
|
||||
// Number of switches to check.
|
||||
return (base.mParameters & 0x000000FF) >> 0;
|
||||
return (fopAcM_GetParam(this) & 0x000000FF) >> 0;
|
||||
}
|
||||
|
||||
/* 000000C0-00000130 .text getTopSw__10daAndsw2_cFv */
|
||||
|
||||
@@ -190,16 +190,16 @@ static BOOL daBranch_Delete(daBranch_c* i_this) {
|
||||
}
|
||||
|
||||
inline cPhs_State daBranch_c::create() {
|
||||
#if VERSION == VERSION_DEMO
|
||||
cPhs_State phase_state = dComIfG_resLoad(&mPhase, daBranch_c::m_arcname);
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
fopAcM_SetupActor(this, daBranch_c);
|
||||
#else
|
||||
#if VERSION > VERSION_DEMO
|
||||
fopAcM_SetupActor(this, daBranch_c);
|
||||
#endif
|
||||
|
||||
cPhs_State phase_state = dComIfG_resLoad(&mPhase, daBranch_c::m_arcname);
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
#if VERSION == VERSION_DEMO
|
||||
fopAcM_SetupActor(this, daBranch_c);
|
||||
#endif
|
||||
|
||||
if (!fopAcM_entrySolidHeap(this, daBranch_c::solidHeapCB, 0x4000)) {
|
||||
for (int i = 0; i < (s32)ARRAY_SIZE(mAnims); i++) {
|
||||
mAnims[i] = NULL;
|
||||
|
||||
@@ -11,9 +11,7 @@
|
||||
#include "d/d_priority.h"
|
||||
#include "d/actor/d_a_bwd.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "dolphin/gf/GFGeometry.h"
|
||||
#include "dolphin/gf/GFTev.h"
|
||||
#include "dolphin/gf/GFTransform.h"
|
||||
#include "dolphin/gf/GF.h"
|
||||
|
||||
static bwd_class* boss;
|
||||
|
||||
|
||||
@@ -245,17 +245,17 @@ static BOOL createHeap(fopAc_ac_c* i_actor) {
|
||||
/* 00000C08-00000CE4 .text daDr_Create__FP10fopAc_ac_c */
|
||||
static cPhs_State daDr_Create(fopAc_ac_c* i_this) {
|
||||
dr_class* a_this = (dr_class*)i_this;
|
||||
|
||||
#if VERSION == VERSION_DEMO
|
||||
cPhs_State phase_state = dComIfG_resLoad(&a_this->mPhs, "Dr");
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
fopAcM_SetupActor(a_this, dr_class);
|
||||
#else
|
||||
|
||||
#if VERSION > VERSION_DEMO
|
||||
fopAcM_SetupActor(a_this, dr_class);
|
||||
|
||||
#endif
|
||||
|
||||
cPhs_State phase_state = dComIfG_resLoad(&a_this->mPhs, "Dr");
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
#if VERSION == VERSION_DEMO
|
||||
fopAcM_SetupActor(a_this, dr_class);
|
||||
#endif
|
||||
|
||||
if (!fopAcM_entrySolidHeap(a_this, createHeap, 0xF000)) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
+80
-82
@@ -26,7 +26,7 @@ static void fire_fly_draw(ff_class* i_this) {
|
||||
dComIfGd_setListMaskOff();
|
||||
mDoExt_modelUpdate(i_this->mpModel[0]);
|
||||
if (i_this->mGlowScale > 0.01f) {
|
||||
mDoMtx_YrotM(*calc_mtx, i_this->mLiveTimer * 0x100);
|
||||
cMtx_YrotM(*calc_mtx, i_this->mLiveTimer * 0x100);
|
||||
MtxScale(i_this->mGlowScale, i_this->mGlowScale * i_this->mGlowScaleY,
|
||||
i_this->mGlowScale, true);
|
||||
i_this->mpModel[1]->setBaseTRMtx(*calc_mtx);
|
||||
@@ -78,18 +78,11 @@ static BOOL daFf_Draw(ff_class* i_this) {
|
||||
|
||||
/* 0000037C-00000D18 .text fire_fly_move__FP8ff_class */
|
||||
static void fire_fly_move(ff_class* i_this) {
|
||||
/* Nonmatching - regalloc */
|
||||
s8 cVar1;
|
||||
f32 fVar2;
|
||||
f32 fVar3;
|
||||
f32 dVar7;
|
||||
f32 dVar8;
|
||||
f32 dVar9;
|
||||
f32 fVar10;
|
||||
cXyz local_cc;
|
||||
|
||||
daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0);
|
||||
dBgS_GndChk chk;
|
||||
f32 step;
|
||||
cXyz local_cc;
|
||||
|
||||
i_this->mLiveTimer++;
|
||||
if (i_this->mTimers[2] == 0) {
|
||||
i_this->mTimers[1] = cM_rndF(50.0f) + 40.0f;
|
||||
@@ -100,95 +93,93 @@ static void fire_fly_move(ff_class* i_this) {
|
||||
} else {
|
||||
i_this->mScaleTarget = 0.0f;
|
||||
}
|
||||
|
||||
cLib_addCalc2(&i_this->mScale, i_this->mScaleTarget, 0.1f, 0.05f);
|
||||
cVar1 = i_this->mState;
|
||||
switch (cVar1) {
|
||||
switch (i_this->mMode) {
|
||||
case 0:
|
||||
Vec pos;
|
||||
pos = i_this->current.pos;
|
||||
pos.y += 250.0f;
|
||||
chk.SetPos(&pos);
|
||||
fVar10 = dComIfG_Bgsp()->GroundCross(&chk);
|
||||
i_this->mGroundY = fVar10 + 12.5f;
|
||||
i_this->mGroundY = dComIfG_Bgsp()->GroundCross(&chk) + 12.5f;
|
||||
if (i_this->mbNoUseGroundY == 0) {
|
||||
i_this->current.pos.y = i_this->mGroundY;
|
||||
}
|
||||
i_this->mHomePos = i_this->current.pos;
|
||||
i_this->mState++;
|
||||
i_this->mMode++;
|
||||
// Fall-through
|
||||
case 1: {
|
||||
cLib_addCalc2(&i_this->current.pos.x, i_this->mHomePos.x, 0.1f, std::abs(i_this->speed.x));
|
||||
cLib_addCalc2(&i_this->current.pos.y, i_this->mHomePos.y, 0.1f, std::abs(i_this->speed.y));
|
||||
cLib_addCalc2(&i_this->current.pos.z, i_this->mHomePos.z, 0.1f, std::abs(i_this->speed.z));
|
||||
fVar10 = player->current.pos.x - i_this->current.pos.x;
|
||||
fVar2 = player->current.pos.y - i_this->current.pos.y;
|
||||
fVar3 = player->current.pos.z - i_this->current.pos.z;
|
||||
fVar10 = std::sqrtf(fVar3 * fVar3 + fVar10 * fVar10 + fVar2 * fVar2);
|
||||
if (fVar10 < 250.0f) {
|
||||
i_this->mState++;
|
||||
fVar10 = cM_rndF(100.0f);
|
||||
i_this->mTimers[3] = (fVar10 + 1000.0f);
|
||||
f32 xd = player->current.pos.x - i_this->current.pos.x;
|
||||
f32 yd = player->current.pos.y - i_this->current.pos.y;
|
||||
f32 zd = player->current.pos.z - i_this->current.pos.z;
|
||||
xd = std::sqrtf(xd * xd + yd * yd + zd * zd);
|
||||
if (xd < 250.0f) {
|
||||
i_this->mMode++;
|
||||
xd = cM_rndF(100.0f);
|
||||
i_this->mTimers[3] = (xd + 1000.0f);
|
||||
i_this->current.angle.x = -0x3000;
|
||||
i_this->speedF = 10.0f;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
goto label_870;
|
||||
}
|
||||
case 2: {
|
||||
if (i_this->mTimers[0] == 0) {
|
||||
i_this->mScatterPos.x = i_this->mHomePos.x + cM_rndFX(750.0f);
|
||||
i_this->mScatterPos.z = i_this->mHomePos.z + cM_rndFX(750.0f);
|
||||
i_this->mScatterPos.y = i_this->mHomePos.y + cM_rndFX(225.0f) + 137.5f;
|
||||
i_this->mRotVel = 0.0f;
|
||||
i_this->mVelocityFwdTarget = cM_rndF(20.0f) + 10.0f;
|
||||
fVar2 = i_this->mScatterPos.x - i_this->current.pos.x;
|
||||
dVar7 = i_this->mScatterPos.y - i_this->current.pos.y;
|
||||
fVar3 = i_this->mScatterPos.z - i_this->current.pos.z;
|
||||
dVar9 = fVar3 * fVar3;
|
||||
dVar8 = fVar2 * fVar2;
|
||||
fVar10 = std::sqrtf(dVar9 + (dVar8 + (dVar7 * dVar7)));
|
||||
i_this->mTimers[0] = fVar10 / i_this->mVelocityFwdTarget;
|
||||
i_this->mTargetRotY = cM_atan2s(fVar2, fVar3);
|
||||
fVar10 = std::sqrtf(dVar8 + dVar9);
|
||||
i_this->mTargetRotX = -cM_atan2s(dVar7, fVar10);
|
||||
f32 xd = i_this->mScatterPos.x - i_this->current.pos.x;
|
||||
f32 yd = i_this->mScatterPos.y - i_this->current.pos.y;
|
||||
f32 zd = i_this->mScatterPos.z - i_this->current.pos.z;
|
||||
f32 dist = std::sqrtf(xd * xd + yd * yd + zd * zd);
|
||||
i_this->mTimers[0] = dist / i_this->mVelocityFwdTarget;
|
||||
i_this->mTargetRotY = cM_atan2s(xd, zd);
|
||||
f32 xz_dist = std::sqrtf(xd * xd + zd * zd);
|
||||
i_this->mTargetRotX = -cM_atan2s(yd, xz_dist);
|
||||
}
|
||||
if (i_this->mTimers[3] == 0) {
|
||||
i_this->mState++;
|
||||
i_this->mMode++;
|
||||
i_this->mScatterPos.x = i_this->mHomePos.x;
|
||||
i_this->mScatterPos.y = i_this->mHomePos.y;
|
||||
i_this->mScatterPos.z = i_this->mHomePos.z;
|
||||
i_this->mRotVel = 0.0f;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
/* attacked */
|
||||
fVar10 = i_this->mScatterPos.x - i_this->current.pos.x;
|
||||
dVar8 = fVar10;
|
||||
dVar7 = i_this->mScatterPos.y - i_this->current.pos.y;
|
||||
fVar2 = i_this->mScatterPos.z - i_this->current.pos.z;
|
||||
dVar9 = fVar2;
|
||||
i_this->mTargetRotY = cM_atan2s(fVar10, fVar2);
|
||||
dVar8 = dVar8 * dVar8;
|
||||
dVar9 = dVar9 * dVar9;
|
||||
fVar10 = std::sqrtf(dVar8 + dVar9);
|
||||
i_this->mTargetRotX = -cM_atan2s(dVar7, fVar10);
|
||||
if ((dVar9 + (dVar8 + (dVar7 * dVar7))) < 2500.0f) {
|
||||
i_this->mState = 1;
|
||||
}
|
||||
case 3: {
|
||||
f32 xd = i_this->mScatterPos.x - i_this->current.pos.x;
|
||||
f32 yd = i_this->mScatterPos.y - i_this->current.pos.y;
|
||||
f32 zd = i_this->mScatterPos.z - i_this->current.pos.z;
|
||||
i_this->mTargetRotY = cM_atan2s(xd, zd);
|
||||
f32 xz_dist = std::sqrtf(xd * xd + zd * zd);
|
||||
i_this->mTargetRotX = -cM_atan2s(yd, xz_dist);
|
||||
if (((xd * xd) + (yd * yd) + (zd * zd)) < 2500.0f) {
|
||||
i_this->mMode = 1;
|
||||
}
|
||||
cLib_addCalc2(&i_this->mRotVel, 10.0f, 1.0f, 0.15f);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
case 4:
|
||||
f32 f30;
|
||||
if (i_this->mTimers[4] == 0) {
|
||||
i_this->mState = 2;
|
||||
fVar10 = cM_rndF(100.0f);
|
||||
i_this->mTimers[3] = (fVar10 + 1000.0f);
|
||||
i_this->mMode = 2;
|
||||
f30 = cM_rndF(100.0f);
|
||||
i_this->mTimers[3] = (f30 + 1000.0f);
|
||||
} else {
|
||||
i_this->mVelImpulse += i_this->m2C0;
|
||||
fVar10 = cM_rndF(1.0f);
|
||||
if (fVar10 < REG13_F(0) + 0.1f) {
|
||||
fVar10 = cM_rndFX(REG13_F(1) + 1.0f);
|
||||
i_this->m2C0.x = fVar10;
|
||||
f30 = cM_rndF(1.0f);
|
||||
if (f30 < REG13_F(0) + 0.1f) {
|
||||
f30 = cM_rndFX(REG13_F(1) + 1.0f);
|
||||
i_this->m2C0.x = f30;
|
||||
}
|
||||
fVar10 = cM_rndF(1.0f);
|
||||
if (fVar10 < REG13_F(0) + 0.1f) {
|
||||
fVar10 = cM_rndFX(REG13_F(1) + 1.0f);
|
||||
i_this->m2C0.z = fVar10;
|
||||
f30 = cM_rndF(1.0f);
|
||||
if (f30 < REG13_F(0) + 0.1f) {
|
||||
f30 = cM_rndFX(REG13_F(1) + 1.0f);
|
||||
i_this->m2C0.z = f30;
|
||||
}
|
||||
i_this->m2C0.y = REG13_F(2) + 2.0f;
|
||||
if (i_this->mVelImpulse.y > REG13_F(3) + 10.0f) {
|
||||
@@ -196,23 +187,29 @@ static void fire_fly_move(ff_class* i_this) {
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
goto label_870;
|
||||
}
|
||||
|
||||
step = 500.0f;
|
||||
cLib_addCalcAngleS2(&i_this->current.angle.y, i_this->mTargetRotY, 10,
|
||||
i_this->mRotVel * 500.0f);
|
||||
step * i_this->mRotVel);
|
||||
cLib_addCalcAngleS2(&i_this->current.angle.x, i_this->mTargetRotX, 10,
|
||||
i_this->mRotVel * 500.0f);
|
||||
step * i_this->mRotVel);
|
||||
cLib_addCalc2(&i_this->mRotVel, 1.0f, 1.0f, 0.1f);
|
||||
cLib_addCalc2(&i_this->speedF, i_this->mVelocityFwdTarget, 1.0f, 3.0f);
|
||||
local_cc.x = 0.0f;
|
||||
local_cc.y = 0.0f;
|
||||
local_cc.z = i_this->speedF * 0.25f;
|
||||
mDoMtx_YrotS(*calc_mtx, i_this->current.angle.y);
|
||||
mDoMtx_XrotM(*calc_mtx, i_this->current.angle.x);
|
||||
cMtx_YrotS(*calc_mtx, i_this->current.angle.y);
|
||||
cMtx_XrotM(*calc_mtx, i_this->current.angle.x);
|
||||
MtxPosition(&local_cc, &i_this->speed);
|
||||
i_this->current.pos += (i_this->speed + i_this->mVelImpulse);
|
||||
cLib_addCalc0(&i_this->mVelImpulse.x, 1.0f, 0.1f);
|
||||
cLib_addCalc0(&i_this->mVelImpulse.y, 1.0f, 0.1f);
|
||||
cLib_addCalc0(&i_this->mVelImpulse.z, 1.0f, 0.1f);
|
||||
|
||||
label_870:
|
||||
if (i_this->current.pos.y < i_this->mGroundY + 12.5f) {
|
||||
if (i_this->current.pos.y < i_this->mGroundY) {
|
||||
i_this->current.pos.y = i_this->mGroundY;
|
||||
@@ -225,18 +222,14 @@ static void fire_fly_move(ff_class* i_this) {
|
||||
|
||||
/* 00001098-00001168 .text daFf_Execute__FP8ff_class */
|
||||
static BOOL daFf_Execute(ff_class* i_this) {
|
||||
s16 sVar1;
|
||||
int iVar3;
|
||||
|
||||
for (iVar3 = 0; iVar3 < 5; iVar3++) {
|
||||
sVar1 = i_this->mTimers[iVar3];
|
||||
if (sVar1 != 0) {
|
||||
i_this->mTimers[iVar3]--;
|
||||
for (int i = 0; i < 5; i++) {
|
||||
if (i_this->mTimers[i] != 0) {
|
||||
i_this->mTimers[i]--;
|
||||
}
|
||||
}
|
||||
fire_fly_move(i_this);
|
||||
if (i_this->mSph.ChkTgHit() != 0) {
|
||||
i_this->mState = 4;
|
||||
i_this->mMode = 4;
|
||||
i_this->mTimers[4] = REG13_F(9) + (cM_rndF(20.0f) + 30.0f);
|
||||
}
|
||||
i_this->mSph.SetC(i_this->current.pos);
|
||||
@@ -251,7 +244,7 @@ static BOOL daFf_IsDelete(ff_class*) {
|
||||
|
||||
/* 00001170-000011AC .text daFf_Delete__FP8ff_class */
|
||||
static BOOL daFf_Delete(ff_class* i_this) {
|
||||
dComIfG_resDelete(&i_this->mPhs, "Ff");
|
||||
dComIfG_resDeleteDemo(&i_this->mPhs, "Ff");
|
||||
ff_count = 0;
|
||||
return TRUE;
|
||||
}
|
||||
@@ -264,10 +257,12 @@ static BOOL useHeapInit(fopAc_ac_c* i_this) {
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("Ff", ho_bmd[i]);
|
||||
JUT_ASSERT(719, modelData != NULL);
|
||||
JUT_ASSERT(VERSION_SELECT(717, 719, 719, 719), modelData != NULL);
|
||||
#if VERSION > VERSION_DEMO
|
||||
if (modelData == NULL) {
|
||||
return FALSE;
|
||||
}
|
||||
#endif
|
||||
a_this->mpModel[i] = mDoExt_J3DModel__create(modelData, 0x10000, 0x11020203);
|
||||
if (a_this->mpModel[i] == NULL) {
|
||||
return FALSE;
|
||||
@@ -276,13 +271,16 @@ static BOOL useHeapInit(fopAc_ac_c* i_this) {
|
||||
if (a_this->mBrkAnm[i] == NULL) {
|
||||
return FALSE;
|
||||
}
|
||||
J3DAnmTevRegKey* pJVar5 = (J3DAnmTevRegKey*)dComIfG_getObjectRes("Ff", ho_brk[i]);
|
||||
modelData = a_this->mpModel[i]->getModelData();
|
||||
int iVar6 = a_this->mBrkAnm[i]->init(modelData, pJVar5, true, J3DFrameCtrl::EMode_LOOP,
|
||||
0.9f + cM_rndF(0.15f), 0, -1, false, 0);
|
||||
int iVar6 = a_this->mBrkAnm[i]->init(
|
||||
a_this->mpModel[i]->getModelData(),
|
||||
(J3DAnmTevRegKey*)dComIfG_getObjectRes("Ff", ho_brk[i]),
|
||||
true, J3DFrameCtrl::EMode_LOOP, 0.9f + cM_rndF(0.15f), 0, -1, false, 0
|
||||
);
|
||||
#if VERSION > VERSION_DEMO
|
||||
if (iVar6 == 0) {
|
||||
return FALSE;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@@ -297,7 +295,7 @@ static cPhs_State daFf_Create(fopAc_ac_c* i_this) {
|
||||
if (fopAcM_entrySolidHeap(a_this, useHeapInit, 0x2320)) {
|
||||
int uVar1 = fopAcM_GetParam(a_this) & 0xFF;
|
||||
if (uVar1 != 0) {
|
||||
a_this->base.mParameters = fopAcM_GetParam(a_this) & 0xFF00;
|
||||
fopAcM_SetParam(a_this, fopAcM_GetParam(a_this) & 0xFF00);
|
||||
for (int iVar7 = 0; iVar7 < uVar1; iVar7 = iVar7 + 1) {
|
||||
fopAcM_prm_class* pfVar4 = fopAcM_CreateAppend();
|
||||
pfVar4->base.position.x = a_this->current.pos.x + cM_rndFX(500.0f);
|
||||
|
||||
@@ -25,10 +25,14 @@ dPath* set_next_path_info(kytag02_class* i_this, dPath* path) {
|
||||
|
||||
/* 000000F0-0000017C .text get_railwind_vec__FP5dPathi */
|
||||
cXyz get_railwind_vec(dPath* path, int i_no) {
|
||||
/* Nonmatching */
|
||||
dPnt* pnt = path->m_points;
|
||||
cXyz p0 = pnt[i_no].m_position;
|
||||
cXyz p1 = pnt[i_no + 1].m_position;
|
||||
cXyz p0;
|
||||
p0.x = path->m_points[i_no].m_position.x;
|
||||
p0.y = path->m_points[i_no].m_position.y;
|
||||
p0.z = path->m_points[i_no].m_position.z;
|
||||
cXyz p1;
|
||||
p1.x = path->m_points[i_no + 1].m_position.x;
|
||||
p1.y = path->m_points[i_no + 1].m_position.y;
|
||||
p1.z = path->m_points[i_no + 1].m_position.z;
|
||||
cXyz ret;
|
||||
dKyr_get_vectle_calc(&p0, &p1, &ret);
|
||||
return ret;
|
||||
|
||||
@@ -90,7 +90,7 @@ static BOOL daKytag03_Execute(kytag03_class* i_this) {
|
||||
if (!i_this->mbIsActive && dKy_contrast_flg_get()) {
|
||||
if (!i_this->mbVisible) {
|
||||
cXyz pos;
|
||||
s16 y = player->shape_angle.y;
|
||||
const s16 y = player->shape_angle.y;
|
||||
pos.x = cM_scos(0) * cM_ssin(y);
|
||||
pos.y = cM_ssin(0);
|
||||
pos.z = cM_scos(0) * cM_scos(y);
|
||||
@@ -124,15 +124,17 @@ static BOOL daKytag03_Delete(kytag03_class* i_this) {
|
||||
/* 00000544-00000604 .text daKytag03_Create__FP10fopAc_ac_c */
|
||||
static cPhs_State daKytag03_Create(fopAc_ac_c* i_ac) {
|
||||
kytag03_class* i_this = (kytag03_class*)i_ac;
|
||||
#if VERSION == VERSION_DEMO
|
||||
cPhs_State ret = dComIfG_resLoad(&i_this->mPhs, "M_DOOR");
|
||||
if (ret == cPhs_COMPLEATE_e) {
|
||||
fopAcM_SetupActor(i_this, kytag03_class);
|
||||
#else
|
||||
|
||||
#if VERSION > VERSION_DEMO
|
||||
fopAcM_SetupActor(i_this, kytag03_class);
|
||||
#endif
|
||||
|
||||
cPhs_State ret = dComIfG_resLoad(&i_this->mPhs, "M_DOOR");
|
||||
if (ret == cPhs_COMPLEATE_e) {
|
||||
#if VERSION == VERSION_DEMO
|
||||
fopAcM_SetupActor(i_this, kytag03_class);
|
||||
#endif
|
||||
|
||||
if (!fopAcM_entrySolidHeap(i_this, useHeapInit, 0x4c30)) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
@@ -50,8 +50,8 @@ static cPhs_State daKytag04_Create(fopAc_ac_c* i_this) {
|
||||
fopAcM_SetupActor(i_this, kytag04_class);
|
||||
kytag04_class* a_this = (kytag04_class*)i_this;
|
||||
a_this->mState = 0;
|
||||
a_this->mOffColPat = a_this->base.mParameters;
|
||||
a_this->mOnColPat = a_this->base.mParameters >> 8;
|
||||
a_this->mOffColPat = fopAcM_GetParam(a_this) & 0xFF;
|
||||
a_this->mOnColPat = (fopAcM_GetParam(a_this) >> 8) & 0xFF;
|
||||
a_this->mSwitchNo = a_this->current.angle.x;
|
||||
a_this->mScaleX = a_this->scale.x * 100.0f;
|
||||
a_this->mScaleY = a_this->scale.y * 100.0f;
|
||||
|
||||
@@ -43,26 +43,26 @@ static BOOL daKytag05_Execute(kytag05_class* a_this) {
|
||||
camera_process_class *camera = dComIfGp_getCamera(0);
|
||||
fopAc_ac_c *player = dComIfGp_getPlayer(0);
|
||||
f32 windPow = dKyw_get_wind_pow();
|
||||
f32 i_blend = 1.0f;
|
||||
f32 blend = 1.0f;
|
||||
|
||||
if (g_env_light.mWind.mEvtWindSet == 0xFF) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (dComIfGp_event_runCheck() && dComIfGp_evmng_startCheck("demo41") && dComIfGp_demo_get()) {
|
||||
if (dComIfGp_event_runCheck() != FALSE && dComIfGp_evmng_startCheck("demo41") && dComIfGp_demo_get()) {
|
||||
u32 demoFrame = dComIfGp_demo_get()->getFrame();
|
||||
if(demoFrame >= 0x186) {
|
||||
f32 fVar7 = ((f32)demoFrame - 390.0f) / 100.0f;
|
||||
if(fVar7 > i_blend) {
|
||||
fVar7 = i_blend;
|
||||
if(fVar7 > 1.0f) {
|
||||
fVar7 = 1.0f;
|
||||
}
|
||||
i_blend = 1.0f - fVar7;
|
||||
g_env_light.mSnowCount = (int)(200.0f * i_blend);
|
||||
blend = 1.0f - fVar7;
|
||||
g_env_light.mSnowCount = (int)(200.0f * blend);
|
||||
} else if (demoFrame == 0x187) {
|
||||
daYkgr_c::stop();
|
||||
}
|
||||
}
|
||||
dKy_custom_colset(0, 7, i_blend);
|
||||
dKy_custom_colset(0, 7, blend);
|
||||
|
||||
if((a_this->mIndex & 1) == 0) {
|
||||
if (a_this->mTimer >= fuu_timer[a_this->mIndex >> 1]) {
|
||||
@@ -78,7 +78,8 @@ static BOOL daKytag05_Execute(kytag05_class* a_this) {
|
||||
if(a_this->mIndex >> 1 >= 4) {
|
||||
a_this->mIndex = 0;
|
||||
}
|
||||
dKyw_evt_wind_set(0, wind_table[a_this->mIndex >> 1]);
|
||||
s16 windY = wind_table[a_this->mIndex >> 1];
|
||||
dKyw_evt_wind_set(0, windY);
|
||||
a_this->mTimer = 0;
|
||||
g_env_light.mWind.mEvtWindSet = 1;
|
||||
} else {
|
||||
@@ -120,14 +121,21 @@ static BOOL daKytag05_Delete(kytag05_class*) {
|
||||
|
||||
/* 00000404-000004C0 .text daKytag05_Create__FP10fopAc_ac_c */
|
||||
static cPhs_State daKytag05_Create(fopAc_ac_c* i_this) {
|
||||
#if VERSION > VERSION_DEMO
|
||||
fopAcM_SetupActor(i_this, kytag05_class);
|
||||
#endif
|
||||
kytag05_class *a_this = (kytag05_class*)i_this;
|
||||
if (dComIfGs_isSymbol(1) != 0) {
|
||||
return cPhs_STOP_e;
|
||||
}
|
||||
|
||||
#if VERSION == VERSION_DEMO
|
||||
fopAcM_SetupActor(i_this, kytag05_class);
|
||||
#endif
|
||||
|
||||
a_this->mIndex = 0;
|
||||
a_this->mTimer = 0;
|
||||
a_this->mUnknownParam = i_this->base.mParameters & 0xff;
|
||||
a_this->mUnknownParam = fopAcM_GetParam(i_this) & 0xff;
|
||||
dKyw_evt_wind_set_go();
|
||||
dKyw_evt_wind_set(0, 0);
|
||||
g_env_light.mSnowCount = 200;
|
||||
|
||||
@@ -22,7 +22,7 @@ static BOOL daKytag06_Execute(kytag06_class* i_this) {
|
||||
f32 time;
|
||||
int date;
|
||||
|
||||
if (!dComIfGp_event_runCheck()) {
|
||||
if (dComIfGp_event_runCheck() == FALSE) {
|
||||
return TRUE;
|
||||
}
|
||||
if(!dComIfGp_evmng_startCheck("ARRIVAL_BRK")) {
|
||||
@@ -59,13 +59,18 @@ static BOOL daKytag06_Delete(kytag06_class*) {
|
||||
|
||||
/* 000001A4-00000224 .text daKytag06_Create__FP10fopAc_ac_c */
|
||||
static cPhs_State daKytag06_Create(fopAc_ac_c* i_this) {
|
||||
#if VERSION > VERSION_DEMO
|
||||
fopAcM_SetupActor(i_this, kytag06_class);
|
||||
#endif
|
||||
kytag06_class* a_this = (kytag06_class*)i_this;
|
||||
|
||||
cPhs_State phase_state;
|
||||
if(dComIfGs_isSymbol(0)) {
|
||||
phase_state = cPhs_ERROR_e;
|
||||
} else {
|
||||
#if VERSION == VERSION_DEMO
|
||||
fopAcM_SetupActor(i_this, kytag06_class);
|
||||
#endif
|
||||
a_this->field_0x294 = 0;
|
||||
phase_state = cPhs_COMPLEATE_e;
|
||||
}
|
||||
|
||||
@@ -84,15 +84,18 @@ static BOOL daKytag07_Delete(kytag07_class*) {
|
||||
static cPhs_State daKytag07_Create(fopAc_ac_c* i_this) {
|
||||
kytag07_class* a_this = (kytag07_class*)i_this;
|
||||
dScnKy_env_light_c& env_light = dKy_getEnvlight();
|
||||
#if VERSION == VERSION_DEMO
|
||||
if (strcmp(dComIfGp_getStartStageName(), "GTower") != 0)
|
||||
env_light.mbDayNightTactStop = true;
|
||||
|
||||
#if VERSION > VERSION_DEMO
|
||||
fopAcM_SetupActor(a_this, kytag07_class);
|
||||
#else
|
||||
fopAcM_SetupActor(a_this, kytag07_class);
|
||||
if (strcmp(dComIfGp_getStartStageName(), "GTower") != 0)
|
||||
env_light.mbDayNightTactStop = true;
|
||||
#endif
|
||||
|
||||
if (strcmp(dComIfGp_getStartStageName(), "GTower") != 0)
|
||||
env_light.mbDayNightTactStop = true;
|
||||
|
||||
#if VERSION == VERSION_DEMO
|
||||
fopAcM_SetupActor(a_this, kytag07_class);
|
||||
#endif
|
||||
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
|
||||
|
||||
@@ -514,7 +514,7 @@ cPhs_State daObjFigure_c::createInit() {
|
||||
attention_info.flags = fopAc_Attn_LOCKON_TALK_e | fopAc_Attn_ACTION_SPEAK_e | fopAc_Attn_TALKFLAG_CHECK_e;
|
||||
shape_angle = current.angle;
|
||||
dKy_tevstr_init(&mTevStrBG2, fopAcM_GetHomeRoomNo(this), 0xFF);
|
||||
cMtx_copy(mDoMtx_getIdentity(), mMtx);
|
||||
cMtx_copy(cMtx_getIdentity(), mMtx);
|
||||
setMtx();
|
||||
|
||||
return cPhs_COMPLEATE_e;
|
||||
|
||||
@@ -132,7 +132,7 @@ namespace daObjMovebox {
|
||||
M_gnd_work[i].SetActorPid(movebox->base.mBsPcId);
|
||||
mGroundY[i] = dComIfG_Bgsp()->GroundCross(&M_gnd_work[i]);
|
||||
if (mGroundY[i] > maxGroundY) {
|
||||
fopAc_ac_c* groundActor = dComIfG_Bgsp()->GetActorPointer(M_gnd_work[i].GetBgIndex());
|
||||
fopAc_ac_c* groundActor = dComIfG_Bgsp()->GetActorPointer(M_gnd_work[i]);
|
||||
if (!(groundActor && fopAcM_GetName(groundActor) == PROC_Obj_Movebox && ((Act_c*)groundActor)->mMode == Act_c::MODE_AFLOAT)) {
|
||||
maxGroundY = mGroundY[i];
|
||||
mMaxGroundIdx = i;
|
||||
|
||||
@@ -6907,7 +6907,7 @@ BOOL daPy_lk_c::procFrontRollCrash_init() {
|
||||
dKy_Sound_set(current.pos, 100, fopAcM_GetID(this), 5);
|
||||
if ((mAcch.ChkWallHit()) && (mAcchCir[0].ChkWallHit())) {
|
||||
daObjMovebox::Act_c* iVar1 =
|
||||
(daObjMovebox::Act_c*)dComIfG_Bgsp()->GetActorPointer(mAcchCir[0].GetBgIndex());
|
||||
(daObjMovebox::Act_c*)dComIfG_Bgsp()->GetActorPointer(mAcchCir[0]);
|
||||
if ((iVar1 != 0) && (fopAcM_GetName(iVar1) == PROC_Obj_Movebox) &&
|
||||
((iVar1->mType == 0) || (iVar1->mType == 5)))
|
||||
{
|
||||
@@ -11167,7 +11167,7 @@ void daPy_lk_c::checkRoofRestart() {
|
||||
{
|
||||
if ((dStage_stagInfo_GetSTType(dComIfGp_getStageStagInfo()) != dStageType_BOSS_e &&
|
||||
((!dComIfG_Bgsp()->ChkMoveBG(mAcch.m_roof) ||
|
||||
(fopAcM_GetName(dComIfG_Bgsp()->GetActorPointer(mAcch.m_roof.GetBgIndex())) !=
|
||||
(fopAcM_GetName(dComIfG_Bgsp()->GetActorPointer(mAcch.m_roof)) !=
|
||||
PROC_BRIDGE)))))
|
||||
{
|
||||
f32 dVar9 = mAcch.m_roof_y;
|
||||
@@ -12460,14 +12460,14 @@ cPhs_State daPy_lk_c::makeBgWait() {
|
||||
mAcch.CrrPos(*dComIfG_Bgsp());
|
||||
if ((-G_CM3D_F_INF == mAcch.GetGroundH()) ||
|
||||
(((m352E != 0 && (dComIfG_Bgsp()->ChkMoveBG(mAcch.m_gnd))) &&
|
||||
(fopAcM_GetName(dComIfG_Bgsp()->GetActorPointer(mAcch.m_gnd.GetBgIndex())) ==
|
||||
(fopAcM_GetName(dComIfG_Bgsp()->GetActorPointer(mAcch.m_gnd)) ==
|
||||
PROC_TBOX))))
|
||||
{
|
||||
return cPhs_INIT_e;
|
||||
}
|
||||
if (((fopAcM_GetParam(this) & 0x80) != 0) && (m352E != 0)) {
|
||||
if (!(dComIfG_Bgsp()->ChkMoveBG(mAcch.m_gnd)) ||
|
||||
(fopAcM_GetName(dComIfG_Bgsp()->GetActorPointer(mAcch.m_gnd.GetBgIndex())) !=
|
||||
(fopAcM_GetName(dComIfG_Bgsp()->GetActorPointer(mAcch.m_gnd)) !=
|
||||
PROC_OBJ_IKADA))
|
||||
{
|
||||
return cPhs_INIT_e;
|
||||
|
||||
@@ -489,7 +489,7 @@ static BOOL daSail_Draw(sail_class* i_this) {
|
||||
mDoMtx_XrotM(*calc_mtx, i_this->current.angle.x);
|
||||
mDoMtx_ZrotM(*calc_mtx, i_this->current.angle.z);
|
||||
|
||||
mDoMtx_concat(j3dSys.mViewMtx, *calc_mtx, *i_this->mSailPacket.getMtx());
|
||||
mDoMtx_concat(j3dSys.getViewMtx(), *calc_mtx, *i_this->mSailPacket.getMtx());
|
||||
|
||||
cXyz* vtxPos = i_this->mSailPacket.getPos();
|
||||
MtxTrans(
|
||||
@@ -503,7 +503,7 @@ static BOOL daSail_Draw(sail_class* i_this) {
|
||||
mDoMtx_XrotM(*calc_mtx, i_this->current.angle.x);
|
||||
mDoMtx_ZrotM(*calc_mtx, i_this->current.angle.z);
|
||||
|
||||
mDoMtx_concat(j3dSys.mViewMtx, *calc_mtx, *i_this->mSailPacket.getStickMtx());
|
||||
mDoMtx_concat(j3dSys.getViewMtx(), *calc_mtx, *i_this->mSailPacket.getStickMtx());
|
||||
i_this->mSailPacket.mStickModel->setBaseTRMtx(*calc_mtx);
|
||||
|
||||
MtxTrans(0.0f, 0.0f, 0.0f, 0);
|
||||
|
||||
@@ -250,16 +250,17 @@ void hand_move(shand_class* i_this) {
|
||||
case 1:
|
||||
if((fopAcM_GetParam(actor) & 0xFF) != 1){
|
||||
dBgS_GndChk local_ac;
|
||||
float chk_pos_x = actor->current.pos.x, chk_pos_y = actor->current.pos.y, chk_pos_z = actor->current.pos.z;
|
||||
chk_pos_y -= 100.0f;
|
||||
local_ac.GetPointP()->set(chk_pos_x, chk_pos_y, chk_pos_z);
|
||||
Vec chk_pos;
|
||||
chk_pos = actor->current.pos;
|
||||
chk_pos.y -= 100.0f;
|
||||
local_ac.SetPos(&chk_pos);
|
||||
i_this->ground_y = dComIfG_Bgsp()->GroundCross(&local_ac);
|
||||
|
||||
dBgS_ObjGndChk_Spl local_100;
|
||||
chk_pos_x = actor->current.pos.x, chk_pos_y = actor->current.pos.y, chk_pos_z = actor->current.pos.z;
|
||||
chk_pos_y += 200.0f;
|
||||
local_100.GetPointP()->set(chk_pos_x, chk_pos_y, chk_pos_z);
|
||||
float spl_ground_y = dComIfG_Bgsp()->GroundCross(&local_100) + 10.0f;
|
||||
chk_pos = actor->current.pos;
|
||||
chk_pos.y += 200.0f;
|
||||
local_100.SetPos(&chk_pos);
|
||||
f32 spl_ground_y = dComIfG_Bgsp()->GroundCross(&local_100) + 10.0f;
|
||||
if(spl_ground_y != -G_CM3D_F_INF){
|
||||
i_this->ground_y = spl_ground_y;
|
||||
}
|
||||
|
||||
+22
-16
@@ -11,22 +11,22 @@
|
||||
|
||||
/* 00000078-00000180 .text daSwc00_Execute__FP11swc00_class */
|
||||
static BOOL daSwc00_Execute(swc00_class* i_this) {
|
||||
s32 enable_sw = daSwc00_getSw2No(i_this);
|
||||
fopAc_ac_c* actor = i_this;
|
||||
if(enable_sw == 0xFF || dComIfGs_isSwitch(enable_sw, fopAcM_GetRoomNo(i_this))) {
|
||||
s32 swBit = daSwc00_getSw1No(i_this);
|
||||
int enable_sw = daSwc00_getSw2No(i_this);
|
||||
if(enable_sw == 0xFF || dComIfGs_isSwitch(enable_sw, fopAcM_GetRoomNo(actor))) {
|
||||
int swBit = daSwc00_getSw1No(i_this);
|
||||
|
||||
f32 xz_dist2 = fopAcM_searchPlayerDistanceXZ2(i_this);
|
||||
f32 y_diff = fopAcM_searchPlayerDistanceY(i_this);
|
||||
if(xz_dist2 < i_this->scale.x && (-100.0f < y_diff && y_diff < i_this->scale.y)) {
|
||||
dComIfGs_onSwitch(swBit, fopAcM_GetRoomNo(i_this));
|
||||
f32 xz_dist2 = fopAcM_searchPlayerDistanceXZ2(actor);
|
||||
f32 y_diff = fopAcM_searchPlayerDistanceY(actor);
|
||||
if(xz_dist2 < actor->scale.x && (-100.0f < y_diff && y_diff < actor->scale.y)) {
|
||||
dComIfGs_onSwitch(swBit, fopAcM_GetRoomNo(actor));
|
||||
|
||||
if(daSwc00_getType(i_this) != 0) {
|
||||
fopAcM_delete(actor);
|
||||
fopAcM_delete(i_this);
|
||||
}
|
||||
}
|
||||
else if(daSwc00_getType(i_this) == 0) {
|
||||
dComIfGs_offSwitch(swBit, fopAcM_GetRoomNo(i_this));
|
||||
dComIfGs_offSwitch(swBit, fopAcM_GetRoomNo(actor));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,21 +44,27 @@ static BOOL daSwc00_Delete(swc00_class* i_this) {
|
||||
}
|
||||
|
||||
/* 00000190-00000274 .text daSwc00_Create__FP10fopAc_ac_c */
|
||||
static cPhs_State daSwc00_Create(fopAc_ac_c* i_actor) {
|
||||
fopAcM_SetupActor(i_actor, swc00_class);
|
||||
static cPhs_State daSwc00_Create(fopAc_ac_c* i_this) {
|
||||
#if VERSION > VERSION_DEMO
|
||||
fopAcM_SetupActor(i_this, swc00_class);
|
||||
#endif
|
||||
|
||||
swc00_class* i_this = (swc00_class*)i_actor;
|
||||
swc00_class* a_this = (swc00_class*)i_this;
|
||||
|
||||
if(dComIfGs_isSwitch(daSwc00_getSw1No(i_this), fopAcM_GetRoomNo(i_this))) {
|
||||
if(daSwc00_getType(i_this) == 0) {
|
||||
s32 swBit = daSwc00_getSw1No(i_this);
|
||||
dComIfGs_offSwitch(swBit, fopAcM_GetRoomNo(i_this));
|
||||
u8 swBit = daSwc00_getSw1No(a_this);
|
||||
if(dComIfGs_isSwitch(swBit, fopAcM_GetRoomNo(i_this))) {
|
||||
if(daSwc00_getType(a_this) == 0) {
|
||||
dComIfGs_offSwitch(daSwc00_getSw1No(a_this), fopAcM_GetRoomNo(i_this));
|
||||
}
|
||||
else {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
}
|
||||
|
||||
#if VERSION == VERSION_DEMO
|
||||
fopAcM_SetupActor(i_this, swc00_class);
|
||||
#endif
|
||||
|
||||
i_this->scale.x *= 100.0f;
|
||||
i_this->scale.x += 30.0f;
|
||||
i_this->scale.x *= i_this->scale.x;
|
||||
|
||||
@@ -17,22 +17,22 @@ static u8 msg_mode;
|
||||
|
||||
/* 00000078-00000084 .text getEventNo__11daTag_Msg_cFv */
|
||||
u32 daTag_Msg_c::getEventNo() {
|
||||
return base.mParameters >> 0x18;
|
||||
return fopAcM_GetParam(this) >> 0x18;
|
||||
}
|
||||
|
||||
/* 00000084-00000090 .text getSwbit__11daTag_Msg_cFv */
|
||||
u32 daTag_Msg_c::getSwbit() {
|
||||
return base.mParameters >> 8 & 0xff;
|
||||
return (fopAcM_GetParam(this) >> 8) & 0xff;
|
||||
}
|
||||
|
||||
/* 00000090-0000009C .text getSwbit2__11daTag_Msg_cFv */
|
||||
u32 daTag_Msg_c::getSwbit2() {
|
||||
return base.mParameters >> 0x10 & 0xff;
|
||||
return (fopAcM_GetParam(this) >> 0x10) & 0xff;
|
||||
}
|
||||
|
||||
/* 0000009C-000000A8 .text getType2__11daTag_Msg_cFv */
|
||||
u32 daTag_Msg_c::getType2() {
|
||||
return base.mParameters >> 6 & 3;
|
||||
return (fopAcM_GetParam(this) >> 6) & 3;
|
||||
}
|
||||
|
||||
/* 000000A8-0000015C .text myDemoName__11daTag_Msg_cFv */
|
||||
|
||||
@@ -109,7 +109,9 @@ bool daBomb_c::chk_state(daBomb_c::State_e state) const {
|
||||
|
||||
/* 800682C0-800682F0 .text change_state__8daBomb_cFQ28daBomb_c7State_e */
|
||||
void daBomb_c::change_state(daBomb_c::State_e new_state) {
|
||||
base.mParameters = (base.mParameters & ~(((1 << PRM_STATE_W) - 1) << PRM_STATE_S)) | (new_state << PRM_STATE_S); // & 0xFF000000
|
||||
u32 params = fopAcM_GetParam(this) & ~(((1 << PRM_STATE_W) - 1) << PRM_STATE_S);
|
||||
params |= (new_state << PRM_STATE_S);
|
||||
fopAcM_SetParam(this, params);
|
||||
|
||||
_prm_chk_version();
|
||||
}
|
||||
|
||||
+4
-4
@@ -130,7 +130,7 @@ int dBgS::GetGrpRoomInfId(cBgS_PolyInfo& polyInfo) {
|
||||
if (inf != 0xFF)
|
||||
return inf;
|
||||
|
||||
s32 grp_id = GetTriGrp(polyInfo.GetBgIndex(), polyInfo.GetPolyIndex());
|
||||
s32 grp_id = GetTriGrp(polyInfo);
|
||||
if (grp_id == -1)
|
||||
return 0xFF;
|
||||
return GetGrpInf(polyInfo, grp_id) & 0xFF;
|
||||
@@ -138,7 +138,7 @@ int dBgS::GetGrpRoomInfId(cBgS_PolyInfo& polyInfo) {
|
||||
|
||||
/* 800A07F4-800A0858 .text GetGrpSoundId__4dBgSFR13cBgS_PolyInfo */
|
||||
s32 dBgS::GetGrpSoundId(cBgS_PolyInfo& polyInfo) {
|
||||
s32 grp_id = GetTriGrp(polyInfo.GetBgIndex(), polyInfo.GetPolyIndex());
|
||||
s32 grp_id = GetTriGrp(polyInfo);
|
||||
if (grp_id == -1)
|
||||
return -1;
|
||||
return (GetGrpInf(polyInfo, grp_id) >> 11) & 0xFF;
|
||||
@@ -146,7 +146,7 @@ s32 dBgS::GetGrpSoundId(cBgS_PolyInfo& polyInfo) {
|
||||
|
||||
/* 800A0858-800A08C0 .text ChkGrpInf__4dBgSFR13cBgS_PolyInfoUl */
|
||||
u32 dBgS::ChkGrpInf(cBgS_PolyInfo& polyInfo, u32 mask) {
|
||||
s32 grp_id = GetTriGrp(polyInfo.GetBgIndex(), polyInfo.GetPolyIndex());
|
||||
s32 grp_id = GetTriGrp(polyInfo);
|
||||
if (grp_id == -1)
|
||||
return 0;
|
||||
|
||||
@@ -289,7 +289,7 @@ s32 dBgS::GetRoomId(cBgS_PolyInfo& polyInfo) {
|
||||
dBgW* bgwp = (dBgW*)m_chk_element[id].m_bgw_base_ptr;
|
||||
s32 roomNo = bgwp->mRoomNo;
|
||||
if (roomNo == 0xFFFF) {
|
||||
s32 grp = GetTriGrp(polyInfo.GetBgIndex(), polyInfo.GetPolyIndex());
|
||||
s32 grp = GetTriGrp(polyInfo);
|
||||
roomNo = GetGrpToRoomId(polyInfo.GetBgIndex(), grp);
|
||||
if (roomNo == 0xFFFF)
|
||||
return -1;
|
||||
|
||||
@@ -128,7 +128,7 @@ void dBgS_Acch::GroundCheck(dBgS& i_bgs) {
|
||||
|
||||
pos.y += m_ground_up_h_diff + (m_ground_check_offset - m_ground_up_h);
|
||||
m_ground_up_h_diff = 0.0f;
|
||||
m_gnd.m_pos = pos;
|
||||
m_gnd.SetPos(&pos);
|
||||
|
||||
m_ground_h = i_bgs.GroundCross(&m_gnd);
|
||||
if (m_ground_h != -G_CM3D_F_INF) {
|
||||
|
||||
+1
-1
@@ -2521,7 +2521,7 @@ void dCamera_c::checkGroundInfo() {
|
||||
m33C = 0;
|
||||
|
||||
if (dComIfG_Bgsp()->ChkMoveBG(mBG.m5C.m04)) {
|
||||
m33C = dComIfG_Bgsp()->GetActorPointer(mBG.m5C.m04.GetBgIndex());
|
||||
m33C = dComIfG_Bgsp()->GetActorPointer(mBG.m5C.m04);
|
||||
if (m33C) {
|
||||
cXyz pos = positionOf(m33C);
|
||||
cSAngle angle = directionOf(m33C);
|
||||
|
||||
@@ -32,25 +32,23 @@ void dCcMassS_Mng::Ct() {
|
||||
void dCcMassS_Mng::Prepare() {
|
||||
cM3dGAab area;
|
||||
area.ClearForMinMax();
|
||||
cCcD_ShapeAttr* attr;
|
||||
for (dCcMassS_Obj* mass = mMassObjs; mass < mMassObjs + mMassObjCount; mass++) {
|
||||
cCcD_Obj* pobj = mass->GetObj();
|
||||
JUT_ASSERT(61, pobj != NULL);
|
||||
attr = pobj->GetShapeAttr();
|
||||
cCcD_ShapeAttr* attr = pobj->GetShapeAttr();
|
||||
attr->CalcAabBox();
|
||||
area.SetMinMax(attr->GetWorkAab());
|
||||
}
|
||||
for (dCcMassS_Obj* mass = mMassAreas; mass < mMassAreas + mMassAreaCount; mass++) {
|
||||
cCcD_Obj* parea = mass->GetObj();
|
||||
JUT_ASSERT(73, parea != NULL);
|
||||
attr = parea->GetShapeAttr();
|
||||
cCcD_ShapeAttr* attr = parea->GetShapeAttr();
|
||||
attr->CalcAabBox();
|
||||
area.SetMinMax(attr->GetWorkAab());
|
||||
}
|
||||
if (mFlag & 1) {
|
||||
mCpsAttr.CalcAabBox();
|
||||
attr = &mCpsAttr;
|
||||
area.SetMinMax(attr->GetWorkAab());
|
||||
area.SetMinMax(mCpsAttr.GetWorkAab());
|
||||
}
|
||||
mDivideArea.SetArea(area);
|
||||
for (dCcMassS_Obj* mass = mMassObjs; mass < mMassObjs + mMassObjCount; mass++) {
|
||||
|
||||
@@ -479,8 +479,3 @@ bool dCcS::ChkNoHitGCo(cCcD_Obj* obj1, cCcD_Obj* obj2) {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 800AE930-800AE938 .text ChkNoHitGAtTg__4cCcSFPC12cCcD_GObjInfPC12cCcD_GObjInfP10cCcD_GSttsP10cCcD_GStts */
|
||||
bool cCcS::ChkNoHitGAtTg(const cCcD_GObjInf*, const cCcD_GObjInf*, cCcD_GStts*, cCcD_GStts*) {
|
||||
return false;
|
||||
}
|
||||
|
||||
+2
-2
@@ -86,7 +86,7 @@ void def_se_set_p(fopAc_ac_c* actor, cXyz* sePos, cCcD_Obj* obj, unsigned long r
|
||||
|
||||
/* 800AEBCC-800AEEF8 .text at_power_check__FP8CcAtInfo */
|
||||
fopAc_ac_c* at_power_check(CcAtInfo* atInfo) {
|
||||
daPy_py_c* player = daPy_getPlayerActorClass();
|
||||
daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0);
|
||||
if (atInfo->mpObj == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
@@ -209,7 +209,7 @@ fopAc_ac_c* cc_at_check(fopAc_ac_c* tgActor, CcAtInfo* atInfo) {
|
||||
|
||||
if (fopAcM_GetName(atInfo->mpActor) == PROC_HIMO2 && tgActor->stealItemLeft != 0) {
|
||||
tgActor->stealItemLeft--;
|
||||
fopAcM_createStealItem(&tgActor->current.pos, tgActor->itemTableIdx, tgActor->current.roomNo, NULL, tgActor->stealItemBitNo);
|
||||
fopAcM_createStealItem(&tgActor->current.pos, tgActor->itemTableIdx, fopAcM_GetRoomNo(tgActor), NULL, tgActor->stealItemBitNo);
|
||||
tgActor->stealItemBitNo++;
|
||||
atInfo->mDamage = 0;
|
||||
}
|
||||
|
||||
@@ -7,10 +7,7 @@
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_kankyo_rain.h"
|
||||
#include "d/actor/d_a_sea.h"
|
||||
#include "dolphin/gf/GFGeometry.h"
|
||||
#include "dolphin/gf/GFLight.h"
|
||||
#include "dolphin/gf/GFPixel.h"
|
||||
#include "dolphin/gf/GFTransform.h"
|
||||
#include "dolphin/gf/GF.h"
|
||||
#include "f_op/f_op_camera.h"
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
#include "m_Do/m_Do_lib.h"
|
||||
@@ -177,7 +174,7 @@ void dDlst_2DT2_c::draw() {
|
||||
GXSetCullMode(GX_CULL_NONE);
|
||||
GXSetDither(GX_TRUE);
|
||||
GXSetClipMode(GX_CLIP_DISABLE);
|
||||
GXLoadPosMtxImm(mDoMtx_getIdentity(), GX_PNMTX0);
|
||||
GXLoadPosMtxImm(cMtx_getIdentity(), GX_PNMTX0);
|
||||
GXSetCurrentMtx(GX_PNMTX0);
|
||||
|
||||
f32 x0 = mX, x1 = x0 + mW;
|
||||
@@ -561,7 +558,7 @@ void dDlst_2Dm_c::draw() {
|
||||
|
||||
GXSetAlphaCompare(GX_GREATER, 0, GX_AOP_OR, GX_GREATER, 0);
|
||||
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_SET);
|
||||
GXLoadPosMtxImm(mDoMtx_getIdentity(), GX_PNMTX0);
|
||||
GXLoadPosMtxImm(cMtx_getIdentity(), GX_PNMTX0);
|
||||
GXSetCurrentMtx(GX_PNMTX0);
|
||||
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||
|
||||
@@ -45,7 +45,7 @@ void dDlst_Gameover_CAPTURE_c::draw() {
|
||||
Mtx44 mtx;
|
||||
C_MTXOrtho(mtx, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 10.0f);
|
||||
GXSetProjection(mtx, GX_ORTHOGRAPHIC);
|
||||
GXLoadPosMtxImm(mDoMtx_getIdentity(), GX_PNMTX0);
|
||||
GXLoadPosMtxImm(cMtx_getIdentity(), GX_PNMTX0);
|
||||
GXSetCurrentMtx(0);
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
|
||||
|
||||
+1
-2
@@ -15,8 +15,7 @@
|
||||
#include "m_Do/m_Do_lib.h"
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
#include "SSystem/SComponent/c_counter.h"
|
||||
#include "dolphin/gf/GFGeometry.h"
|
||||
#include "dolphin/gf/GFTev.h"
|
||||
#include "dolphin/gf/GF.h"
|
||||
|
||||
#include "weak_data_1811.h" // IWYU pragma: keep
|
||||
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
#include "d/d_procname.h"
|
||||
#include "d/d_s_play.h"
|
||||
#include "d/d_stage.h"
|
||||
#include "dolphin/gf/GFPixel.h"
|
||||
#include "dolphin/gf/GF.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "f_op/f_op_camera.h"
|
||||
#include "f_op/f_op_kankyo.h"
|
||||
|
||||
@@ -40,7 +40,7 @@ void dOvlpFd2_dlst_c::draw() {
|
||||
GXSetCullMode(GX_CULL_NONE);
|
||||
GXSetDither(GX_TRUE);
|
||||
GXSetClipMode(GX_CLIP_DISABLE);
|
||||
GXLoadPosMtxImm(mDoMtx_getIdentity(), GX_PNMTX0);
|
||||
GXLoadPosMtxImm(cMtx_getIdentity(), GX_PNMTX0);
|
||||
GXSetCurrentMtx(GX_PNMTX0);
|
||||
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||
|
||||
@@ -138,7 +138,7 @@ void dDlst_2Dt_Sp_c::draw() {
|
||||
GXSetCullMode(GX_CULL_NONE);
|
||||
GXSetDither(GX_FALSE);
|
||||
GXSetClipMode(GX_CLIP_DISABLE);
|
||||
GXLoadPosMtxImm(mDoMtx_getIdentity(), GX_PNMTX0);
|
||||
GXLoadPosMtxImm(cMtx_getIdentity(), GX_PNMTX0);
|
||||
GXSetCurrentMtx(GX_PNMTX0);
|
||||
|
||||
f32 x1, y1;
|
||||
@@ -185,7 +185,7 @@ dOvlpFd4_c::dOvlpFd4_c() {
|
||||
first = true;
|
||||
setExecute(&dOvlpFd4_c::execFirstSnap);
|
||||
setDraw(&dOvlpFd4_c::drawFadeOut);
|
||||
if (base.mProcName == PROC_OVERLAP4) {
|
||||
if (fopOvlpM_GetName(this) == PROC_OVERLAP4) {
|
||||
fadeOutComposite_dlst.init(mDoGph_gInf_c::getFrameBufferTimg(), 0.0f, 0.0f, 640.0f, 480.0f, g_saftyWhiteColor);
|
||||
} else {
|
||||
fadeOutComposite_dlst.init(mDoGph_gInf_c::getFrameBufferTimg(), 0.0f, 0.0f, 640.0f, 480.0f, (GXColor){ 0x00, 0x00, 0x00, 0x00 });
|
||||
|
||||
@@ -65,11 +65,10 @@ void dADM_CharTbl::SetUpIndex() {
|
||||
/* 800C2B40-800C2BC8 .text GetNameIndex2__12dADM_CharTblCFPCci */
|
||||
int dADM_CharTbl::GetNameIndex2(const char* pName, int index) const {
|
||||
for (int start = 0; ; start++) {
|
||||
int col = GetNameIndex(pName, start);
|
||||
if (col == -1)
|
||||
start = GetNameIndex(pName, start);
|
||||
if (start == -1)
|
||||
return -1;
|
||||
|
||||
start = col;
|
||||
int inf = GetInf(mIndex_ARG, start);
|
||||
if (index == inf)
|
||||
return start;
|
||||
@@ -117,7 +116,7 @@ void dADM::SetData(void* pData) {
|
||||
}
|
||||
|
||||
if (FindTag('ACFN', &row, &rowOffs) && FindTag('ACNA', &name, &nameOffs) && FindTag('ACDS', &dat_size, &dataOffs)) {
|
||||
JUT_ASSERT(0xca, row * name == dat_size);
|
||||
JUT_ASSERT(202, row * name == dat_size);
|
||||
mCharTbl.SetData((u32)pData, row, rowOffs, name, nameOffs, dat_size, dataOffs);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1919,7 +1919,7 @@ void dSnap_packet::ClearAlphaBuffer() {
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_S16, 0);
|
||||
GXLoadPosMtxImm(mDoMtx_getIdentity(), GX_PNMTX0);
|
||||
GXLoadPosMtxImm(cMtx_getIdentity(), GX_PNMTX0);
|
||||
GXSetCurrentMtx(GX_PNMTX0);
|
||||
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||
|
||||
+66
-38
@@ -194,7 +194,7 @@ int stayRoomCheck(int roomCount, u8* rooms, int roomNo) {
|
||||
|
||||
/* 80040DDC-80040E38 .text createRoomScene__Fi */
|
||||
int createRoomScene(int param_0) {
|
||||
int* ptr = (int*)JKRHeap::alloc(4, -4, NULL);
|
||||
int* ptr = (int*)JKRAlloc(4, -4);
|
||||
if (ptr == NULL) {
|
||||
return 0;
|
||||
}
|
||||
@@ -1387,7 +1387,7 @@ stage_actor_data_class* dStage_decodeSearchIkada(void* i_file, int ikadaShipId)
|
||||
/* 8004184C-800419D0 .text dStage_playerInitIkada__FP16fopAcM_prm_classPv */
|
||||
void dStage_playerInitIkada(fopAcM_prm_class* player_prm, void* i_file) {
|
||||
stage_actor_data_class* ikada_data = dStage_decodeSearchIkada(i_file, dComIfGp_getIkadaShipId());
|
||||
JUT_ASSERT(1590, ikada_data != NULL);
|
||||
JUT_ASSERT(VERSION_SELECT(1560, 1590, 1590, 1590), ikada_data != NULL);
|
||||
|
||||
u8 roomNo = dComIfGp_getIkadaShipBeforeRoomId();
|
||||
player_prm->base.parameters = 0xFF000000 | roomNo;
|
||||
@@ -1419,7 +1419,7 @@ bool dStage_chkPlayerId(int playerId, int room_no) {
|
||||
if (room_no == -1) {
|
||||
player = dComIfGp_getStage().getPlayer();
|
||||
} else {
|
||||
JUT_ASSERT(0x689, 0 <= room_no && room_no < 64);
|
||||
JUT_ASSERT(VERSION_SELECT(1643, 1673, 1673, 1673), 0 <= room_no && room_no < 64);
|
||||
player = dComIfGp_roomControl_getStatusRoomDt(room_no)->getPlayer();
|
||||
}
|
||||
|
||||
@@ -1447,7 +1447,7 @@ int dStage_playerInit(dStage_dt_c* i_stage, void* i_data, int num, void* i_file)
|
||||
i_stage->setPlayerNum(num);
|
||||
|
||||
fopAcM_prm_class* appen = fopAcM_CreateAppend();
|
||||
JUT_ASSERT(1735, appen != NULL);
|
||||
JUT_ASSERT(VERSION_SELECT(1705, 1735, 1735, 1735), appen != NULL);
|
||||
|
||||
int point = dComIfGp_getStartStagePoint();
|
||||
u32 roomParam = dComIfGs_getRestartRoomParam();
|
||||
@@ -1470,7 +1470,7 @@ int dStage_playerInit(dStage_dt_c* i_stage, void* i_data, int num, void* i_file)
|
||||
player_data++;
|
||||
}
|
||||
|
||||
JUT_ASSERT(1787, i != num);
|
||||
JUT_ASSERT(VERSION_SELECT(1757, 1787, 1787, 1787), i != num);
|
||||
|
||||
appen->base.parameters = player_data->base.parameters;
|
||||
appen->base.position = player_data->base.position;
|
||||
@@ -1494,16 +1494,21 @@ int dStage_playerInit(dStage_dt_c* i_stage, void* i_data, int num, void* i_file)
|
||||
dStage_actorCreate(player_data, appen);
|
||||
|
||||
scene_class* stageProc = fopScnM_SearchByID(dStage_roomControl_c::getProcID());
|
||||
JUT_ASSERT(1842, stageProc != NULL);
|
||||
JUT_ASSERT(VERSION_SELECT(1812, 1842, 1842, 1842), stageProc != NULL);
|
||||
|
||||
if (stageProc->base.base.mProcName != PROC_PLAY_SCENE) {
|
||||
fopAcM_create(PROC_TITLE, 0);
|
||||
}
|
||||
#if VERSION == VERSION_DEMO
|
||||
else
|
||||
#endif
|
||||
{
|
||||
fopMsgM_Create(PROC_METER, NULL, NULL);
|
||||
|
||||
fopMsgM_Create(PROC_METER, NULL, NULL);
|
||||
cXyz agb_pos(appen->base.position.x, appen->base.position.y + 10.0f, appen->base.position.z);
|
||||
fopAcM_create(PROC_AGB, 0, &agb_pos);
|
||||
}
|
||||
|
||||
cXyz agb_pos(appen->base.position.x, appen->base.position.y + 10.0f, appen->base.position.z);
|
||||
fopAcM_create(PROC_AGB, 0, &agb_pos);
|
||||
dComIfGp_setAgb(NULL);
|
||||
return 1;
|
||||
}
|
||||
@@ -1511,20 +1516,23 @@ int dStage_playerInit(dStage_dt_c* i_stage, void* i_data, int num, void* i_file)
|
||||
/* 80041E84-80041ED4 .text dStage_cameraInit__FP11dStage_dt_cPviPv */
|
||||
int dStage_cameraInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
|
||||
stage_camera_class* camera = (stage_camera_class*)((char*)i_data + 4);
|
||||
int entryIdx = 0;
|
||||
i_stage->setCamera(camera);
|
||||
dStage_cameraCreate(camera->m_entries, 0, 0);
|
||||
dStage_cameraCreate(&camera->m_entries[entryIdx], 0, 0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80041ED4-80041F08 .text dStage_RoomCameraInit__FP11dStage_dt_cPviPv */
|
||||
int dStage_RoomCameraInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
|
||||
i_stage->setCamera((stage_camera_class*)((char*)i_data + 4));
|
||||
stage_camera_class* camera = (stage_camera_class*)((char*)i_data + 4);
|
||||
i_stage->setCamera(camera);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80041F08-80041F3C .text dStage_arrowInit__FP11dStage_dt_cPviPv */
|
||||
int dStage_arrowInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
|
||||
i_stage->setArrow((stage_arrow_class*)((char*)i_data + 4));
|
||||
stage_arrow_class* arrow = (stage_arrow_class*)((char*)i_data + 4);
|
||||
i_stage->setArrow(arrow);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1681,7 +1689,8 @@ int dStage_stagInfoInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
|
||||
|
||||
/* 8004238C-800423C0 .text dStage_sclsInfoInit__FP11dStage_dt_cPviPv */
|
||||
int dStage_sclsInfoInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
|
||||
i_stage->setSclsInfo((stage_scls_info_dummy_class*)((char*)i_data + 4));
|
||||
stage_scls_info_dummy_class* scls_info = (stage_scls_info_dummy_class*)((char*)i_data + 4);
|
||||
i_stage->setSclsInfo(scls_info);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1755,7 +1764,8 @@ s8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class& room, int index) {
|
||||
|
||||
/* 80042658-8004268C .text dStage_ppntInfoInit__FP11dStage_dt_cPviPv */
|
||||
int dStage_ppntInfoInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
|
||||
i_stage->setPntInfo((dStage_dPnt_c*)((char*)i_data + 4));
|
||||
dStage_dPnt_c* pStagePnt = (dStage_dPnt_c*)((char*)i_data + 4);
|
||||
i_stage->setPntInfo(pStagePnt);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1772,7 +1782,8 @@ int dStage_pathInfoInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
|
||||
|
||||
/* 8004271C-80042750 .text dStage_rppnInfoInit__FP11dStage_dt_cPviPv */
|
||||
int dStage_rppnInfoInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
|
||||
i_stage->setPnt2Info((dStage_dPnt_c*)((char*)i_data + 4));
|
||||
dStage_dPnt_c* pStagePnt = (dStage_dPnt_c*)((char*)i_data + 4);
|
||||
i_stage->setPnt2Info(pStagePnt);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1789,19 +1800,22 @@ int dStage_rpatInfoInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
|
||||
|
||||
/* 800427E0-80042814 .text dStage_soundInfoInit__FP11dStage_dt_cPviPv */
|
||||
int dStage_soundInfoInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
|
||||
i_stage->setSoundInfo((dStage_SoundInfo_c*)((char*)i_data + 4));
|
||||
dStage_SoundInfo_c* soundInfo = (dStage_SoundInfo_c*)((char*)i_data + 4);
|
||||
i_stage->setSoundInfo(soundInfo);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80042814-80042848 .text dStage_eventInfoInit__FP11dStage_dt_cPviPv */
|
||||
int dStage_eventInfoInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
|
||||
i_stage->setEventInfo((dStage_EventInfo_c*)((char*)i_data + 4));
|
||||
dStage_EventInfo_c* eventInfo = (dStage_EventInfo_c*)((char*)i_data + 4);
|
||||
i_stage->setEventInfo(eventInfo);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80042848-8004287C .text dStage_floorInfoInit__FP11dStage_dt_cPviPv */
|
||||
int dStage_floorInfoInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
|
||||
i_stage->setFloorInfo((dStage_FloorInfo_c*)((char*)i_data + 4));
|
||||
dStage_FloorInfo_c* floorInfo = (dStage_FloorInfo_c*)((char*)i_data + 4);
|
||||
i_stage->setFloorInfo(floorInfo);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1815,7 +1829,7 @@ int dStage_memaInfoInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
|
||||
|
||||
for (int i = 0; i < pd->num; i++) {
|
||||
JKRExpHeap* heap = dStage_roomControl_c::createMemoryBlock(i, *entry_p + 0x300);
|
||||
JUT_ASSERT(2932, heap != NULL);
|
||||
JUT_ASSERT(VERSION_SELECT(2903, 2932, 2932, 2932), heap != NULL);
|
||||
entry_p++;
|
||||
}
|
||||
}
|
||||
@@ -1842,10 +1856,14 @@ int dStage_mecoInfoInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
|
||||
|
||||
#if VERSION == VERSION_DEMO
|
||||
bool dStage_setShipPos(int param_0, int i_roomNo) {
|
||||
/* Nonmatching */
|
||||
i_roomNo = i_roomNo == 0xFF ? dComIfGp_roomControl_getStayNo() : i_roomNo;
|
||||
int roomNo;
|
||||
if (i_roomNo == 0xFF) {
|
||||
roomNo = dComIfGp_roomControl_getStayNo();
|
||||
} else {
|
||||
roomNo = i_roomNo;
|
||||
}
|
||||
if (param_0 != 0xFF) {
|
||||
dStage_Ship_dt_c* ship_data_p = dComIfGp_getShip(i_roomNo, param_0);
|
||||
dStage_Ship_dt_c* ship_data_p = dComIfGp_getShip(roomNo, param_0);
|
||||
if (ship_data_p != NULL) {
|
||||
daShip_c* ship_p = (daShip_c*)fopAcM_SearchByName(PROC_SHIP);
|
||||
if (ship_p != NULL) {
|
||||
@@ -1885,8 +1903,13 @@ bool dStage_setShipPos(int param_0, int i_roomNo) {
|
||||
}
|
||||
|
||||
if (param_0 != 0xFF) {
|
||||
i_roomNo = i_roomNo == 0xFF ? dComIfGp_roomControl_getStayNo() : i_roomNo;
|
||||
dStage_Ship_dt_c* ship_data_p = dComIfGp_getShip(i_roomNo, param_0);
|
||||
int roomNo;
|
||||
if (i_roomNo == 0xFF) {
|
||||
roomNo = dComIfGp_roomControl_getStayNo();
|
||||
} else {
|
||||
roomNo = i_roomNo;
|
||||
}
|
||||
dStage_Ship_dt_c* ship_data_p = dComIfGp_getShip(roomNo, param_0);
|
||||
if (ship_data_p != NULL) {
|
||||
daShip_c* ship_p = (daShip_c*)fopAcM_SearchByName(PROC_SHIP);
|
||||
if (ship_p != NULL) {
|
||||
@@ -1944,13 +1967,15 @@ int dStage_shipInfoInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
|
||||
|
||||
/* 80042C38-80042C6C .text dStage_multInfoInit__FP11dStage_dt_cPviPv */
|
||||
int dStage_multInfoInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
|
||||
i_stage->setMulti((dStage_Multi_c*)((char*)i_data + 4));
|
||||
dStage_Multi_c* multi = (dStage_Multi_c*)((char*)i_data + 4);
|
||||
i_stage->setMulti(multi);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80042C6C-80042CA0 .text dStage_lbnkInfoInit__FP11dStage_dt_cPviPv */
|
||||
int dStage_lbnkInfoInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
|
||||
i_stage->setLbnk((dStage_Lbnk_c*)((char*)i_data + 4));
|
||||
dStage_Lbnk_c* lbnk = (dStage_Lbnk_c*)((char*)i_data + 4);
|
||||
i_stage->setLbnk(lbnk);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1977,7 +2002,8 @@ int dStage_layerTresureInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*
|
||||
|
||||
/* 80042DA4-80042DD8 .text dStage_dmapInfoInit__FP11dStage_dt_cPviPv */
|
||||
int dStage_dmapInfoInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
|
||||
i_stage->setDMap((dStage_DMap_c*)((char*)i_data + 4));
|
||||
dStage_DMap_c* dmap = (dStage_DMap_c*)((char*)i_data + 4);
|
||||
i_stage->setDMap(dmap);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -2043,8 +2069,8 @@ void dStage_dt_c_offsetToPtr(void* i_data) {
|
||||
void dStage_dt_c_stageInitLoader(void* i_data, dStage_dt_c* i_stage) {
|
||||
static FuncTable l_funcTable[] = {"STAG", dStage_stagInfoInit};
|
||||
|
||||
JUT_ASSERT(3557, i_data != NULL);
|
||||
JUT_ASSERT(3558, i_stage != NULL);
|
||||
JUT_ASSERT(VERSION_SELECT(3529, 3557, 3557, 3557), i_data != NULL);
|
||||
JUT_ASSERT(VERSION_SELECT(3530, 3558, 3558, 3558), i_stage != NULL);
|
||||
|
||||
dStage_dt_c_offsetToPtr(i_data);
|
||||
i_stage->init();
|
||||
@@ -2197,7 +2223,7 @@ void dStage_dt_c_roomReLoader(void* i_data, dStage_dt_c* i_stage, int param_2) {
|
||||
/* 8004324C-800432EC .text dStage_infoCreate__Fv */
|
||||
void dStage_infoCreate() {
|
||||
void* stageRsrc = dComIfG_getStageRes("Stage", "stage.dzs");
|
||||
JUT_ASSERT(3834, stageRsrc != NULL)
|
||||
JUT_ASSERT(VERSION_SELECT(3806, 3834, 3834, 3834), stageRsrc != NULL)
|
||||
|
||||
dStage_dt_c_stageInitLoader(stageRsrc, &dComIfGp_getStage());
|
||||
}
|
||||
@@ -2207,14 +2233,14 @@ void dStage_Create() {
|
||||
dKankyo_create();
|
||||
|
||||
void* stageRsrc = dComIfG_getStageRes("Stage", "stage.dzs");
|
||||
JUT_ASSERT(3862, stageRsrc != NULL)
|
||||
JUT_ASSERT(VERSION_SELECT(3834, 3862, 3862, 3862), stageRsrc != NULL)
|
||||
|
||||
dComIfGp_roomControl_init();
|
||||
dStage_dt_c_stageLoader(stageRsrc, &dComIfGp_getStage());
|
||||
|
||||
if (dComIfGp_getStartStageRoomNo() >= 0) {
|
||||
int status = dStage_roomInit(dComIfGp_getStartStageRoomNo());
|
||||
JUT_ASSERT(3873, status);
|
||||
JUT_ASSERT(VERSION_SELECT(3845, 3873, 3873, 3873), status);
|
||||
}
|
||||
|
||||
dMap_c::create();
|
||||
@@ -2282,9 +2308,11 @@ void dStage_roomControl_c::SetTimePass(int i_timepass) {
|
||||
int dStage_changeSceneExitId(cBgS_PolyInfo& i_poly, f32 i_speed, u32 i_mode, s8 i_roomNo) {
|
||||
int exit_id = dComIfG_Bgsp()->GetExitId(i_poly);
|
||||
if (exit_id == 0x3E || exit_id == 0x3B) {
|
||||
fopAc_ac_c* actor_p = dComIfG_Bgsp()->GetActorPointer(i_poly.GetBgIndex());
|
||||
s8 roomNo = IkadaGetRoomNoArg0(actor_p);
|
||||
s16 point = IkadaGetLinkIdArg1(actor_p);
|
||||
fopAc_ac_c* actor_p = dComIfG_Bgsp()->GetActorPointer(i_poly);
|
||||
int arg0 = IkadaGetRoomNoArg0(actor_p);
|
||||
s8 roomNo = arg0;
|
||||
int arg1 = IkadaGetLinkIdArg1(actor_p);
|
||||
u8 point = arg1;
|
||||
|
||||
if (exit_id == 0x3E) {
|
||||
dComIfGp_setNextStage("Obshop", point, roomNo, -1, i_speed, i_mode);
|
||||
@@ -2297,7 +2325,7 @@ int dStage_changeSceneExitId(cBgS_PolyInfo& i_poly, f32 i_speed, u32 i_mode, s8
|
||||
dComIfGp_setIkadaShipBeforePos(actor_p->current.pos);
|
||||
return 1;
|
||||
} else if (exit_id == 0x3D) {
|
||||
JUT_ASSERT(4134, dComIfGp_getIkadaShipBeforeRoomId() >= 0 &&
|
||||
JUT_ASSERT(VERSION_SELECT(4106, 4134, 4134, 4134), dComIfGp_getIkadaShipBeforeRoomId() >= 0 &&
|
||||
dComIfGp_getIkadaShipBeforeRoomId() < 64);
|
||||
dComIfGp_setNextStage("sea", -2, dComIfGp_getIkadaShipBeforeRoomId(), -1, i_speed, i_mode);
|
||||
return 1;
|
||||
@@ -2328,7 +2356,7 @@ int dStage_changeScene(int i_exitId, f32 speed, u32 mode, s8 room_no) {
|
||||
if (room_no == -1) {
|
||||
scls = dComIfGp_getStageSclsInfo();
|
||||
} else {
|
||||
JUT_ASSERT(4192, 0 <= room_no && room_no < 64);
|
||||
JUT_ASSERT(VERSION_SELECT(4164, 4192, 4192, 4192), 0 <= room_no && room_no < 64);
|
||||
scls = dComIfGp_roomControl_getStatusRoomDt(room_no)->getSclsInfo();
|
||||
}
|
||||
|
||||
@@ -2336,7 +2364,7 @@ int dStage_changeScene(int i_exitId, f32 speed, u32 mode, s8 room_no) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
JUT_ASSERT(4202, 0 <= i_exitId && i_exitId < scls->num);
|
||||
JUT_ASSERT(VERSION_SELECT(4174, 4202, 4202, 4202), 0 <= i_exitId && i_exitId < scls->num);
|
||||
|
||||
stage_scls_info_class* scls_info = &scls->m_entries[i_exitId];
|
||||
s32 wipe = dStage_sclsInfo_getWipe(scls_info);
|
||||
|
||||
+1
-3
@@ -14,9 +14,7 @@
|
||||
#include "d/d_procname.h"
|
||||
#include "d/d_tree.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "dolphin/gf/GFGeometry.h"
|
||||
#include "dolphin/gf/GFTev.h"
|
||||
#include "dolphin/gf/GFTransform.h"
|
||||
#include "dolphin/gf/GF.h"
|
||||
#include "dolphin/gx/GXAttr.h"
|
||||
#include "dolphin/gx/GXDisplayList.h"
|
||||
#include "dolphin/gx/GXStruct.h"
|
||||
|
||||
Reference in New Issue
Block a user