mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-05 12:53:36 -04:00
d_a_bomb 100%, not matching
This commit is contained in:
@@ -41,8 +41,8 @@ public:
|
||||
|
||||
virtual ~cBgS_PolyInfo() {}
|
||||
|
||||
s32 GetPolyIndex() const { return mPolyIndex; }
|
||||
u16 GetBgIndex() const { return mBgIndex; }
|
||||
int GetPolyIndex() const { return mPolyIndex; }
|
||||
int GetBgIndex() const { return mBgIndex; }
|
||||
bool ChkSetInfo() const {
|
||||
if (mPolyIndex == 0xFFFF || mBgIndex == 0x100) {
|
||||
return false;
|
||||
|
||||
@@ -14,11 +14,14 @@ public:
|
||||
daBomb_fuseSmokeEcallBack() {}
|
||||
~daBomb_fuseSmokeEcallBack() {}
|
||||
|
||||
void execute(JPABaseEmitter*);
|
||||
void execute(JPABaseEmitter*) {}
|
||||
void executeAfter(JPABaseEmitter*);
|
||||
void draw(JPABaseEmitter*);
|
||||
void draw(JPABaseEmitter*) {}
|
||||
|
||||
void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
|
||||
void setup(JPABaseEmitter* emitter, const cXyz* pos, const csXyz*, s8) {
|
||||
mpPos = pos;
|
||||
mpEmitter = emitter;
|
||||
}
|
||||
|
||||
/* 0x04 */ s16 field_0x04;
|
||||
/* 0x08 */ const cXyz* mpPos;
|
||||
@@ -33,9 +36,12 @@ public:
|
||||
~daBomb_fuseSparksEcallBack() {}
|
||||
|
||||
void execute(JPABaseEmitter*);
|
||||
void draw(JPABaseEmitter*);
|
||||
void draw(JPABaseEmitter*) {}
|
||||
|
||||
void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
|
||||
void setup(JPABaseEmitter* emitter, const cXyz* pos, const csXyz*, s8) {
|
||||
mpPos = pos;
|
||||
mpEmitter = emitter;
|
||||
}
|
||||
|
||||
/* 0x04 */ const cXyz* mpPos;
|
||||
/* 0x08 */ JPABaseEmitter* mpEmitter;
|
||||
@@ -49,6 +55,8 @@ public:
|
||||
|
||||
class daBomb_c : public fopAc_ac_c {
|
||||
public:
|
||||
typedef bool(daBomb_c::*procFunc)();
|
||||
|
||||
daBomb_c();
|
||||
|
||||
void draw_norm();
|
||||
@@ -101,7 +109,7 @@ public:
|
||||
void se_cannon_fly_stop();
|
||||
void eff_water_splash();
|
||||
bool bombDelete();
|
||||
bool createHeap();
|
||||
BOOL createHeap();
|
||||
int create();
|
||||
void create_init();
|
||||
|
||||
@@ -159,8 +167,6 @@ public:
|
||||
void _prm_chk_version() const;
|
||||
|
||||
private:
|
||||
typedef bool(daBomb_c::*procFunc)();
|
||||
|
||||
/* 0x290 */ procFunc mFunc;
|
||||
/* 0x29C */ request_of_phase_process_class mPhs;
|
||||
/* 0x2A4 */ J3DModel* mpModel;
|
||||
|
||||
@@ -24,7 +24,7 @@ public:
|
||||
/* 0x291*/ u8 field_0x291;
|
||||
/* 0x292*/ u8 field_0x292;
|
||||
/* 0x293*/ u8 field_0x293;
|
||||
/* 0x294 */ s32 mProcID;
|
||||
/* 0x294 */ s32 mMedliPID;
|
||||
/* 0x298 */ s16 mEventIdx;
|
||||
/* 0x29A */ short field_0x29A;
|
||||
};
|
||||
|
||||
@@ -197,6 +197,23 @@ enum CLOTH_RES_FILE_ID { // IDs and indexes are synced
|
||||
CLOTH_BTI_CLOTHTOON=0x3,
|
||||
};
|
||||
|
||||
enum VBAKH_RES_FILE_ID { // IDs and indexes are synced
|
||||
/* BCK */
|
||||
VBAKH_BCK_VBAHX=0x5,
|
||||
VBAKH_BCK_VBAKH=0x6,
|
||||
VBAKH_BCK_VBAKM=0x7,
|
||||
VBAKH_BCK_VBAMX=0x8,
|
||||
|
||||
/* BDLM */
|
||||
VBAKH_BDL_VBAKH=0xB,
|
||||
VBAKH_BDL_VBAKM=0xC,
|
||||
|
||||
/* BRK */
|
||||
VBAKH_BRK_VBAHX=0xF,
|
||||
VBAKH_BRK_VBAKM=0x10,
|
||||
VBAKH_BRK_VBAMX=0x11,
|
||||
};
|
||||
|
||||
class __d_timer_info_c {
|
||||
public:
|
||||
__d_timer_info_c() {
|
||||
|
||||
+156
-79
@@ -8,6 +8,7 @@
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
#include "d/actor/d_a_sea.h"
|
||||
#include "d/d_kankyo_wether.h"
|
||||
#include "f_op/f_op_camera_mng.h"
|
||||
#include "f_op/f_op_kankyo_mng.h"
|
||||
@@ -361,20 +362,10 @@ bool daBomb_c::checkExplodeBg_norm() {
|
||||
|
||||
/* 800DA098-800DA1A4 .text checkExplodeBg_nut__8daBomb_cFv */
|
||||
bool daBomb_c::checkExplodeBg_nut() {
|
||||
/* Nonmatching - regalloc */
|
||||
bool sink = chk_water_in();
|
||||
bool burn = chk_lava_hit();
|
||||
|
||||
//these 2 ifs might be an inline?
|
||||
bool temp1 = true;
|
||||
bool temp2 = false;
|
||||
if(mAcch.ChkWallHit() || mAcch.ChkGroundHit()) {
|
||||
temp2 = true;
|
||||
}
|
||||
|
||||
if(!temp2 && !mAcch.ChkRoofHit()) {
|
||||
temp1 = false;
|
||||
}
|
||||
bool hit = mAcch.ChkWallHit() || mAcch.ChkGroundHit() || mAcch.ChkRoofHit();
|
||||
|
||||
bool ret = false;
|
||||
if(burn) {
|
||||
@@ -385,7 +376,7 @@ bool daBomb_c::checkExplodeBg_nut() {
|
||||
makeWaterEffect();
|
||||
field_0x781 = true;
|
||||
}
|
||||
else if(temp1 && field_0x780) {
|
||||
else if(hit && field_0x780) {
|
||||
change_state(STATE_1);
|
||||
setFuseEffect();
|
||||
if(30 < mRestTime) {
|
||||
@@ -401,23 +392,14 @@ bool daBomb_c::checkExplodeBg_nut() {
|
||||
|
||||
/* 800DA1A4-800DA284 .text checkExplodeBg_cannon__8daBomb_cFv */
|
||||
bool daBomb_c::checkExplodeBg_cannon() {
|
||||
/* Nonmatching - regalloc */
|
||||
bool sink = chk_water_in();
|
||||
bool burn = chk_lava_hit();
|
||||
|
||||
//these 2 ifs might be an inline?
|
||||
bool temp1 = true;
|
||||
bool temp2 = false;
|
||||
if(mAcch.ChkWallHit() || mAcch.ChkGroundHit()) {
|
||||
temp2 = true;
|
||||
}
|
||||
if(!temp2 && !mAcch.ChkRoofHit()) {
|
||||
temp1 = false;
|
||||
}
|
||||
bool hit = mAcch.ChkWallHit() || mAcch.ChkGroundHit() || mAcch.ChkRoofHit();
|
||||
|
||||
bool dead = chk_dead_zone();
|
||||
bool ret = false;
|
||||
if(burn || temp1) {
|
||||
if(burn || hit) {
|
||||
ret = procExplode_init();
|
||||
}
|
||||
else {
|
||||
@@ -447,18 +429,10 @@ bool daBomb_c::checkExplodeBg() {
|
||||
|
||||
/* 800DA320-800DA3A0 .text water_tention__8daBomb_cFv */
|
||||
void daBomb_c::water_tention() {
|
||||
/* Nonmatching - regalloc */
|
||||
if(chk_water_in()) {
|
||||
if(field_0x554.y != -1.0e9f && field_0x554.z != -1.0e9f) {
|
||||
f32 temp;
|
||||
if(field_0x554.y - field_0x554.z < 0) {
|
||||
temp = 0.8f * field_0x554.z;
|
||||
}
|
||||
else {
|
||||
temp = 0.2f * field_0x554.z;
|
||||
}
|
||||
|
||||
current.pos.y += temp;
|
||||
f32 temp = field_0x554.y - field_0x554.z;
|
||||
current.pos.y += temp < 0.0f ? 0.8f * temp : 0.2f * temp;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -526,7 +500,34 @@ void daBomb_c::bgCrrPos_lava() {
|
||||
|
||||
/* 800DA5E0-800DA700 .text bgCrrPos_water__8daBomb_cFv */
|
||||
void daBomb_c::bgCrrPos_water() {
|
||||
/* Nonmatching */
|
||||
f32 f31 = mAcch.m_wtr.GetHeight();
|
||||
bool r31 = daSea_ChkArea(current.pos.x, current.pos.z);
|
||||
f32 f1 = daSea_calcWave(current.pos.x, current.pos.z);
|
||||
bool r4 = mAcch.ChkWaterIn();
|
||||
bool r3 = r31 && current.pos.y < f1;
|
||||
bool r5 = false;
|
||||
field_0x554.z = field_0x554.y;
|
||||
if (r4 && r3) {
|
||||
if (f31 > f1) {
|
||||
r3 = 0;
|
||||
} else {
|
||||
r4 = 0;
|
||||
}
|
||||
}
|
||||
if (r4) {
|
||||
field_0x554.y = f31;
|
||||
r5 = true;
|
||||
field_0x562 = 0;
|
||||
} else if (r3) {
|
||||
field_0x554.y = f1;
|
||||
r5 = true;
|
||||
field_0x562 = 1;
|
||||
} else {
|
||||
field_0x554.y = -1e9f;
|
||||
field_0x562 = 0;
|
||||
}
|
||||
field_0x560 = r5 && !mbWaterIn;
|
||||
mbWaterIn = r5;
|
||||
}
|
||||
|
||||
bool daBomb_c::chk_water_land() {
|
||||
@@ -580,14 +581,34 @@ void daBomb_c::bound(f32 param_1) {
|
||||
}
|
||||
else {
|
||||
if(mAcch.ChkGroundHit()) {
|
||||
cLib_addCalc(&speedF, 0.0f, 0.5f, 5.5f, 1.0f);
|
||||
cLib_addCalc(&speedF, 0.0f, 0.5f, 5.0f, 1.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 800DA8C8-800DA9DC .text set_real_shadow_flag__8daBomb_cFv */
|
||||
void daBomb_c::set_real_shadow_flag() {
|
||||
/* Nonmatching */
|
||||
bool r31 = chk_state(STATE_2);
|
||||
bool r3 = chk_state(STATE_3);
|
||||
bool r30 = false;
|
||||
if (field_0x7C8 <= 1 && (r31 || r3)) {
|
||||
if (model) {
|
||||
r30 = true;
|
||||
} else if (r3) {
|
||||
r30 = true;
|
||||
} else if (field_0x7C8 == 1) {
|
||||
r30 = true;
|
||||
} else {
|
||||
daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0);
|
||||
if (player->getGrabActorID() == fopAcM_GetID(this) && player->getGrabUpStart()) {
|
||||
r30 = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (field_0x7C8 > 0) {
|
||||
field_0x7C8--;
|
||||
}
|
||||
model = r30 ? mpModel : NULL;
|
||||
}
|
||||
|
||||
void daBomb_c::setRoomInfo() {
|
||||
@@ -838,15 +859,15 @@ bool daBomb_c::procExplode() {
|
||||
|
||||
switch(field_0x774) {
|
||||
case 0:
|
||||
cLib_addCalc(&field_0x778, 0.0f, 0.05f, 0.04f, 0.001f);
|
||||
if(field_0x778 >= 0.01f) {
|
||||
cLib_addCalc(&field_0x778, 1.0f, 0.5f, 0.4f, 0.01f);
|
||||
if(field_0x778 >= 0.99f) {
|
||||
field_0x774 += 1;
|
||||
}
|
||||
|
||||
break;
|
||||
case 1:
|
||||
cLib_addCalc(&field_0x778, 0.0f, 0.05f, 0.04f, 0.01f);
|
||||
if(field_0x778 <= 0.99f) {
|
||||
cLib_addCalc(&field_0x778, 0.0f, 0.05f, 0.04f, 0.001f);
|
||||
if(field_0x778 <= 0.01f) {
|
||||
field_0x774 += 1;
|
||||
}
|
||||
|
||||
@@ -1058,7 +1079,50 @@ static BOOL daBomb_Execute(daBomb_c* i_this) {
|
||||
|
||||
/* 800DBF44-800DC250 .text set_wind_vec__8daBomb_cFv */
|
||||
void daBomb_c::set_wind_vec() {
|
||||
/* Nonmatching */
|
||||
mWindVec *= 0.95f;
|
||||
if (mWindVec.abs2() < 0.1f)
|
||||
mWindVec.setall(0.0f);
|
||||
if (!mSph.ChkTgHit())
|
||||
return;
|
||||
cCcD_Obj* hitObj = mSph.GetTgHitObj();
|
||||
if (hitObj == NULL)
|
||||
return;
|
||||
if (!(hitObj->GetAtType() & AT_TYPE_LEAF_WIND))
|
||||
return;
|
||||
cXyz sp48 = *mSph.GetTgRVecP();
|
||||
f32 f31 = sp48.abs2();
|
||||
if (f31 > 180.0f*180.0f) {
|
||||
sp48 *= 180.0f / sqrtf(f31);;
|
||||
}
|
||||
cCcD_ShapeAttr* hitShapeAttr = hitObj->GetShapeAttr();
|
||||
cXyz hitNormal = cXyz::Zero;
|
||||
f32 f30 = 1.0f;
|
||||
f32 f29 = 1.0f;
|
||||
if (hitShapeAttr->GetNVec(current.pos, &hitNormal)) {
|
||||
hitNormal *= 50.0f;
|
||||
mWindVec.abs2();
|
||||
fopAc_ac_c* hitActor = mSph.GetTgHitAc();
|
||||
if (hitActor && fpcM_GetProfName(hitActor) == PROC_PLAYER) {
|
||||
s16 hitObjAngleY = cM_atan2s(hitNormal.x, hitNormal.z);
|
||||
f32 f2 = cM_scos(hitActor->shape_angle.y - hitObjAngleY);
|
||||
if (f2 > 0.0f) {
|
||||
f30 = 1.0f + 2.0f*f2;
|
||||
f29 = 1.0f + 0.3f*f2;
|
||||
}
|
||||
}
|
||||
}
|
||||
f32 f28;
|
||||
if (f31 > 0.01f) {
|
||||
f31 = 0.9f;
|
||||
f28 = 0.1f;
|
||||
} else {
|
||||
f31 = 0.0f;
|
||||
f28 = 1.0f;
|
||||
}
|
||||
mWindVec = sp48 * f31 + hitNormal * f28 * f30;
|
||||
if (fabsf(mWindVec.y) < 5.0f) {
|
||||
mWindVec.y += f29*(100.0f*f28) + 140.0f*f31;
|
||||
}
|
||||
}
|
||||
|
||||
/* 800DC250-800DC2D0 .text anm_play_nut__8daBomb_cFv */
|
||||
@@ -1105,16 +1169,26 @@ void daBomb_c::se_cannon_fly_stop() {
|
||||
}
|
||||
|
||||
void daBomb_c::eff_water_splash() {
|
||||
cXyz pos;
|
||||
pos.z = current.pos.z;
|
||||
pos.y = field_0x554.y;
|
||||
pos.x = current.pos.x;
|
||||
cXyz pos(current.pos.x, field_0x554.y, current.pos.z);
|
||||
fopKyM_createWpillar(&pos, 0.5f, 0.75f, 0);
|
||||
|
||||
//what
|
||||
u32 soundId = 0x13;
|
||||
cBgS_PolyInfo* temp[2] = {
|
||||
field_0x562 ? NULL : &mAcch.m_wtr,
|
||||
&mAcch.m_gnd,
|
||||
};
|
||||
|
||||
u32 mtrlSndId = 0x13;
|
||||
for (int i = 0; i < ARRAY_SIZE(temp); i++) {
|
||||
if (temp[i] == NULL)
|
||||
continue;
|
||||
int bg_index = temp[i]->GetBgIndex();
|
||||
if (bg_index >= 0 && bg_index < 0x100) {
|
||||
mtrlSndId = dComIfG_Bgsp()->GetMtrlSndId(*temp[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
fopAcM_seStart(this, JA_SE_OBJ_FALL_WATER_S, soundId);
|
||||
fopAcM_seStart(this, JA_SE_OBJ_FALL_WATER_S, mtrlSndId);
|
||||
}
|
||||
|
||||
static bool daBomb_IsDelete(daBomb_c*) {
|
||||
@@ -1142,7 +1216,7 @@ bool daBomb_c::bombDelete() {
|
||||
|
||||
se_cannon_fly_stop();
|
||||
if(mType == 1) {
|
||||
dComIfG_resDelete(&mPhs, attrType().resName);
|
||||
dComIfG_resDelete(&mPhs, m_attrType[mType].resName);
|
||||
}
|
||||
|
||||
dKy_actor_addcol_set(0, 0, 0, 0.0f);
|
||||
@@ -1179,7 +1253,7 @@ int daBomb_c::create() {
|
||||
|
||||
int status;
|
||||
if(mType == 1) {
|
||||
status = dComIfG_resLoad(&mPhs, attrType().resName);
|
||||
status = dComIfG_resLoad(&mPhs, m_attrType[mType].resName);
|
||||
}
|
||||
else {
|
||||
status = cPhs_COMPLEATE_e;
|
||||
@@ -1198,15 +1272,43 @@ int daBomb_c::create() {
|
||||
}
|
||||
|
||||
/* 800DCC0C-800DCEBC .text __ct__8daBomb_cFv */
|
||||
daBomb_c::daBomb_c() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
daBomb_c::daBomb_c() {}
|
||||
|
||||
static int daBomb_Create(fopAc_ac_c* i_this) {
|
||||
return static_cast<daBomb_c*>(i_this)->create();
|
||||
}
|
||||
|
||||
dCcD_SrcSph l_sph_src = {};
|
||||
// TODO: not sure why this appears in data
|
||||
daBomb_c::procFunc dummy_5390 = &daBomb_c::procSink;
|
||||
|
||||
static dCcD_SrcSph l_sph_src = {
|
||||
// dCcD_SrcGObjInf
|
||||
{
|
||||
/* Flags */ 0,
|
||||
/* SrcObjAt Type */ AT_TYPE_BOMB,
|
||||
/* SrcObjAt Atp */ 0x04,
|
||||
/* SrcObjAt SPrm */ AT_SPRM_GRP,
|
||||
/* SrcObjTg Type */ ~(AT_TYPE_WATER | AT_TYPE_UNK20000 | AT_TYPE_UNK400000 | AT_TYPE_LIGHT),
|
||||
/* SrcObjTg SPrm */ TG_SPRM_SET | TG_SPRM_IS_OTHER,
|
||||
/* SrcObjCo SPrm */ CO_SPRM_SET | CO_SPRM_IS_UNK8 | CO_SPRM_VSGRP,
|
||||
/* SrcGObjAt Se */ 0,
|
||||
/* SrcGObjAt HitMark */ 0,
|
||||
/* SrcGObjAt Spl */ 1,
|
||||
/* SrcGObjAt Mtrl */ 0,
|
||||
/* SrcGObjAt SPrm */ 0,
|
||||
/* SrcGObjTg Se */ 0,
|
||||
/* SrcGObjTg HitMark */ 0,
|
||||
/* SrcGObjTg Spl */ 0,
|
||||
/* SrcGObjTg Mtrl */ 0,
|
||||
/* SrcGObjTg SPrm */ G_TG_SPRM_NO_CON_HIT,
|
||||
/* SrcGObjCo SPrm */ 0,
|
||||
},
|
||||
// cM3dGSphS
|
||||
{
|
||||
/* Center */ 0.0f, 0.0f, 0.0f,
|
||||
/* Radius */ 30.0f,
|
||||
},
|
||||
};
|
||||
|
||||
void daBomb_c::create_init() {
|
||||
mCir.SetWall(30.0f, 30.0f);
|
||||
@@ -1286,31 +1388,6 @@ void daBomb_c::create_init() {
|
||||
init_mtx();
|
||||
}
|
||||
|
||||
/* 800DD348-800DD34C .text draw__26daBomb_fuseSparksEcallBackFP14JPABaseEmitter */
|
||||
void daBomb_fuseSparksEcallBack::draw(JPABaseEmitter*) {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
void daBomb_fuseSparksEcallBack::setup(JPABaseEmitter* emitter, const cXyz* pos, const csXyz*, signed char) {
|
||||
mpPos = pos;
|
||||
mpEmitter = emitter;
|
||||
}
|
||||
|
||||
/* 800DD358-800DD35C .text execute__25daBomb_fuseSmokeEcallBackFP14JPABaseEmitter */
|
||||
void daBomb_fuseSmokeEcallBack::execute(JPABaseEmitter*) {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 800DD35C-800DD360 .text draw__25daBomb_fuseSmokeEcallBackFP14JPABaseEmitter */
|
||||
void daBomb_fuseSmokeEcallBack::draw(JPABaseEmitter*) {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
void daBomb_fuseSmokeEcallBack::setup(JPABaseEmitter* emitter, const cXyz* pos, const csXyz*, signed char) {
|
||||
mpPos = pos;
|
||||
mpEmitter = emitter;
|
||||
}
|
||||
|
||||
actor_method_class l_daBomb_Method = {
|
||||
(process_method_func)daBomb_Create,
|
||||
(process_method_func)daBomb_Delete,
|
||||
|
||||
@@ -15,23 +15,6 @@
|
||||
static f32 dummy1[3] = {1.0f, 1.0f, 1.0f};
|
||||
static f32 dummy2[3] = {1.0f, 1.0f, 1.0f};
|
||||
|
||||
enum VBAKH_RES_FILE_ID { // IDs and indexes are synced
|
||||
/* BCK */
|
||||
VBAKH_BCK_VBAHX=0x5,
|
||||
VBAKH_BCK_VBAKH=0x6,
|
||||
VBAKH_BCK_VBAKM=0x7,
|
||||
VBAKH_BCK_VBAMX=0x8,
|
||||
|
||||
/* BDLM */
|
||||
VBAKH_BDL_VBAKH=0xB,
|
||||
VBAKH_BDL_VBAKM=0xC,
|
||||
|
||||
/* BRK */
|
||||
VBAKH_BRK_VBAHX=0xF,
|
||||
VBAKH_BRK_VBAKM=0x10,
|
||||
VBAKH_BRK_VBAMX=0x11,
|
||||
};
|
||||
|
||||
namespace daBomb2 {
|
||||
namespace {
|
||||
struct Attr_c {
|
||||
|
||||
+10
-10
@@ -3,33 +3,33 @@
|
||||
#include "d/actor/d_a_bomb.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
|
||||
bool daBomb_c::createHeap() {
|
||||
bool ret;
|
||||
BOOL daBomb_c::createHeap() {
|
||||
BOOL ret;
|
||||
if(mType == 1) {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(m_attrType[mType].resName, 0xC);
|
||||
J3DModelData* modelData = static_cast<J3DModelData*>(dComIfG_getObjectRes(m_attrType[mType].resName, VBAKH_BDL_VBAKM));
|
||||
JUT_ASSERT(0x9A5, modelData != 0);
|
||||
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000022);
|
||||
|
||||
J3DAnmTransform* bck0_data = (J3DAnmTransform*)dComIfG_getObjectRes(m_attrType[mType].resName, 0x8);
|
||||
J3DAnmTransform* bck0_data = static_cast<J3DAnmTransform*>(dComIfG_getObjectRes(m_attrType[mType].resName, VBAKH_BCK_VBAMX));
|
||||
JUT_ASSERT(0x9AE, bck0_data != 0);
|
||||
int temp = mBck0.init(modelData, bck0_data, true, 0, 1.0f, 0, -1, false);
|
||||
|
||||
J3DAnmTransform* bck1_data = (J3DAnmTransform*)dComIfG_getObjectRes(m_attrType[mType].resName, 0x7);
|
||||
J3DAnmTransform* bck1_data = static_cast<J3DAnmTransform*>(dComIfG_getObjectRes(m_attrType[mType].resName, VBAKH_BCK_VBAKM));
|
||||
JUT_ASSERT(0x9B4, bck1_data != 0);
|
||||
int temp2 = mBck1.init(modelData, bck1_data, true, 0, 1.0f, 0, -1, false);
|
||||
|
||||
J3DAnmTevRegKey* brk0_data = (J3DAnmTevRegKey*)dComIfG_getObjectRes(m_attrType[mType].resName, 0x11);
|
||||
J3DAnmTevRegKey* brk0_data = static_cast<J3DAnmTevRegKey*>(dComIfG_getObjectRes(m_attrType[mType].resName, VBAKH_BRK_VBAMX));
|
||||
JUT_ASSERT(0x9BB, brk0_data != 0);
|
||||
int temp3 = mBrk0.init(modelData, brk0_data, true, 0, 1.0f, 0, -1, false, 0);
|
||||
|
||||
J3DAnmTevRegKey* brk1_data = (J3DAnmTevRegKey*)dComIfG_getObjectRes(m_attrType[mType].resName, 0x10);
|
||||
J3DAnmTevRegKey* brk1_data = static_cast<J3DAnmTevRegKey*>(dComIfG_getObjectRes(m_attrType[mType].resName, VBAKH_BRK_VBAKM));
|
||||
JUT_ASSERT(0x9C1, brk1_data != 0);
|
||||
int temp4 = mBrk1.init(modelData, brk1_data, true, 0, 1.0f, 0, -1, false, 0);
|
||||
|
||||
return mpModel && temp && temp2 && temp3 && temp4;
|
||||
}
|
||||
else {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(m_attrType[mType].resName, 0x3C);
|
||||
J3DModelData* modelData = static_cast<J3DModelData*>(dComIfG_getObjectRes(m_attrType[mType].resName, LINK_BDL_BOMB));
|
||||
JUT_ASSERT(0x9CE, modelData != 0);
|
||||
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000002);
|
||||
|
||||
@@ -37,10 +37,10 @@ bool daBomb_c::createHeap() {
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
J3DAnmTransform* bck0_data = (J3DAnmTransform*)dComIfG_getObjectRes(m_attrType[mType].resName, 0xB);
|
||||
J3DAnmTransform* bck0_data = (J3DAnmTransform*)dComIfG_getObjectRes(m_attrType[mType].resName, LINK_BCK_BOMB);
|
||||
int temp = mBck0.init(modelData, bck0_data, false, 2, 1.0f, 0, -1, false);
|
||||
|
||||
return temp != 0;
|
||||
return temp ? TRUE : FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
#include "JSystem/J3DGraphLoader/J3DAnmLoader.h"
|
||||
|
||||
extern const Vec l_tact_top;
|
||||
|
||||
/* 8014D778-8014D7D4 .text getDayNightParamData__9daPy_lk_cFv */
|
||||
u32 daPy_lk_c::getDayNightParamData() {
|
||||
u32 spawnType = dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e) ? 2 : 0;
|
||||
|
||||
@@ -65,7 +65,7 @@ BOOL daTag_Etc_c::otherCheck(fopAc_ac_c* pActor) {
|
||||
void daTag_Etc_c::demoProc() {
|
||||
daNpc_Md_c* pMedli;
|
||||
int staffIdx;
|
||||
pMedli = (daNpc_Md_c*)fopAcM_SearchByID(mProcID);
|
||||
pMedli = (daNpc_Md_c*)fopAcM_SearchByID(mMedliPID);
|
||||
staffIdx = dComIfGp_evmng_getMyStaffId("TAG_ETC_D", NULL, 0);
|
||||
|
||||
if (staffIdx != -1) {
|
||||
@@ -91,7 +91,7 @@ void daTag_Etc_c::demoInitProc() {
|
||||
|
||||
switch (getType2()) {
|
||||
case 0:
|
||||
pActor = fopAcM_SearchByID(mProcID);
|
||||
pActor = fopAcM_SearchByID(mMedliPID);
|
||||
dComIfGp_event_setItemPartner(pActor);
|
||||
field_0x29A = 15;
|
||||
break;
|
||||
@@ -146,7 +146,7 @@ static BOOL daTag_Etc_action_search(daTag_Etc_c* i_this) {
|
||||
}
|
||||
|
||||
if (actor != NULL) {
|
||||
i_this->mProcID = fopAcM_GetID(actor);
|
||||
i_this->mMedliPID = fopAcM_GetID(actor);
|
||||
i_this->setActio(ACT_HUNT);
|
||||
}
|
||||
|
||||
@@ -156,7 +156,7 @@ static BOOL daTag_Etc_action_search(daTag_Etc_c* i_this) {
|
||||
/* 000004E8-00000560 .text daTag_Etc_action_event__FP11daTag_Etc_c */
|
||||
static BOOL daTag_Etc_action_event(daTag_Etc_c* i_this) {
|
||||
if (dComIfGp_evmng_endCheck(i_this->mEventIdx)) {
|
||||
i_this->mProcID = fpcM_ERROR_PROCESS_ID_e;
|
||||
i_this->mMedliPID = fpcM_ERROR_PROCESS_ID_e;
|
||||
i_this->setActio(ACT_SEARCH);
|
||||
dComIfGp_event_reset();
|
||||
} else {
|
||||
@@ -168,13 +168,13 @@ static BOOL daTag_Etc_action_event(daTag_Etc_c* i_this) {
|
||||
|
||||
/* 00000560-0000063C .text daTag_Etc_action_ready__FP11daTag_Etc_c */
|
||||
static BOOL daTag_Etc_action_ready(daTag_Etc_c* i_this) {
|
||||
fopAc_ac_c* actor = fopAcM_SearchByID(i_this->mProcID);
|
||||
fopAc_ac_c* actor = fopAcM_SearchByID(i_this->mMedliPID);
|
||||
if (i_this->mEvtInfo.checkCommandDemoAccrpt()) {
|
||||
i_this->demoInitProc();
|
||||
i_this->setActio(ACT_EVENT);
|
||||
daTag_Etc_action_event(i_this);
|
||||
} else if (actor == NULL || !i_this->rangeCheck(actor) || !i_this->otherCheck(actor)) {
|
||||
i_this->mProcID = fpcM_ERROR_PROCESS_ID_e;
|
||||
i_this->mMedliPID = fpcM_ERROR_PROCESS_ID_e;
|
||||
i_this->setActio(ACT_SEARCH);
|
||||
} else {
|
||||
fopAcM_orderOtherEventId(i_this, i_this->mEventIdx);
|
||||
@@ -185,9 +185,9 @@ static BOOL daTag_Etc_action_ready(daTag_Etc_c* i_this) {
|
||||
|
||||
/* 0000063C-000006EC .text daTag_Etc_action_hunt__FP11daTag_Etc_c */
|
||||
static BOOL daTag_Etc_action_hunt(daTag_Etc_c* i_this) {
|
||||
daNpc_Md_c* actor = (daNpc_Md_c*)fopAcM_SearchByID(i_this->mProcID);
|
||||
daNpc_Md_c* actor = (daNpc_Md_c*)fopAcM_SearchByID(i_this->mMedliPID);
|
||||
if (actor == NULL) {
|
||||
i_this->mProcID = fpcM_ERROR_PROCESS_ID_e;
|
||||
i_this->mMedliPID = fpcM_ERROR_PROCESS_ID_e;
|
||||
i_this->setActio(ACT_SEARCH);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -967,7 +967,7 @@ BOOL daTbox_c::actionDemo() {
|
||||
s16 eventId = mEvtInfo.getEventId();
|
||||
dComIfG_play_c* play = &g_dComIfG_gameInfo.play;
|
||||
|
||||
if (play->mEvtManager.endCheck(eventId)) {
|
||||
if (dComIfGp_evmng_endCheck(eventId)) {
|
||||
setAction(&daTbox_c::actionWait);
|
||||
play->mEvtCtrl.reset();
|
||||
|
||||
|
||||
+1
-1
@@ -299,7 +299,7 @@ s32 dBgS::GetRoomId(cBgS_PolyInfo& polyInfo) {
|
||||
|
||||
/* 800A0F88-800A111C .text ChkPolyHSStick__4dBgSFR13cBgS_PolyInfo */
|
||||
u32 dBgS::ChkPolyHSStick(cBgS_PolyInfo& polyInfo) {
|
||||
s32 bg_index = polyInfo.GetBgIndex();
|
||||
s32 bg_index = (u16)polyInfo.GetBgIndex();
|
||||
JUT_ASSERT(0x583, 0 <= bg_index && bg_index < 256);
|
||||
if (!m_chk_element[bg_index].ChkUsed())
|
||||
return FALSE;
|
||||
|
||||
+2
-2
@@ -209,10 +209,10 @@ int createRoomScene(int param_0) {
|
||||
/* 80040E38-80040E6C .text checkRoomDisp__20dStage_roomControl_cCFi */
|
||||
BOOL dStage_roomControl_c::checkRoomDisp(int i_roomNo) const {
|
||||
if (checkStatusFlag(i_roomNo, 8)) {
|
||||
return false;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return checkStatusFlag(i_roomNo, 16) ? true : false;
|
||||
return checkStatusFlag(i_roomNo, 16) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 80040E6C-80040FD8 .text loadRoom__20dStage_roomControl_cFiPUc */
|
||||
|
||||
Reference in New Issue
Block a user