mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 06:54:16 -04:00
d_a_obj_vgnfd OK, d_a_obj_doguu OK, clean up weak-but-not-inlined funcs in finished actors
This commit is contained in:
+4
-4
@@ -1381,7 +1381,7 @@ config.libs = [
|
||||
ActorRel(Matching, "d_a_obj_cafelmp"),
|
||||
ActorRel(NonMatching, "d_a_obj_coming"),
|
||||
ActorRel(NonMatching, "d_a_obj_demo_barrel"),
|
||||
ActorRel(Equivalent, "d_a_obj_doguu"), # weak func order
|
||||
ActorRel(Matching, "d_a_obj_doguu", extra_cflags=['-pragma "nosyminline on"']),
|
||||
ActorRel(Matching, "d_a_obj_doguu_demo"),
|
||||
ActorRel(Matching, "d_a_obj_gryw00", extra_cflags=['-pragma "nosyminline on"']),
|
||||
ActorRel(Matching, "d_a_obj_hfuck1", extra_cflags=['-pragma "nosyminline on"']),
|
||||
@@ -1665,7 +1665,7 @@ config.libs = [
|
||||
ActorRel(Matching, "d_a_obj_homensmoke", extra_cflags=['-pragma "nosyminline on"']),
|
||||
ActorRel(NonMatching, "d_a_obj_hsehi1"),
|
||||
ActorRel(NonMatching, "d_a_obj_htetu1"),
|
||||
ActorRel(Matching, "d_a_obj_iceisland", extra_cflags=['-pragma "nosyminline on"']),
|
||||
ActorRel(Matching, "d_a_obj_iceisland", extra_cflags=['-pragma "nosyminline on"']),
|
||||
ActorRel(NonMatching, "d_a_obj_jump"),
|
||||
ActorRel(NonMatching, "d_a_obj_kanoke"),
|
||||
ActorRel(Equivalent, "d_a_obj_ladder", extra_cflags=['-pragma "nosyminline on"']), # weak func order
|
||||
@@ -1688,7 +1688,7 @@ config.libs = [
|
||||
ActorRel(NonMatching, "d_a_obj_plant"),
|
||||
ActorRel(NonMatching, "d_a_obj_rflw"),
|
||||
ActorRel(Matching, "d_a_obj_rforce"),
|
||||
ActorRel(Matching, "d_a_obj_smplbg", extra_cflags=['-pragma "nosyminline on"']),
|
||||
ActorRel(Matching, "d_a_obj_smplbg", extra_cflags=['-pragma "nosyminline on"']),
|
||||
ActorRel(NonMatching, "d_a_obj_tapestry"),
|
||||
ActorRel(NonMatching, "d_a_obj_tntrap"),
|
||||
ActorRel(Matching, "d_a_obj_tower"),
|
||||
@@ -1697,7 +1697,7 @@ config.libs = [
|
||||
ActorRel(NonMatching, "d_a_obj_try"),
|
||||
ActorRel(Matching, "d_a_obj_usovmc"),
|
||||
ActorRel(Matching, "d_a_obj_vfan", extra_cflags=[ '-pragma "nosyminline on"']),
|
||||
ActorRel(NonMatching, "d_a_obj_vgnfd"),
|
||||
ActorRel(Matching, "d_a_obj_vgnfd", extra_cflags=[ '-pragma "nosyminline on"']),
|
||||
ActorRel(Matching, "d_a_obj_vmc", extra_cflags=["-sym off"]),
|
||||
ActorRel(Matching, "d_a_obj_vmsdz"),
|
||||
ActorRel(Matching, "d_a_obj_vmsms"),
|
||||
|
||||
@@ -14,7 +14,7 @@ class JUTNameTab;
|
||||
enum J3DMaterialCopyFlag {
|
||||
J3DMatCopyFlag_Material = 0x01,
|
||||
J3DMatCopyFlag_Texture = 0x02,
|
||||
J3DMatCopyFlag_All = 0x03,
|
||||
J3DMatCopyFlag_All = J3DMatCopyFlag_Material | J3DMatCopyFlag_Texture,
|
||||
};
|
||||
|
||||
enum {
|
||||
|
||||
@@ -14,8 +14,8 @@ public:
|
||||
inline bool _execute();
|
||||
f32 getYureScale() const { return mScale; }
|
||||
s16 getYureTimer() const { return mTimer; }
|
||||
void setMoveBGMtx(); // weak but not inlined?
|
||||
void set_mtx(); // weak but not inlined?
|
||||
inline void setMoveBGMtx(); // weak but not inlined
|
||||
inline void set_mtx(); // weak but not inlined
|
||||
|
||||
BOOL CreateHeap();
|
||||
void CreateInit();
|
||||
|
||||
@@ -10,7 +10,7 @@ public:
|
||||
inline bool _delete();
|
||||
inline bool _draw();
|
||||
inline bool _execute();
|
||||
inline void setEffectMtx(const cXyz*, float); // weak but not inlined?
|
||||
inline void setEffectMtx(const cXyz*, float); // weak but not inlined
|
||||
|
||||
void setPointLight();
|
||||
BOOL CreateHeap();
|
||||
|
||||
@@ -118,8 +118,7 @@ public:
|
||||
|
||||
class daObjHha_c : public fopAc_ac_c {
|
||||
public:
|
||||
|
||||
BOOL check_sw(); // weak but not inline?
|
||||
inline BOOL check_sw(); // weak but not inlined
|
||||
|
||||
static int solidHeapCB(fopAc_ac_c*);
|
||||
BOOL create_heap();
|
||||
|
||||
@@ -11,9 +11,9 @@ class dBgW;
|
||||
|
||||
class daObjVgnfd_c : public fopAc_ac_c {
|
||||
public:
|
||||
void check_boss(int) {}
|
||||
BOOL check_ev_init(int); // weak but not inlined?
|
||||
void on_door_ev(int) {}
|
||||
inline BOOL check_ev_init(int); // weak but not inlined
|
||||
inline void on_door_ev(int);
|
||||
inline BOOL check_boss(int);
|
||||
|
||||
static BOOL solidHeapCB(fopAc_ac_c*);
|
||||
BOOL create_bdl_brk(int);
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
class daObjVmsms_c : public fopAc_ac_c {
|
||||
public:
|
||||
bool check_demo() const; // weak but not inlined?
|
||||
inline bool check_demo() const; // weak but not inlined
|
||||
|
||||
static BOOL solidHeapCB(fopAc_ac_c*);
|
||||
BOOL create_heap();
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
class daToge_c : public fopAc_ac_c {
|
||||
public:
|
||||
inline void set_mtx(); // weak but not inlined?
|
||||
inline void set_mtx(); // weak but not inlined
|
||||
|
||||
BOOL _delete();
|
||||
BOOL CreateHeap();
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
|
||||
class daYgcwp_c : public fopAc_ac_c {
|
||||
public:
|
||||
BOOL check_ev() const; // weak but not inlined?
|
||||
void off_ev() const; // weak but not inlined?
|
||||
inline BOOL check_ev() const; // weak but not inlined
|
||||
inline void off_ev() const; // weak but not inlined
|
||||
|
||||
static BOOL solidHeapCB(fopAc_ac_c*);
|
||||
BOOL create_heap();
|
||||
|
||||
@@ -2051,15 +2051,15 @@ void daNpcRoten_c::eventOrder() {
|
||||
}
|
||||
}
|
||||
else if(field_0x9B7 == 3) {
|
||||
fopAcM_orderOtherEventId(this, field_0x99E, 0xFF, 0xFF7F, 0, 1);
|
||||
fopAcM_orderOtherEventId(this, field_0x99E, 0xFF, 0xFF7F);
|
||||
field_0x9B2 |= 0x4000;
|
||||
}
|
||||
else if(field_0x9B7 == 4) {
|
||||
fopAcM_orderOtherEventId(this, field_0x9A0, 0xFF, 0xFF7F, 0, 1);
|
||||
fopAcM_orderOtherEventId(this, field_0x9A0, 0xFF, 0xFF7F);
|
||||
field_0x9B2 |= 0x4000;
|
||||
}
|
||||
else if(field_0x9B7 == 5) {
|
||||
fopAcM_orderOtherEventId(this, field_0x9A2, 0xFF, 0xFF7F, 0, 1);
|
||||
fopAcM_orderOtherEventId(this, field_0x9A2, 0xFF, 0xFF7F);
|
||||
field_0x9B2 |= 0x4000;
|
||||
}
|
||||
else if(field_0x9B7 == 6) {
|
||||
|
||||
@@ -41,6 +41,7 @@ static dCcD_SrcCyl l_cyl_src = {
|
||||
/* Height */ 200.0f,
|
||||
}
|
||||
};
|
||||
|
||||
const struct {
|
||||
int bmt_vgsm[3];
|
||||
int bmt_vgsb[3];
|
||||
@@ -109,7 +110,7 @@ BOOL daObjDoguu_c::CreateHeap() {
|
||||
JUT_ASSERT(0x170, brk_doguu != NULL);
|
||||
|
||||
if (mBrk.init(modelData, brk_doguu, true, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false, 0) == 0) {
|
||||
return FALSE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
modelData = static_cast<J3DModelData*>(dComIfG_getObjectRes("Doguu", daObjDoguu_idx_table.bdl_vgsh[field_0x894]));
|
||||
@@ -142,7 +143,7 @@ BOOL daObjDoguu_c::CreateHeap() {
|
||||
field_0x6D4 = mDoExt_J3DModel__create(modelData, 0x80000,0x15220202);
|
||||
|
||||
if (field_0x6D4 == NULL) {
|
||||
return FALSE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
JUTNameTab* nameTable = field_0x6D4->getModelData()->getJointName();
|
||||
@@ -159,7 +160,7 @@ BOOL daObjDoguu_c::CreateHeap() {
|
||||
JUT_ASSERT(0x1AB, bck_body != NULL);
|
||||
|
||||
if (mBckBody.init(modelData, bck_body, true, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false) == 0) {
|
||||
return FALSE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
deform = new J3DSkinDeform();
|
||||
@@ -183,19 +184,18 @@ BOOL daObjDoguu_c::CreateHeap() {
|
||||
|
||||
if(mBckCrystal.init(modelData, bck_crystal, true, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false) == 0){
|
||||
return FALSE;
|
||||
} else{
|
||||
field_0x89C = 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
field_0x89C = 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 000007D0-00000B80 .text CreateInit__12daObjDoguu_cFv */
|
||||
void daObjDoguu_c::CreateInit() {
|
||||
|
||||
|
||||
cullMtx = field_0x6CC->getBaseTRMtx();
|
||||
fopAcM_SetMtx(this, field_0x6CC->getBaseTRMtx());
|
||||
fopAcM_setCullSizeBox(this, -600.0f, -0.0f, -600.0f, 600.0f, 400.0f, 600.0f);
|
||||
fopAcM_setCullSizeFar(this, 1.0f);
|
||||
|
||||
if (field_0x894 == 0){
|
||||
mItemNo = dItem_PEARL_DIN_e;
|
||||
} else if(field_0x894 == 1) {
|
||||
@@ -203,6 +203,7 @@ void daObjDoguu_c::CreateInit() {
|
||||
} else{
|
||||
mItemNo = dItem_PEARL_NAYRU_e;
|
||||
}
|
||||
|
||||
mStts.Init(0xff, 0xff, this);
|
||||
mCyl.Set(l_cyl_src);
|
||||
if(!checkItemGet(mItemNo, TRUE)){
|
||||
@@ -232,9 +233,9 @@ void daObjDoguu_c::CreateInit() {
|
||||
} else {
|
||||
field_0x8A1 = false;
|
||||
if (
|
||||
(field_0x894 == 0) && dComIfGs_isEventBit(0x1480) ||
|
||||
(field_0x894 == 1 && dComIfGs_isEventBit(0x1440) ||
|
||||
(field_0x894 == 2 && dComIfGs_isEventBit(0x1410)))
|
||||
(field_0x894 == 0 && dComIfGs_isEventBit(0x1480)) ||
|
||||
(field_0x894 == 1 && dComIfGs_isEventBit(0x1440)) ||
|
||||
(field_0x894 == 2 && dComIfGs_isEventBit(0x1410))
|
||||
) {
|
||||
field_0x8A2 = true;
|
||||
field_0x8A0 = true;
|
||||
@@ -245,6 +246,7 @@ void daObjDoguu_c::CreateInit() {
|
||||
field_0x8AC = 0;
|
||||
}
|
||||
}
|
||||
|
||||
eyePos.y += attr().mOffsetEyePos;
|
||||
set_mtx();
|
||||
|
||||
@@ -310,13 +312,11 @@ u16 daObjDoguu_c::next_msgStatus(u32* pMsgNo) {
|
||||
u32 daObjDoguu_c::getMsg() {
|
||||
if (mActIdx == 4) {
|
||||
return 3821;
|
||||
}
|
||||
if (field_0x894 == 0) {
|
||||
} else if (field_0x894 == 0) {
|
||||
return 3822;
|
||||
}
|
||||
if(field_0x894 == 1){
|
||||
} else if (field_0x894 == 1){
|
||||
return 3823;
|
||||
} else{
|
||||
} else {
|
||||
return 3824;
|
||||
}
|
||||
}
|
||||
@@ -343,10 +343,8 @@ void daObjDoguu_c::setPlayerAngle(int i_staffIdx) {
|
||||
|
||||
/* 00000F18-00000FB8 .text setQuake__12daObjDoguu_cFi */
|
||||
void daObjDoguu_c::setQuake(int i_staffIdx) {
|
||||
// u8 temp[4] = {0x00, 0x10, 0xFF, 0xEE}; // Doesn't match
|
||||
u32 temp2 = 0x0010FFEE;
|
||||
u8* temp = (u8*)&temp2;
|
||||
dComIfGp_getVibration().StartQuake(temp, 0, 63, cXyz(0.0f, 1.0f, 0.0f));
|
||||
u32 pattern = 0x0010FFEE;
|
||||
dComIfGp_getVibration().StartQuake((u8*)&pattern, 0, 63, cXyz(0.0f, 1.0f, 0.0f));
|
||||
mTimer = *dComIfGp_evmng_getMyIntegerP(i_staffIdx, "Timer");
|
||||
|
||||
}
|
||||
@@ -432,14 +430,14 @@ void daObjDoguu_c::privateCut() {
|
||||
case 6:
|
||||
mTimer--;
|
||||
if (mTimer == 0) {
|
||||
doCutEnd = true;
|
||||
dComIfGp_getVibration().StopQuake(63);
|
||||
doCutEnd = true;
|
||||
dComIfGp_getVibration().StopQuake(63);
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
doCutEnd = true;
|
||||
break;
|
||||
case 8:
|
||||
case 8: {
|
||||
int iVar2 = field_0x8C4;
|
||||
if(iVar2 >= 200){
|
||||
mAllColRatio = 1.0f;
|
||||
@@ -456,12 +454,10 @@ void daObjDoguu_c::privateCut() {
|
||||
mAllColRatio = 0.375f - (iVar2 + -40) * 0.00625f;
|
||||
} else if ((iVar2 >= 130) && (iVar2 < 150)) {
|
||||
mAllColRatio = (iVar2 + -130) * 0.00625f + 0.25f;
|
||||
} else {
|
||||
if((field_0x8C4 >= 150) && (field_0x8C4 < 170)){
|
||||
mAllColRatio = (iVar2 + -150) * 0.0125f + 0.375f;
|
||||
} else if((iVar2 >= 170) && (iVar2 <= 190)){
|
||||
mAllColRatio = (iVar2 + -170) * 0.01875f + 0.625f;
|
||||
}
|
||||
} else if((field_0x8C4 >= 150) && (field_0x8C4 < 170)){
|
||||
mAllColRatio = (iVar2 + -150) * 0.0125f + 0.375f;
|
||||
} else if((iVar2 >= 170) && (iVar2 <= 190)){
|
||||
mAllColRatio = (iVar2 + -170) * 0.01875f + 0.625f;
|
||||
}
|
||||
|
||||
if (field_0x8C4 == 40) {
|
||||
@@ -482,6 +478,7 @@ void daObjDoguu_c::privateCut() {
|
||||
field_0x8A3 = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
doCutEnd = true;
|
||||
break;
|
||||
@@ -513,12 +510,11 @@ int daObjDoguu_c::getFinishEventCount() {
|
||||
void daObjDoguu_c::setFinishMyEvent() {
|
||||
if (field_0x894 == 0) {
|
||||
dComIfGs_onEventBit(0x1480);
|
||||
} else if (field_0x894 == 1) {
|
||||
} else if (field_0x894 == 1) {
|
||||
dComIfGs_onEventBit(0x1440);
|
||||
} else {
|
||||
} else {
|
||||
dComIfGs_onEventBit(0x1410);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/* 000016A4-000016C4 .text daObjDoguu_Create__FPv */
|
||||
@@ -526,8 +522,6 @@ static cPhs_State daObjDoguu_Create(void* i_this) {
|
||||
return static_cast<daObjDoguu_c*>(i_this)->_create();
|
||||
}
|
||||
|
||||
daObjDoguu_c::daObjDoguu_c() {}
|
||||
|
||||
/* 000016C4-0000178C .text _create__12daObjDoguu_cFv */
|
||||
cPhs_State daObjDoguu_c::_create() {
|
||||
fopAcM_SetupActor(this, daObjDoguu_c);
|
||||
@@ -540,20 +534,20 @@ cPhs_State daObjDoguu_c::_create() {
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
if(!fopAcM_entrySolidHeap(this, CheckCreateHeap, 0)){
|
||||
return cPhs_ERROR_e;
|
||||
} else{
|
||||
CreateInit();
|
||||
}
|
||||
}
|
||||
CreateInit();
|
||||
}
|
||||
return phase_state;
|
||||
}
|
||||
|
||||
daObjDoguu_c::daObjDoguu_c() {}
|
||||
|
||||
bool daObjDoguu_c::_delete(){
|
||||
dKy_plight_cut(&mLightInfluence);
|
||||
dComIfG_resDelete(&mPhs,"Doguu");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/* 00001CC8-00001D0C .text daObjDoguu_Delete__FPv */
|
||||
static BOOL daObjDoguu_Delete(void* i_this) {
|
||||
return static_cast<daObjDoguu_c*>(i_this)->_delete();
|
||||
@@ -620,28 +614,31 @@ void daObjDoguu_c::setEffectMtx(const cXyz* i_pos, float i_scale) {
|
||||
Mtx reflMtx;
|
||||
C_MTXLookAt(reflMtx, &cXyz::Zero, &cXyz::BaseY, &refl);
|
||||
mDoMtx_stack_c::scaleS(scale, scale, 1.0f);
|
||||
MTXConcat(mDoMtx_stack_c::now, mtx_adj, mDoMtx_stack_c::now);
|
||||
MTXConcat(mDoMtx_stack_c::now, reflMtx, mDoMtx_stack_c::now);
|
||||
mDoMtx_stack_c::now[0][3] = 0.0f;
|
||||
mDoMtx_stack_c::now[1][3] = 0.0f;
|
||||
mDoMtx_stack_c::now[2][3] = 0.0f;
|
||||
mDoMtx_stack_c::concat(mtx_adj);
|
||||
mDoMtx_stack_c::concat(reflMtx);
|
||||
MtxP mtx = mDoMtx_stack_c::get();
|
||||
mtx[0][3] = 0.0f;
|
||||
mtx[1][3] = 0.0f;
|
||||
mtx[2][3] = 0.0f;
|
||||
|
||||
J3DModelData *modelData = field_0x6D0->getModelData();
|
||||
for (u16 i = 0; i < modelData->getMaterialNum(); i++) {
|
||||
J3DMaterial* mat = modelData->getMaterialNodePointer(i);
|
||||
for (u32 j = 0; j < 8; j++) {
|
||||
J3DTexMtx* texMtx = mat->getTexMtx(j);
|
||||
if (texMtx != NULL && texMtx->getTexMtxInfo().mInfo == 10) {
|
||||
texMtx->getTexMtxInfo().setEffectMtx(mDoMtx_stack_c::now);
|
||||
texMtx->getTexMtxInfo().setEffectMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
modelData = field_0x6D4->getModelData();
|
||||
for (u16 i = 0; i < modelData->getMaterialNum(); i++) {
|
||||
J3DMaterial* mat = modelData->getMaterialNodePointer(i);
|
||||
for (u32 j = 0; j < 8; j++) {
|
||||
J3DTexMtx* texMtx = mat->getTexMtx(j);
|
||||
if (texMtx != NULL && texMtx->getTexMtxInfo().mInfo == 10) {
|
||||
texMtx->getTexMtxInfo().setEffectMtx(mDoMtx_stack_c::now);
|
||||
texMtx->getTexMtxInfo().setEffectMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -665,17 +662,17 @@ bool daObjDoguu_c::_execute() {
|
||||
|
||||
mCyl.SetC(current.pos);
|
||||
dComIfG_Ccsp()->Set(&mCyl);
|
||||
|
||||
if (mAllColRatio != 1.0f) {
|
||||
dKy_set_allcol_ratio(mAllColRatio);
|
||||
}
|
||||
|
||||
switch(field_0x8AC) {
|
||||
case 0:
|
||||
fopAc_ac_c *ac;
|
||||
if (checkItemGet(mItemNo, TRUE) && mCyl.ChkCoHit()) {
|
||||
cCcD_Obj* hitObj = mCyl.GetCoHitObj();
|
||||
if (hitObj != NULL) {
|
||||
ac = hitObj->GetAc();
|
||||
fopAc_ac_c *ac = hitObj->GetAc();
|
||||
if ((ac != NULL) && (fopAcM_GetName(ac) == PROC_PLAYER)) {
|
||||
mCyl.SetR(50.0f);
|
||||
fopAcM_orderOtherEventId(this, mDoguuDemo1EventIdx);
|
||||
|
||||
@@ -984,7 +984,7 @@ BOOL daObjFigure_c::createHeap() {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(mpMorf->getModel()->setSkinDeform(pDeform, 1) != 0) {
|
||||
if(mpMorf->getModel()->setSkinDeform(pDeform, 1) != J3DErrType_Success) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,8 +48,8 @@ void daObjIceisland_c::daObjIceisland_particle_set() {
|
||||
|
||||
/* 00000410-00000588 .text CreateInit__16daObjIceisland_cFv */
|
||||
void daObjIceisland_c::CreateInit() {
|
||||
cullMtx = mpModel->getBaseTRMtx();
|
||||
cullSizeFar = 1.0f;
|
||||
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
|
||||
fopAcM_setCullSizeFar(this, 1.0f);
|
||||
set_mtx();
|
||||
dKy_tevstr_init(&mTevStr, fopAcM_GetHomeRoomNo(this), 0xFF);
|
||||
g_env_light.settingTevStruct(TEV_TYPE_BG0, ¤t.pos, &mTevStr);
|
||||
@@ -85,7 +85,7 @@ void daObjIceisland_c::set_mtx() {
|
||||
void daObjIceisland_c::daObjIceisland_freeze_main() {
|
||||
u8 switchNo = daObjIceisland_prm::getSwitchNo(this);
|
||||
if(fopAcM_isSwitch(this, switchNo)){
|
||||
fopAcM_orderOtherEventId(this, mMeltIceEventIdx, 0xffff);
|
||||
fopAcM_orderOtherEventId(this, mMeltIceEventIdx);
|
||||
field_0x39C = 1;
|
||||
}
|
||||
}
|
||||
@@ -107,7 +107,7 @@ void daObjIceisland_c::daObjIceisland_melt_demo_wait() {
|
||||
mBrkAnm.setPlaySpeed(1.0f);
|
||||
field_0x39C = 2;
|
||||
} else {
|
||||
fopAcM_orderOtherEventId(this,mMeltIceEventIdx,0xffff);
|
||||
fopAcM_orderOtherEventId(this, mMeltIceEventIdx);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@ void daObjIceisland_c::daObjIceisland_melt_demo() {
|
||||
void daObjIceisland_c::daObjIceisland_melt_main() {
|
||||
u8 switchNo = daObjIceisland_prm::getSwitchNo(this);
|
||||
if(!fopAcM_isSwitch(this, switchNo)){
|
||||
fopAcM_orderOtherEventId(this,mFreezeIceEventIdx,0xffff);
|
||||
fopAcM_orderOtherEventId(this, mFreezeIceEventIdx);
|
||||
field_0x39C = 4;
|
||||
}
|
||||
}
|
||||
@@ -137,7 +137,7 @@ void daObjIceisland_c::daObjIceisland_freeze_demo_wait() {
|
||||
field_0x39C = 5;
|
||||
}
|
||||
else {
|
||||
fopAcM_orderOtherEventId(this, mFreezeIceEventIdx, 0xffff);
|
||||
fopAcM_orderOtherEventId(this, mFreezeIceEventIdx);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -36,8 +36,7 @@ BOOL daObjSmplbg::Act_c::CreateHeap() {
|
||||
|
||||
/* 00000144-0000032C .text Create__Q211daObjSmplbg5Act_cFv */
|
||||
BOOL daObjSmplbg::Act_c::Create() {
|
||||
cullMtx = mpModel->getBaseTRMtx();
|
||||
fopAcM_SetMtx(this, cullMtx);
|
||||
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
|
||||
init_mtx();
|
||||
eyePos.y += attr().mEyeOffset;
|
||||
|
||||
|
||||
@@ -75,21 +75,19 @@ enum {
|
||||
|
||||
/* 00000078-00000098 .text solidHeapCB__12daObjVgnfd_cFP10fopAc_ac_c */
|
||||
BOOL daObjVgnfd_c::solidHeapCB(fopAc_ac_c* i_ac) {
|
||||
/* Nonmatching */
|
||||
return ((daObjVgnfd_c*)i_ac)->create_heap();
|
||||
}
|
||||
|
||||
/* 00000098-0000022C .text create_bdl_brk__12daObjVgnfd_cFi */
|
||||
BOOL daObjVgnfd_c::create_bdl_brk(int i) {
|
||||
/* Nonmatching */
|
||||
BOOL ret = FALSE;
|
||||
J3DModelData* mdl_data = (J3DModelData*)dComIfG_getObjectRes(M_arcname, M_door_bdl_table[i]);
|
||||
J3DModelData* mdl_data = static_cast<J3DModelData*>(dComIfG_getObjectRes(M_arcname, M_bdl_table[i]));
|
||||
JUT_ASSERT(0xfe, mdl_data != NULL);
|
||||
if (mdl_data != NULL) {
|
||||
mModel[i] = mDoExt_J3DModel__create(mdl_data, 0, 0x11020203);
|
||||
if (mModel[i] != NULL) {
|
||||
if (M_brk_table[i] != -1) {
|
||||
J3DAnmTevRegKey* brk_p = (J3DAnmTevRegKey*)dComIfG_getObjectRes(M_arcname, M_brk_table[i]);
|
||||
J3DAnmTevRegKey* brk_p = static_cast<J3DAnmTevRegKey*>(dComIfG_getObjectRes(M_arcname, M_brk_table[i]));
|
||||
JUT_ASSERT(0x105, brk_p != NULL);
|
||||
if (brk_p != NULL) {
|
||||
if (mBrkAnm[i].init(mdl_data, brk_p, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false, FALSE))
|
||||
@@ -105,9 +103,9 @@ BOOL daObjVgnfd_c::create_bdl_brk(int i) {
|
||||
|
||||
/* 0000022C-000004A4 .text create_heap__12daObjVgnfd_cFv */
|
||||
BOOL daObjVgnfd_c::create_heap() {
|
||||
/* Nonmatching */
|
||||
BOOL ret = TRUE;
|
||||
for (s32 i = 0; i < (s32)ARRAY_SIZE(mModel); i++) {
|
||||
s32 i;
|
||||
for (i = 0; i < (s32)ARRAY_SIZE(mModel); i++) {
|
||||
if (!create_bdl_brk(i)) {
|
||||
ret = FALSE;
|
||||
break;
|
||||
@@ -115,8 +113,8 @@ BOOL daObjVgnfd_c::create_heap() {
|
||||
}
|
||||
|
||||
if (ret) {
|
||||
for (s32 i = 0; i < (s32)ARRAY_SIZE(mModel2); i++) {
|
||||
J3DModelData* mdl_data = (J3DModelData*)dComIfG_getObjectRes(M_arcname, M_door_bdl_table[i]);
|
||||
for (i = 0; i < (s32)ARRAY_SIZE(mModel2); i++) {
|
||||
J3DModelData* mdl_data = static_cast<J3DModelData*>(dComIfG_getObjectRes(M_arcname, M_door_bdl_table[i]));
|
||||
JUT_ASSERT(0x133, mdl_data != NULL);
|
||||
|
||||
if (mdl_data != NULL) {
|
||||
@@ -133,7 +131,7 @@ BOOL daObjVgnfd_c::create_heap() {
|
||||
}
|
||||
|
||||
if (ret) {
|
||||
J3DAnmTextureSRTKey* btk_data = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(M_arcname, VGNFD_BTK_YGCBD00);
|
||||
J3DAnmTextureSRTKey* btk_data = static_cast<J3DAnmTextureSRTKey*>(dComIfG_getObjectRes(M_arcname, VGNFD_BTK_YGCBD00));
|
||||
JUT_ASSERT(0x144, btk_data != NULL);
|
||||
|
||||
if (btk_data == NULL || !mBtkAnm.init(mModel2[1]->getModelData(), btk_data, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false, FALSE)) {
|
||||
@@ -219,12 +217,20 @@ BOOL daObjVgnfd_c::check_ev_init(int i) {
|
||||
return dComIfGs_isEventBit(M_door_ev_table[i]);
|
||||
}
|
||||
|
||||
void daObjVgnfd_c::on_door_ev(int i) {
|
||||
dComIfGs_onEventBit(M_door_ev_table[i]);
|
||||
}
|
||||
|
||||
BOOL daObjVgnfd_c::check_boss(int i) {
|
||||
return dComIfGs_isEventBit(M_boss_ev_table[i]);
|
||||
}
|
||||
|
||||
/* 00000914-000009AC .text get_start_demo_idx__12daObjVgnfd_cFv */
|
||||
s32 daObjVgnfd_c::get_start_demo_idx() {
|
||||
s32 ret = -1;
|
||||
|
||||
for (s32 i = 0; i < (s32)ARRAY_SIZE(M_door_ev_table); i++) {
|
||||
if (!dComIfGs_isEventBit(M_door_ev_table[i]) && dComIfGs_isEventBit(M_boss_ev_table[i])) {
|
||||
if (!check_ev_init(i) && check_boss(i)) {
|
||||
ret = i;
|
||||
break;
|
||||
}
|
||||
@@ -235,11 +241,11 @@ s32 daObjVgnfd_c::get_start_demo_idx() {
|
||||
|
||||
/* 000009AC-00000A28 .text check_fin__12daObjVgnfd_cFv */
|
||||
BOOL daObjVgnfd_c::check_fin() {
|
||||
/* Nonmatching */
|
||||
s32 i;
|
||||
BOOL ret = TRUE;
|
||||
|
||||
for (s32 i = 0; i < (s32)ARRAY_SIZE(M_door_ev_table); i++) {
|
||||
if (!dComIfGs_isEventBit(M_door_ev_table[i])) {
|
||||
for (i = 0; i < (s32)ARRAY_SIZE(M_door_ev_table); i++) {
|
||||
if (!check_ev_init(i)) {
|
||||
ret = FALSE;
|
||||
break;
|
||||
}
|
||||
@@ -274,7 +280,6 @@ void daObjVgnfd_c::set_timer() {
|
||||
|
||||
/* 00000BA0-00001298 .text _execute__12daObjVgnfd_cFv */
|
||||
bool daObjVgnfd_c::_execute() {
|
||||
/* Nonmatching */
|
||||
BOOL done = FALSE;
|
||||
|
||||
switch (mState) {
|
||||
@@ -308,7 +313,7 @@ bool daObjVgnfd_c::_execute() {
|
||||
if (dComIfGp_evmng_getIsAddvance(mStaffId)) {
|
||||
switch (actIdx) {
|
||||
case ACT_WAIT0:
|
||||
dComIfGs_onEventBit(M_door_ev_table[M_demo_idx]);
|
||||
on_door_ev(M_demo_idx);
|
||||
set_timer();
|
||||
break;
|
||||
case ACT_WAIT1:
|
||||
@@ -400,9 +405,9 @@ bool daObjVgnfd_c::_execute() {
|
||||
mTimer--;
|
||||
|
||||
switch (actIdx) {
|
||||
case ACT_WAIT0:
|
||||
case ACT_BURST:
|
||||
break;
|
||||
case ACT_WAIT0:
|
||||
case ACT_GANNON:
|
||||
case ACT_VIB0:
|
||||
case ACT_VIB1:
|
||||
|
||||
@@ -88,10 +88,8 @@ void daPy_py_c::setDoButtonQuake() {
|
||||
onNoResetFlg0(daPyFlg0_UNK200000);
|
||||
mQuakeTimer = 60;
|
||||
|
||||
// u8 temp[4] = {0x00, 0x10, 0xFF, 0xEE}; // Doesn't match
|
||||
u32 temp2 = 0x0010FFEE;
|
||||
u8* temp = (u8*)&temp2;
|
||||
dComIfGp_getVibration().StartQuake(temp, 0, 1, cXyz(0.0f, 1.0f, 0.0f));
|
||||
u32 pattern = 0x0010FFEE;
|
||||
dComIfGp_getVibration().StartQuake((u8*)&pattern, 0, 1, cXyz(0.0f, 1.0f, 0.0f));
|
||||
}
|
||||
|
||||
/* 80102D90-80102E18 .text stopDoButtonQuake__9daPy_py_cFi */
|
||||
|
||||
@@ -4358,7 +4358,7 @@ BOOL daShip_c::createHeap() {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (pModel->setSkinDeform(mSkinDeform, 1)) {
|
||||
if (pModel->setSkinDeform(mSkinDeform, 1) != J3DErrType_Success) {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -230,7 +230,7 @@ BOOL daTag_Event_c::actionReady() {
|
||||
} else if (swbit != 0xFF && dComIfGs_isSwitch(swbit, fopAcM_GetRoomNo(this))) {
|
||||
setActio(ACTION_WAIT);
|
||||
} else {
|
||||
fopAcM_orderOtherEventId(this, mEventIdx, getEventNo(), 0xFFFF, 0, 1);
|
||||
fopAcM_orderOtherEventId(this, mEventIdx, getEventNo());
|
||||
if (cancelShutter()) {
|
||||
dComIfGp_event_onEventFlag(1);
|
||||
}
|
||||
@@ -253,7 +253,7 @@ BOOL daTag_Event_c::actionHunt() {
|
||||
setActio(ACTION_WAIT);
|
||||
} else if (sp20.abs2XZ() < (scale.x*scale.x) * (100.0f*100.0f) && sp20.y <= scale.y * 100.0f) {
|
||||
setActio(ACTION_READY);
|
||||
fopAcM_orderOtherEventId(this, mEventIdx, getEventNo(), 0xFFFF, 0, 1);
|
||||
fopAcM_orderOtherEventId(this, mEventIdx, getEventNo());
|
||||
if (cancelShutter()) {
|
||||
dComIfGp_event_onEventFlag(1);
|
||||
}
|
||||
@@ -335,7 +335,7 @@ BOOL daTag_Event_c::actionSpeReady() {
|
||||
actionSpeEvent();
|
||||
dComIfGs_onEventBit(0x2740);
|
||||
} else {
|
||||
fopAcM_orderOtherEventId(this, mEventIdx, 0xFF, 0xFFFF, 0, 1);
|
||||
fopAcM_orderOtherEventId(this, mEventIdx);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@@ -349,7 +349,7 @@ BOOL daTag_Event_c::actionSpeHunt() {
|
||||
}
|
||||
if (sp20.abs2XZ() < (scale.x*scale.x) * (100.0f*100.0f) && sp20.y <= scale.y * 100.0f) {
|
||||
setActio(ACTION_SPE_READY);
|
||||
fopAcM_orderOtherEventId(this, mEventIdx, 0xFF, 0xFFFF, 0, 1);
|
||||
fopAcM_orderOtherEventId(this, mEventIdx);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@@ -398,7 +398,7 @@ BOOL daTag_Event_c::actionMjReady() {
|
||||
} else {
|
||||
mEventIdx = dComIfGp_evmng_getEventIdx("BEAST_GATE2", getEventNo());
|
||||
}
|
||||
fopAcM_orderOtherEventId(this, mEventIdx, getEventNo(), 0xFFFF, 0, 1);
|
||||
fopAcM_orderOtherEventId(this, mEventIdx, getEventNo());
|
||||
if (cancelShutter()) {
|
||||
dComIfGp_event_onEventFlag(1);
|
||||
}
|
||||
@@ -425,7 +425,7 @@ BOOL daTag_Event_c::actionMjHunt() {
|
||||
mEventIdx = dComIfGp_evmng_getEventIdx("BEAST_GATE2", getEventNo());
|
||||
}
|
||||
setActio(ACTION_MJ_READY);
|
||||
fopAcM_orderOtherEventId(this, mEventIdx, getEventNo(), 0xFFFF, 0, 1);
|
||||
fopAcM_orderOtherEventId(this, mEventIdx, getEventNo());
|
||||
if (cancelShutter()) {
|
||||
dComIfGp_event_onEventFlag(1);
|
||||
}
|
||||
@@ -446,7 +446,7 @@ BOOL daTag_Event_c::actionHunt2() {
|
||||
m294--;
|
||||
} else {
|
||||
setActio(ACTION_READY);
|
||||
fopAcM_orderOtherEventId(this, mEventIdx, getEventNo(), 0xFFFF, 0, 1);
|
||||
fopAcM_orderOtherEventId(this, mEventIdx, getEventNo());
|
||||
}
|
||||
} else {
|
||||
m294 = 65;
|
||||
|
||||
@@ -168,7 +168,6 @@ void daToge_c::set_mtx() {
|
||||
mpModel->setBaseScale(scale);
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_stack_c::YrotM(current.angle.y);
|
||||
|
||||
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
mDoMtx_copy(mDoMtx_stack_c::get(), mtx1);
|
||||
}
|
||||
@@ -201,11 +200,7 @@ BOOL daToge_c::_execute() {
|
||||
|
||||
toge_move();
|
||||
|
||||
mpModel->setBaseScale(scale);
|
||||
mDoMtx_stack_c::transS(current.pos);
|
||||
mDoMtx_stack_c::YrotM(current.angle.y);
|
||||
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
mDoMtx_copy(mDoMtx_stack_c::get(), mtx1);
|
||||
set_mtx();
|
||||
|
||||
mpBgW2->Move();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user