mirror of
https://github.com/zeldaret/tww.git
synced 2026-09-06 02:38:11 -04:00
demo work (#1172)
* Some d_message demo matches * More demo matches * fix jpn
This commit is contained in:
+38
-15
@@ -211,7 +211,7 @@ BOOL daBg_c::createHeap() {
|
||||
if (bgw->Set(dzb, cBgW::GLOBAL_e, NULL))
|
||||
return FALSE;
|
||||
dStage_roomControl_c::setBgW(roomNo, bgw);
|
||||
bgw->mWallCorrectPriority = 0;
|
||||
bgw->SetPriority((cBgW::PRIORITY)0);
|
||||
} else {
|
||||
bgw = NULL;
|
||||
}
|
||||
@@ -226,9 +226,7 @@ static void escapeRestart() {
|
||||
daPy_lk_c* player_p = daPy_getPlayerLinkActorClass();
|
||||
dComIfGs_setTurnRestart(player_p->current.pos, player_p->shape_angle.y, fopAcM_GetRoomNo(player_p), player_p->getDayNightParamData());
|
||||
|
||||
if (dComIfG_getTimerMode() == 3) {
|
||||
dComIfG_TimerDeleteRequest();
|
||||
}
|
||||
dComIfG_TimerDeleteRequest(3);
|
||||
|
||||
dComIfGp_setNextStage(dComIfGp_getStartStageName(), -3, dComIfGs_getTurnRestartRoomNo(), -1, 0.0f, 0, FALSE, 9);
|
||||
}
|
||||
@@ -313,6 +311,17 @@ BOOL daBg_c::execute() {
|
||||
mUnloadTimer = 1;
|
||||
#endif
|
||||
} else {
|
||||
#if VERSION == VERSION_DEMO
|
||||
if (!mDoGph_gInf_c::isMonotone()) {
|
||||
BgModel * bgm = &bg[0];
|
||||
for (s32 i = 0; i < 4; i++, bgm++) {
|
||||
if (bgm->btk != NULL)
|
||||
bgm->btk->play();
|
||||
if (bgm->brk != NULL)
|
||||
bgm->brk->play();
|
||||
}
|
||||
}
|
||||
#else
|
||||
BgModel * bgm = &bg[0];
|
||||
for (s32 i = 0; i < 4; i++, bgm++) {
|
||||
if (!mDoGph_gInf_c::isMonotone() || i == 2) {
|
||||
@@ -322,6 +331,7 @@ BOOL daBg_c::execute() {
|
||||
bgm->brk->play();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
@@ -359,25 +369,28 @@ static cPhs_State daBg_Create(fopAc_ac_c* i_ac) {
|
||||
cPhs_State daBg_c::create() {
|
||||
fopAcM_ct(this, daBg_c);
|
||||
|
||||
s32 roomNo = fopAcM_GetParam(this);
|
||||
int roomNo = fopAcM_GetParam(this);
|
||||
JKRExpHeap * roomHeap = dStage_roomControl_c::getMemoryBlock(roomNo);
|
||||
if (roomHeap != NULL) {
|
||||
heap = JKRSolidHeap::create(-1, roomHeap, false);
|
||||
JUT_ASSERT(0x2fd, heap != NULL);
|
||||
JUT_ASSERT(DEMO_SELECT(796, 765), heap != NULL);
|
||||
JKRHeap * oldHeap = mDoExt_setCurrentHeap(heap);
|
||||
BOOL rt = createHeap();
|
||||
JUT_ASSERT(0x302, rt == TRUE);
|
||||
JUT_ASSERT(DEMO_SELECT(801, 770), rt == TRUE);
|
||||
mDoExt_setCurrentHeap(oldHeap);
|
||||
heap->adjustSize();
|
||||
} else {
|
||||
if (!fopAcM_entrySolidHeap(this, checkCreateHeap, 0)) {
|
||||
#if VERSION == VERSION_DEMO
|
||||
if (REG1_S(0) != 0 || !fopAcM_entrySolidHeap(this, checkCreateHeap, 0)) {
|
||||
escapeRestart();
|
||||
#else
|
||||
dStage_escapeRestart();
|
||||
#endif
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
#else
|
||||
if (!fopAcM_entrySolidHeap(this, checkCreateHeap, 0)) {
|
||||
dStage_escapeRestart();
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
BgModel * bgm = &bg[0];
|
||||
@@ -406,17 +419,27 @@ cPhs_State daBg_c::create() {
|
||||
}
|
||||
}
|
||||
|
||||
if (bgw != NULL && dComIfG_Bgsp()->Regist(bgw, this)) {
|
||||
#if VERSION == VERSION_DEMO
|
||||
if (bgw != NULL && (REG1_S(0) != 0 || dComIfG_Bgsp()->Regist(bgw, this))) {
|
||||
escapeRestart();
|
||||
#else
|
||||
dStage_escapeRestart();
|
||||
#endif
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
#else
|
||||
if (bgw != NULL && dComIfG_Bgsp()->Regist(bgw, this)) {
|
||||
dStage_escapeRestart();
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if VERSION == VERSION_DEMO
|
||||
dComIfGp_roomControl_getTevStr(roomNo)->mEnvrIdxOverride = 0xFF;
|
||||
dComIfGp_roomControl_getTevStr(roomNo)->mRoomNo = roomNo;
|
||||
#else
|
||||
dKy_tevstr_init(dComIfGp_roomControl_getTevStr(roomNo), roomNo, 0xFF);
|
||||
#endif
|
||||
|
||||
dComIfGp_roomControl_onStatusFlag(roomNo, 0x10);
|
||||
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
|
||||
|
||||
@@ -463,7 +463,7 @@ void mDoExt_J3DModelPacketS::draw() {
|
||||
while (mesh != NULL) {
|
||||
if (!mesh->getShape()->checkFlag(J3DShpFlag_Hide)) {
|
||||
matPacket = mpModel->getMatPacket(mesh->getIndex());
|
||||
j3dSys.setTexture(matPacket->mpTexture);
|
||||
j3dSys.setTexture(matPacket->getTexture());
|
||||
j3dSys.setMatPacket(matPacket);
|
||||
mesh->load();
|
||||
setMaterial();
|
||||
|
||||
+30
-24
@@ -99,12 +99,18 @@ void daDai_c::CreateInit() {
|
||||
m850 = fpcM_ERROR_PROCESS_ID_e;
|
||||
|
||||
if (dComIfGs_getEventReg(m_savelabel[mSaveID])) {
|
||||
void* dai_item = fopAcM_fastCreate(
|
||||
fpcNm_STANDITEM_e,
|
||||
dComIfGs_getEventReg(m_savelabel[mSaveID]),
|
||||
¤t.pos,
|
||||
#if VERSION <= VERSION_JPN
|
||||
void* pfVar3 = fopAcM_fastCreate(fpcNm_STANDITEM_e, dComIfGs_getEventReg(m_savelabel[mSaveID]), ¤t.pos, -1, ¤t.angle);
|
||||
-1,
|
||||
#else
|
||||
void* pfVar3 = fopAcM_fastCreate(fpcNm_STANDITEM_e, dComIfGs_getEventReg(m_savelabel[mSaveID]), ¤t.pos, fopAcM_GetRoomNo(this), ¤t.angle);
|
||||
fopAcM_GetRoomNo(this),
|
||||
#endif
|
||||
m850 = fopAcM_GetID(pfVar3);
|
||||
¤t.angle
|
||||
);
|
||||
m850 = fopAcM_GetID(dai_item);
|
||||
incNowItemNum();
|
||||
}
|
||||
incNowDaizaNum();
|
||||
@@ -181,16 +187,16 @@ void daDai_c::checkOrder() {
|
||||
|
||||
if (dComIfGp_evmng_startCheck(mEvtDaiItemIdx) && player->getGrabActorID() != fpcM_ERROR_PROCESS_ID_e) {
|
||||
m850 = player->getGrabActorID();
|
||||
daStandItem_c* pfVar2 = (daStandItem_c*)fopAcM_SearchByID(m850);
|
||||
if (pfVar2 != NULL) {
|
||||
m84B = pfVar2->mItemNo;
|
||||
daStandItem_c* dai_item = (daStandItem_c*)fopAcM_SearchByID(m850);
|
||||
if (dai_item != NULL) {
|
||||
m84B = dai_item->mItemNo;
|
||||
}
|
||||
}
|
||||
|
||||
if (dComIfGp_evmng_endCheck(mEvtDaiItemIdx)) {
|
||||
fopAc_ac_c* pfVar3 = fopAcM_SearchByID(m850);
|
||||
if (pfVar3 != NULL) {
|
||||
pfVar3->current.pos = current.pos;
|
||||
fopAc_ac_c* dai_item = fopAcM_SearchByID(m850);
|
||||
if (dai_item != NULL) {
|
||||
dai_item->current.pos = current.pos;
|
||||
}
|
||||
dComIfGs_setEventReg(m_savelabel[mSaveID], m84B);
|
||||
dComIfGs_setReserveItemEmpty();
|
||||
@@ -279,15 +285,15 @@ bool daDai_c::_draw() {
|
||||
|
||||
/* 00000E48-00000EDC .text getMsg__7daDai_cFv */
|
||||
u32 daDai_c::getMsg() {
|
||||
u32 uVar2;
|
||||
u32 msgNo;
|
||||
if (dComIfGp_event_chkTalkXY()) {
|
||||
uVar2 = 0xf13;
|
||||
msgNo = 0xF13;
|
||||
} else if (dComIfGs_getEventReg(m_savelabel[mSaveID])) {
|
||||
uVar2 = 0xf0d;
|
||||
msgNo = 0xF0D;
|
||||
} else {
|
||||
uVar2 = 0xf11;
|
||||
msgNo = 0xF11;
|
||||
}
|
||||
return uVar2;
|
||||
return msgNo;
|
||||
}
|
||||
|
||||
/* 00000EDC-0000109C .text next_msgStatus__7daDai_cFPUl */
|
||||
@@ -295,20 +301,20 @@ u16 daDai_c::next_msgStatus(u32* pMsgNo) {
|
||||
u16 msgStatus = fopMsgStts_MSG_CONTINUES_e;
|
||||
|
||||
switch (*pMsgNo) {
|
||||
case 0xF11:
|
||||
*pMsgNo = 0xf12;
|
||||
case 0xF11: // Check when empty
|
||||
*pMsgNo = 0xF12;
|
||||
break;
|
||||
|
||||
case 0xF0D:
|
||||
case 0xF0D: // Check when item is placed, ask to remove
|
||||
switch (mpCurrMsg->mSelectNum) {
|
||||
case 0:
|
||||
case 0: // Yes
|
||||
if (dComIfGs_checkReserveItemEmpty() && getRotenItemNumInBag() < 3) {
|
||||
fopAcM_seStart(this, JA_SE_LK_W_DAIZA_TAKEOFF, 0);
|
||||
*pMsgNo = 0xf0f;
|
||||
*pMsgNo = 0xF0F;
|
||||
|
||||
fopAc_ac_c* pfVar4 = fopAcM_SearchByID(m850);
|
||||
if (pfVar4 != NULL) {
|
||||
fopAcM_delete(pfVar4);
|
||||
fopAc_ac_c* dai_item = fopAcM_SearchByID(m850);
|
||||
if (dai_item != NULL) {
|
||||
fopAcM_delete(dai_item);
|
||||
}
|
||||
|
||||
u8 uVar5 = dComIfGs_getEventReg(m_savelabel[mSaveID]);
|
||||
@@ -317,11 +323,11 @@ u16 daDai_c::next_msgStatus(u32* pMsgNo) {
|
||||
decNowItemNum();
|
||||
m84A = 0;
|
||||
} else {
|
||||
*pMsgNo = 0xf0e;
|
||||
*pMsgNo = 0xF0E;
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
case 1: // No
|
||||
default:
|
||||
msgStatus = fopMsgStts_MSG_ENDS_e;
|
||||
break;
|
||||
|
||||
@@ -25,7 +25,7 @@ static BOOL daDisappear_Execute(disappear_class* i_this) {
|
||||
|
||||
if (dropType != daDisItem_NONE1_e && dropType != daDisItem_NONE3_e) {
|
||||
if (dropType == daDisItem_HEART_CONTAINER_e) {
|
||||
fopAcM_createItemForBoss(&i_this->current.pos, 0, i_this->current.roomNo, &i_this->current.angle, NULL, 0);
|
||||
fopAcM_createItemForBoss(&i_this->current.pos, 0, fopAcM_GetRoomNo(i_this), &i_this->current.angle, NULL, 0);
|
||||
}
|
||||
else if (dropType >= daDisItem_HEART_e && dropType <= daDisItem_NONE13_e) {
|
||||
// Special type for Keese (ki) spawned in the Puppet Ganon fight.
|
||||
@@ -40,7 +40,7 @@ static BOOL daDisappear_Execute(disappear_class* i_this) {
|
||||
}
|
||||
}
|
||||
else {
|
||||
fopAcM_createIball(&i_this->current.pos, i_this->itemTableIdx, i_this->current.roomNo, &i_this->current.angle, i_this->mItemBitNo);
|
||||
fopAcM_createIball(&i_this->current.pos, i_this->itemTableIdx, fopAcM_GetRoomNo(i_this), &i_this->current.angle, i_this->mItemBitNo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+26
-22
@@ -69,13 +69,12 @@ static void setEffectMtx(fopAc_ac_c* a_this, J3DModelData* modelData, float scal
|
||||
mDoMtx_stack_c::scaleS(scale, scale, 1.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;
|
||||
mDoMtx_stack_c::get()[0][3] = 0.0f;
|
||||
mDoMtx_stack_c::get()[1][3] = 0.0f;
|
||||
mDoMtx_stack_c::get()[2][3] = 0.0f;
|
||||
|
||||
Mtx now_copy;
|
||||
PSMTXCopy(mDoMtx_stack_c::get(), now_copy);
|
||||
cMtx_copy(mDoMtx_stack_c::get(), now_copy);
|
||||
|
||||
for (u16 i = 0; i < modelData->getMaterialNum(); i++) {
|
||||
J3DMaterial* mat = modelData->getMaterialNodePointer(i);
|
||||
@@ -171,7 +170,10 @@ static void demo_camera(kui_class* i_this) {
|
||||
i_this->field_0x2F8.y += REG8_F(0) + 200.0f;
|
||||
cMtx_YrotS(*calc_mtx, i_this->current.angle.y);
|
||||
|
||||
cXyz vec(REG8_F(1) + 800.f, REG8_F(2), REG8_F(3) + 100.0f);
|
||||
cXyz vec;
|
||||
vec.x = REG8_F(1) + 800.f;
|
||||
vec.y = REG8_F(2);
|
||||
vec.z = REG8_F(3) + 100.0f;
|
||||
cXyz posVec;
|
||||
MtxPosition(&vec, &posVec);
|
||||
|
||||
@@ -311,21 +313,21 @@ static BOOL daKui_Execute(kui_class* i_this) {
|
||||
cLib_addCalcAngleS2(&i_this->field_0x2E6, REG17_S(7) + 0x100, 1, REG17_S(8) + 0x40);
|
||||
|
||||
MtxTrans(actor->home.pos.x, actor->home.pos.y, actor->home.pos.z, FALSE);
|
||||
mDoMtx_YrotM(*calc_mtx, actor->current.angle.y);
|
||||
cMtx_YrotM(*calc_mtx, actor->current.angle.y);
|
||||
|
||||
MtxPush();
|
||||
mDoMtx_YrotM(*calc_mtx, actor->shape_angle.y);
|
||||
mDoMtx_XrotM(*calc_mtx, x + i_this->field_0x2E2);
|
||||
mDoMtx_ZrotM(*calc_mtx, z);
|
||||
mDoMtx_YrotM(*calc_mtx, -actor->shape_angle.y);
|
||||
cMtx_YrotM(*calc_mtx, actor->shape_angle.y);
|
||||
cMtx_XrotM(*calc_mtx, x + i_this->field_0x2E2);
|
||||
cMtx_ZrotM(*calc_mtx, z);
|
||||
cMtx_YrotM(*calc_mtx, -actor->shape_angle.y);
|
||||
MtxScale(unk_f, unk_f, unk_f, TRUE);
|
||||
i_this->mpModel->setBaseTRMtx(*calc_mtx);
|
||||
|
||||
|
||||
MtxPull();
|
||||
mDoMtx_YrotM(*calc_mtx, actor->shape_angle.y + REG0_S(5));
|
||||
mDoMtx_XrotM(*calc_mtx, actor->current.angle.x + REG0_S(6));
|
||||
mDoMtx_YrotM(*calc_mtx, -(actor->shape_angle.y + REG0_S(5) + 0x4000));
|
||||
cMtx_YrotM(*calc_mtx, actor->shape_angle.y + REG0_S(5));
|
||||
cMtx_XrotM(*calc_mtx, actor->current.angle.x + REG0_S(6));
|
||||
cMtx_YrotM(*calc_mtx, -(actor->shape_angle.y + REG0_S(5) + 0x4000));
|
||||
|
||||
MtxScale(unk_f, 1.0, unk_f, TRUE);
|
||||
i_this->mpModel2->setBaseTRMtx(*calc_mtx);
|
||||
@@ -335,13 +337,13 @@ static BOOL daKui_Execute(kui_class* i_this) {
|
||||
MtxPosition(&temp2, &actor->current.pos);
|
||||
|
||||
MtxTrans(actor->current.pos.x, actor->current.pos.y, actor->current.pos.z, FALSE);
|
||||
mDoMtx_YrotM(*calc_mtx, actor->current.angle.y);
|
||||
cMtx_YrotM(*calc_mtx, actor->current.angle.y);
|
||||
MtxScale(actor->scale.x, actor->scale.y, actor->scale.z, TRUE);
|
||||
cMtx_copy(*calc_mtx, i_this->field_0x2A8);
|
||||
i_this->field_0x2D8->Move();
|
||||
} else {
|
||||
MtxTrans(actor->current.pos.x, actor->current.pos.y, actor->current.pos.z, FALSE);
|
||||
mDoMtx_YrotM(*calc_mtx, actor->current.angle.y);
|
||||
cMtx_YrotM(*calc_mtx, actor->current.angle.y);
|
||||
if (i_this->type == 2 || i_this->type == 4) {
|
||||
i_this->mpModel->setBaseTRMtx(*calc_mtx);
|
||||
}
|
||||
@@ -397,7 +399,7 @@ static BOOL daKui_IsDelete(kui_class*) {
|
||||
|
||||
/* 000012EC-00001340 .text daKui_Delete__FP9kui_class */
|
||||
static BOOL daKui_Delete(kui_class* i_this) {
|
||||
dComIfG_resDelete(&i_this->mPhs, "Kui");
|
||||
dComIfG_resDeleteDemo(&i_this->mPhs, "Kui");
|
||||
dComIfG_Bgsp()->Release(i_this->field_0x2D8);
|
||||
return TRUE;
|
||||
}
|
||||
@@ -410,7 +412,7 @@ static BOOL daKui_CreateHeap(fopAc_ac_c* a_this) {
|
||||
if (i_this->type == 3) {
|
||||
// Bell body
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("Kui", dRes_INDEX_KUI_BDL_HKANE1_e);
|
||||
JUT_ASSERT(0x353, modelData != NULL);
|
||||
JUT_ASSERT(DEMO_SELECT(836, 851), modelData != NULL);
|
||||
|
||||
i_this->mpModel = mDoExt_J3DModel__create(modelData, 0, 0x11020203);
|
||||
if (!i_this->mpModel) {
|
||||
@@ -419,7 +421,7 @@ static BOOL daKui_CreateHeap(fopAc_ac_c* a_this) {
|
||||
|
||||
// Bell handle
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("Kui", dRes_INDEX_KUI_BDL_HKANE2_e);
|
||||
JUT_ASSERT(0x35F, modelData != NULL);
|
||||
JUT_ASSERT(DEMO_SELECT(848, 863), modelData != NULL);
|
||||
|
||||
i_this->mpModel2 = mDoExt_J3DModel__create(modelData, 0, 0x11020203);
|
||||
if (!i_this->mpModel2) {
|
||||
@@ -428,7 +430,7 @@ static BOOL daKui_CreateHeap(fopAc_ac_c* a_this) {
|
||||
} else {
|
||||
// Rope
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("Kui", dRes_INDEX_KUI_BDL_OBI_ROPETAG_e);
|
||||
JUT_ASSERT(0x36B, modelData != NULL);
|
||||
JUT_ASSERT(DEMO_SELECT(860, 875), modelData != NULL);
|
||||
|
||||
i_this->mpModel2 = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000002);
|
||||
if (!i_this->mpModel2) {
|
||||
@@ -438,7 +440,7 @@ static BOOL daKui_CreateHeap(fopAc_ac_c* a_this) {
|
||||
if (i_this->type == 2 || i_this->type == 4) {
|
||||
// Rope swing attachment
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("Kui", dRes_INDEX_KUI_BDL_MROPESW_e);
|
||||
JUT_ASSERT(0x377, modelData != NULL);
|
||||
JUT_ASSERT(DEMO_SELECT(872, 887), modelData != NULL);
|
||||
|
||||
i_this->mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000002);
|
||||
if (!i_this->mpModel) {
|
||||
@@ -468,11 +470,13 @@ static cPhs_State daKui_Create(fopAc_ac_c* a_this) {
|
||||
kui_class* i_this;
|
||||
cPhs_State result;
|
||||
|
||||
fopAcM_ct(a_this, kui_class);
|
||||
fopAcM_ct_Retail(a_this, kui_class);
|
||||
i_this = (kui_class*) a_this;
|
||||
|
||||
result = dComIfG_resLoad(&i_this->mPhs, "Kui");
|
||||
if (result == cPhs_COMPLEATE_e) {
|
||||
fopAcM_ct_Demo(a_this, kui_class);
|
||||
|
||||
if (fopAcM_GetParam(a_this) == -1) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
@@ -135,12 +135,12 @@ static BOOL da_Npc_Ah_nodeCallBack(J3DNode* node, int calcTiming) {
|
||||
MTXCopy(model->getAnmMtx(jointNo), *calc_mtx);
|
||||
|
||||
if(jointNo == i_this->m_jnt.getHeadJntNum()){
|
||||
mDoMtx_XrotM(*calc_mtx, i_this->m_jnt.getHead_y());
|
||||
cMtx_ZrotM(*calc_mtx, -i_this->m_jnt.getHead_x());
|
||||
cMtx_XrotM(*calc_mtx, (s16)i_this->m_jnt.getHead_y());
|
||||
cMtx_ZrotM(*calc_mtx, (s16)-i_this->m_jnt.getHead_x());
|
||||
}
|
||||
else if(jointNo == i_this->m_jnt.getBackboneJntNum()){
|
||||
mDoMtx_XrotM(*calc_mtx, i_this->m_jnt.getBackbone_y());
|
||||
cMtx_ZrotM(*calc_mtx, -i_this->m_jnt.getBackbone_x());
|
||||
cMtx_XrotM(*calc_mtx, (s16)i_this->m_jnt.getBackbone_y());
|
||||
cMtx_ZrotM(*calc_mtx, (s16)-i_this->m_jnt.getBackbone_x());
|
||||
}
|
||||
#if VERSION > VERSION_DEMO
|
||||
MTXCopy(*calc_mtx, model->getAnmMtx(jointNo));
|
||||
|
||||
@@ -192,8 +192,8 @@ static BOOL nodeCallBack_Bs(J3DNode* node, int calcTiming) {
|
||||
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
|
||||
if (jntNo == i_this->getHeadJntNum()) {
|
||||
cXyz offset(0.0f, 0.0f, 0.0f);
|
||||
mDoMtx_XrotM(*calc_mtx, i_this->getHead_y());
|
||||
cMtx_ZrotM(*calc_mtx, -i_this->getHead_x());
|
||||
cMtx_XrotM(*calc_mtx, (s16)i_this->getHead_y());
|
||||
cMtx_ZrotM(*calc_mtx, (s16)-i_this->getHead_x());
|
||||
cXyz pos;
|
||||
MtxPosition(&offset, &pos);
|
||||
i_this->setAttentionBasePos(pos);
|
||||
@@ -204,8 +204,8 @@ static BOOL nodeCallBack_Bs(J3DNode* node, int calcTiming) {
|
||||
i_this->setEyePos(pos);
|
||||
i_this->incAttnSetCount();
|
||||
} else if (jntNo == i_this->getBackboneJntNum()) {
|
||||
mDoMtx_XrotM(*calc_mtx, i_this->getBackbone_y());
|
||||
cMtx_ZrotM(*calc_mtx, -i_this->getBackbone_x());
|
||||
cMtx_XrotM(*calc_mtx, (s16)i_this->getBackbone_y());
|
||||
cMtx_ZrotM(*calc_mtx, (s16)-i_this->getBackbone_x());
|
||||
}
|
||||
cMtx_copy(*calc_mtx, J3DSys::mCurrentMtx);
|
||||
model->setAnmMtx(jntNo, *calc_mtx);
|
||||
|
||||
@@ -986,7 +986,7 @@ static BOOL nodeCallBack_Hr(J3DNode* node, int calcTiming) {
|
||||
i_this->setEyePos(temp2);
|
||||
i_this->incAttnSetCount();
|
||||
} else if (jntNo == i_this->getBackboneJntNum()) {
|
||||
mDoMtx_XrotM(*calc_mtx, i_this->getBackbone_y());
|
||||
cMtx_XrotM(*calc_mtx, (s16)i_this->getBackbone_y());
|
||||
} else if (jntNo == i_this->m_waist_jnt_num) {
|
||||
temp.set(0.0f, 0.0f, 0.0f);
|
||||
MtxPosition(&temp, &i_this->mCloudPos);
|
||||
|
||||
@@ -3965,7 +3965,10 @@ BOOL daNpc_Ji1_c::battleGuardCheck() {
|
||||
|
||||
if(field_0xC3C > 2) {
|
||||
if(checkAction(&daNpc_Ji1_c::battleAction)) {
|
||||
dComIfG_TimerDeleteRequest();
|
||||
dTimer_c* timer = dComIfG_getTimerPtr();
|
||||
if (timer != NULL) {
|
||||
timer->deleteRequest();
|
||||
}
|
||||
|
||||
if(isClearRecord(field_0xD70)) {
|
||||
setClearRecord(field_0xD70);
|
||||
|
||||
@@ -48,8 +48,8 @@ static BOOL nodeCallBack_Mk(J3DNode* node, int calcTiming) {
|
||||
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
|
||||
if (jntNo == i_this->getHeadJntNum()) {
|
||||
temp.setall(0.0f);
|
||||
mDoMtx_XrotM(*calc_mtx, (s16)i_this->getHead_y());
|
||||
mDoMtx_ZrotM(*calc_mtx, (s16)i_this->getHead_x());
|
||||
cMtx_XrotM(*calc_mtx, (s16)i_this->getHead_y());
|
||||
cMtx_ZrotM(*calc_mtx, (s16)i_this->getHead_x());
|
||||
MtxPosition(&temp, &temp2);
|
||||
i_this->setAttentionBasePos(temp2);
|
||||
temp.set(20.0f, -20.0f, 0.0f);
|
||||
@@ -59,8 +59,8 @@ static BOOL nodeCallBack_Mk(J3DNode* node, int calcTiming) {
|
||||
i_this->incAttnSetCount();
|
||||
|
||||
} else if (jntNo == i_this->getBackboneJntNum()) {
|
||||
mDoMtx_XrotM(*calc_mtx, i_this->getBackbone_y());
|
||||
mDoMtx_ZrotM(*calc_mtx, i_this->getBackbone_x());
|
||||
cMtx_XrotM(*calc_mtx, (s16)i_this->getBackbone_y());
|
||||
cMtx_ZrotM(*calc_mtx, (s16)i_this->getBackbone_x());
|
||||
}
|
||||
cMtx_copy(*calc_mtx, J3DSys::mCurrentMtx);
|
||||
model->setAnmMtx(jntNo, *calc_mtx);
|
||||
|
||||
@@ -946,8 +946,8 @@ static BOOL nodeCallBack1(J3DNode* i_node, int i_param_2) {
|
||||
MtxPosition(&local_28, &i_this->eyePos);
|
||||
}
|
||||
if (jntNo == i_this->m_jnt.getBackboneJntNum()) {
|
||||
mDoMtx_XrotM(*calc_mtx, i_this->m_jnt.getBackbone_y());
|
||||
mDoMtx_ZrotM(*calc_mtx, i_this->m_jnt.getBackbone_x());
|
||||
cMtx_XrotM(*calc_mtx, (s16)i_this->m_jnt.getBackbone_y());
|
||||
cMtx_ZrotM(*calc_mtx, (s16)i_this->m_jnt.getBackbone_x());
|
||||
}
|
||||
|
||||
model->setAnmMtx(jntNo, *calc_mtx);
|
||||
|
||||
@@ -588,16 +588,16 @@ static BOOL daNpc_Photo_nodeCallBack(J3DNode* node, int calcTiming) {
|
||||
J3DJoint* joint = (J3DJoint*)node;
|
||||
daNpcPhoto_c* i_this = (daNpcPhoto_c*)model->getUserArea();
|
||||
s32 jntNo = joint->getJntNo();
|
||||
cMtx_copy(model->getAnmMtx(jntNo), *calc_mtx);
|
||||
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
|
||||
|
||||
if(jntNo == i_this->m_jnt.getHeadJntNum()) {
|
||||
mDoMtx_XrotM(*calc_mtx, i_this->m_jnt.getHead_y());
|
||||
mDoMtx_ZrotM(*calc_mtx, -i_this->m_jnt.getHead_x());
|
||||
cMtx_XrotM(*calc_mtx, (s16)i_this->m_jnt.getHead_y());
|
||||
cMtx_ZrotM(*calc_mtx, (s16)-i_this->m_jnt.getHead_x());
|
||||
}
|
||||
|
||||
if(jntNo == i_this->m_jnt.getBackboneJntNum()) {
|
||||
mDoMtx_XrotM(*calc_mtx, i_this->m_jnt.getBackbone_y());
|
||||
mDoMtx_ZrotM(*calc_mtx, -i_this->m_jnt.getBackbone_x());
|
||||
cMtx_XrotM(*calc_mtx, (s16)i_this->m_jnt.getBackbone_y());
|
||||
cMtx_ZrotM(*calc_mtx, (s16)-i_this->m_jnt.getBackbone_x());
|
||||
}
|
||||
|
||||
model->setAnmMtx(jntNo, *calc_mtx);
|
||||
|
||||
@@ -411,7 +411,11 @@ static u32 l_msg_xy_invalid_item_B[] = {
|
||||
};
|
||||
|
||||
static u32 l_msg_xy_invalid_item_C[] = {
|
||||
#if VERSION == VERSION_DEMO
|
||||
0x29DE,
|
||||
#else
|
||||
0x29DD,
|
||||
#endif
|
||||
0x0000,
|
||||
};
|
||||
|
||||
@@ -1586,16 +1590,15 @@ static BOOL daNpc_Roten_nodeCallBack(J3DNode* node, int calcTiming) {
|
||||
daNpcRoten_c* i_this = (daNpcRoten_c*)model->getUserArea();
|
||||
|
||||
s32 jntNo = joint->getJntNo();
|
||||
MtxP mtx = model->getAnmMtx(jntNo);
|
||||
cMtx_copy(mtx, *calc_mtx);
|
||||
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
|
||||
|
||||
if(jntNo == i_this->m_jnt.getHeadJntNum()) {
|
||||
mDoMtx_XrotM(*calc_mtx, i_this->m_jnt.getHead_y());
|
||||
mDoMtx_ZrotM(*calc_mtx, -i_this->m_jnt.getHead_x());
|
||||
cMtx_XrotM(*calc_mtx, (s16)i_this->m_jnt.getHead_y());
|
||||
cMtx_ZrotM(*calc_mtx, (s16)-i_this->m_jnt.getHead_x());
|
||||
}
|
||||
if(jntNo == i_this->m_jnt.getBackboneJntNum()) {
|
||||
mDoMtx_XrotM(*calc_mtx, i_this->m_jnt.getBackbone_y());
|
||||
mDoMtx_ZrotM(*calc_mtx, -i_this->m_jnt.getBackbone_x());
|
||||
cMtx_XrotM(*calc_mtx, (s16)i_this->m_jnt.getBackbone_y());
|
||||
cMtx_ZrotM(*calc_mtx, (s16)-i_this->m_jnt.getBackbone_x());
|
||||
}
|
||||
|
||||
model->setAnmMtx(jntNo, *calc_mtx);
|
||||
@@ -1739,7 +1742,7 @@ cPhs_State daNpcRoten_c::createInit() {
|
||||
weight = 0xFE;
|
||||
}
|
||||
|
||||
gravity = -9.0f;
|
||||
fopAcM_SetGravity(this, -9.0f);
|
||||
|
||||
field_0x99E = dComIfGp_evmng_getEventIdx("ROTEN_EXCHANGE_1ST");
|
||||
field_0x9A0 = dComIfGp_evmng_getEventIdx("ROTEN_EXCHANGE_2ND");
|
||||
|
||||
@@ -55,8 +55,8 @@ static BOOL nodeCallBack_Tt(J3DNode* node, int calcTiming) {
|
||||
i_this->incAttnSetCount();
|
||||
|
||||
} else if (jntNo == i_this->getBackboneJntNum()) {
|
||||
mDoMtx_XrotM(*calc_mtx, i_this->getBackbone_y());
|
||||
mDoMtx_ZrotM(*calc_mtx, i_this->getBackbone_x());
|
||||
cMtx_XrotM(*calc_mtx, (s16)i_this->getBackbone_y());
|
||||
cMtx_ZrotM(*calc_mtx, (s16)i_this->getBackbone_x());
|
||||
}
|
||||
cMtx_copy(*calc_mtx, J3DSys::mCurrentMtx);
|
||||
model->setAnmMtx(jntNo, *calc_mtx);
|
||||
|
||||
@@ -80,7 +80,7 @@ cPhs_State daObjMonument::Act_c::_create() {
|
||||
bool daObjMonument::Act_c::_delete() {
|
||||
if (mpBgW != NULL && mpBgW->ChkUsed())
|
||||
dComIfG_Bgsp()->Release(mpBgW);
|
||||
dComIfG_resDelete(&mPhs, M_arcname);
|
||||
dComIfG_resDeleteDemo(&mPhs, M_arcname);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -145,7 +145,7 @@ void Bgc_c::wrt_pos(const cXyz& pos) {
|
||||
f32 roofY = pos.y + 400.0f;
|
||||
groundPos.y -= 100.0f;
|
||||
M_wrt_work.Set(groundPos, roofY);
|
||||
if (dComIfG_Bgsp()->SplGrpChk(&M_wrt_work)) {
|
||||
if (dComIfG_Bgsp()->WaterChk(&M_wrt_work)) {
|
||||
mWaterY = M_wrt_work.GetHeight();
|
||||
cLib_onBit(mStateFlags, BgcState_ABOVE_WATER_e);
|
||||
if (mWaterY > pos.y) {
|
||||
@@ -1399,12 +1399,16 @@ void Act_c::afl_sway() {
|
||||
m610 *= temp;
|
||||
}
|
||||
|
||||
f32 f1;
|
||||
f32 f5;
|
||||
f32 f0;
|
||||
f32 f6;
|
||||
f32 temp2 = m614 - m60C;
|
||||
f32 temp1 = m618 - m610;
|
||||
f32 f1 = -temp2 * attr()->m50;
|
||||
f32 f5 = -temp1 * attr()->m50;
|
||||
f32 f0 = -m61C * attr()->m54;
|
||||
f32 f6 = -m620 * attr()->m54;
|
||||
f1 = -temp2 * attr()->m50;
|
||||
f5 = -temp1 * attr()->m50;
|
||||
f0 = -m61C * attr()->m54;
|
||||
f6 = -m620 * attr()->m54;
|
||||
m61C += f1 + f0;
|
||||
m620 += f5 + f6;
|
||||
m614 += m61C;
|
||||
@@ -1580,7 +1584,7 @@ void Act_c::mode_wait() {
|
||||
if (r31 != -1) {
|
||||
m634 = r31;
|
||||
eff_smoke_slip_start();
|
||||
daPy_getPlayerActorClass()->onPushPullKeep();
|
||||
((daPy_py_c*)dComIfGp_getPlayer(0))->onPushPullKeep();
|
||||
mode_walk_init();
|
||||
|
||||
if (cLib_checkBit(mPPLabel, dBgW::PPLABEL_PULL)) {
|
||||
@@ -1650,7 +1654,7 @@ void Act_c::mode_walk() {
|
||||
} else if (m634 == 3) {
|
||||
m628--;
|
||||
}
|
||||
daPy_getPlayerActorClass()->offPushPullKeep();
|
||||
((daPy_py_c*)dComIfGp_getPlayer(0))->offPushPullKeep();
|
||||
mode_wait_init();
|
||||
}
|
||||
}
|
||||
@@ -1864,9 +1868,8 @@ BOOL Act_c::Draw() {
|
||||
int temp = mBgc.mMaxGroundIdx;
|
||||
f32 groundH = mBgc.mGroundY[temp];
|
||||
cM3dGPla* triPla = dComIfG_Bgsp()->GetTriPla(mBgc.M_gnd_work[temp]);
|
||||
cXyz* norm = triPla->GetNP();
|
||||
if (norm && groundH != -G_CM3D_F_INF) {
|
||||
dComIfGd_setSimpleShadow(¤t.pos, groundH, attr()->m10, norm, shape_angle.y, 1.0f, NULL);
|
||||
if (triPla && groundH != -G_CM3D_F_INF) {
|
||||
dComIfGd_setSimpleShadow(¤t.pos, groundH, attr()->m10, &triPla->mNormal, shape_angle.y, 1.0f, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -63,9 +63,10 @@ cPhs_State daObj_Pbco_c::CreateInit() {
|
||||
}
|
||||
|
||||
cPhs_State daObj_Pbco_c::_create() {
|
||||
fopAcM_ct(this, daObj_Pbco_c);
|
||||
fopAcM_ct_Retail(this, daObj_Pbco_c);
|
||||
cPhs_State phase_state = dComIfG_resLoad(&mPhs, M_arcname);
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
fopAcM_ct_Demo(this, daObj_Pbco_c);
|
||||
if (fopAcM_entrySolidHeap(this, CheckCreateHeap, 0x10000)) {
|
||||
phase_state = CreateInit();
|
||||
} else {
|
||||
|
||||
@@ -26,13 +26,15 @@ daObjQuake_HIO_c::daObjQuake_HIO_c() {
|
||||
|
||||
/* 00000134-000002C4 .text _create__12daObjQuake_cFv */
|
||||
cPhs_State daObjQuake_c::_create() {
|
||||
fopAcM_ct(this, daObjQuake_c);
|
||||
fopAcM_ct_Retail(this, daObjQuake_c);
|
||||
|
||||
if (dComIfGs_isSymbol(dSymbol_DIN_e)) {
|
||||
return cPhs_STOP_e;
|
||||
}
|
||||
|
||||
if (getPrmType() < 3) {
|
||||
fopAcM_ct_Demo(this, daObjQuake_c);
|
||||
|
||||
fopAcM_offDraw(this);
|
||||
mType = getPrmType();
|
||||
m2A1 = false;
|
||||
@@ -135,8 +137,8 @@ BOOL daObjQuake_c::_execute() {
|
||||
u8 sch = getPrmSch();
|
||||
bool var_r27 = false;
|
||||
if (sch & dKy_get_schbit() && !dComIfGp_event_chkEventFlag(dEvtFlag_TALK_e)) {
|
||||
f32 a = (m29C / 6.0f) * m290;
|
||||
f32 b = (m298 / 6.0f) * m290;
|
||||
f32 a = (m29C / 6.0f) * m290;
|
||||
if (m294 >= b && m294 < a) {
|
||||
var_r27 = true;
|
||||
}
|
||||
|
||||
@@ -59,7 +59,11 @@ const dCcD_SrcCyl daObjTpost_c::m_cyl_src = {
|
||||
/* SrcObjAt Type */ 0,
|
||||
/* SrcObjAt Atp */ 0,
|
||||
/* SrcObjAt SPrm */ 0,
|
||||
#if VERSION == VERSION_DEMO
|
||||
/* SrcObjTg Type */ ~(AT_TYPE_WATER | AT_TYPE_UNK20000 | AT_TYPE_WIND | AT_TYPE_UNK400000 | AT_TYPE_LIGHT),
|
||||
#else
|
||||
/* SrcObjTg Type */ ~(AT_TYPE_BOOMERANG),
|
||||
#endif
|
||||
/* SrcObjTg SPrm */ cCcD_TgSPrm_Set_e | cCcD_TgSPrm_GrpAll_e,
|
||||
/* SrcObjCo SPrm */ cCcD_CoSPrm_Set_e | cCcD_CoSPrm_IsOther_e | cCcD_CoSPrm_VsGrpAll_e,
|
||||
/* SrcGObjAt Se */ 0,
|
||||
@@ -85,7 +89,7 @@ const dCcD_SrcCyl daObjTpost_c::m_cyl_src = {
|
||||
#ifdef __MWERKS__
|
||||
static
|
||||
#endif
|
||||
const s32 daObjTpost_c::m_send_price[] = {
|
||||
const int daObjTpost_c::m_send_price[] = {
|
||||
0x05,
|
||||
0x0A,
|
||||
0x14
|
||||
@@ -101,7 +105,7 @@ static BOOL createHeap_CB(fopAc_ac_c* i_this) {
|
||||
/* 0000010C-0000022C .text _createHeap__12daObjTpost_cFv */
|
||||
BOOL daObjTpost_c::_createHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(m_arc_name, dRes_INDEX_TORIPOST_BDL_VPOST_e);
|
||||
JUT_ASSERT(132, modelData != NULL);
|
||||
JUT_ASSERT(DEMO_SELECT(131, 132), modelData != NULL);
|
||||
|
||||
mMorf = new mDoExt_McaMorf(
|
||||
modelData,
|
||||
@@ -246,7 +250,8 @@ void daObjTpost_c::deliverLetter() {
|
||||
/* 00000650-000006C0 .text getReceiveLetterNum__12daObjTpost_cFv */
|
||||
s16 daObjTpost_c::getReceiveLetterNum() {
|
||||
s16 num = 0;
|
||||
for(int i = 1; i < (int)ARRAY_SIZE(m_letter); i++) {
|
||||
int letter_count = ARRAY_SIZE(m_letter);
|
||||
for(int i = 1; i < letter_count; i++) {
|
||||
if(dLetter_isStock(m_letter[i].mEventReg)) {
|
||||
num = num + 1;
|
||||
}
|
||||
@@ -257,12 +262,13 @@ s16 daObjTpost_c::getReceiveLetterNum() {
|
||||
|
||||
/* 000006C0-00000750 .text getReadableLetterNum__12daObjTpost_cFv */
|
||||
s32 daObjTpost_c::getReadableLetterNum() {
|
||||
s32 num = 0;
|
||||
s32 startIdx = mNumReadable != 0 ? mNumReadable : 1;
|
||||
s32 readable = mNumReadable;
|
||||
int num = 0;
|
||||
int letter_count = ARRAY_SIZE(m_letter);
|
||||
int startIdx = mNumReadable != 0 ? mNumReadable : 1;
|
||||
int readable = mNumReadable;
|
||||
|
||||
if(readable < (int)ARRAY_SIZE(m_letter)) {
|
||||
for(int i = startIdx; i < (int)ARRAY_SIZE(m_letter); i++) {
|
||||
if(readable < letter_count) {
|
||||
for(int i = startIdx; i < letter_count; i++) {
|
||||
if(!dLetter_isStock(m_letter[i].mEventReg)) {
|
||||
continue;
|
||||
}
|
||||
@@ -339,7 +345,7 @@ u8 daObjTpost_c::checkSendPrice() {
|
||||
|
||||
/* 000007B8-0000092C .text getMsgXY__12daObjTpost_cFv */
|
||||
int daObjTpost_c::getMsgXY() {
|
||||
s32 msgId;
|
||||
u32 msgNo;
|
||||
GXColor col = {0x00, 0x00, 0x00, 0x80};
|
||||
cXyz pos(REG12_F(0), REG12_F(1), REG12_F(2));
|
||||
cXyz scale(2.0f, 2.0f, 2.0f);
|
||||
@@ -347,7 +353,7 @@ int daObjTpost_c::getMsgXY() {
|
||||
switch(mPreItemNo) {
|
||||
case dItemNo_NOTE_TO_MOM_e:
|
||||
case dItemNo_MAGGIES_LETTER_e:
|
||||
msgId = 0xCE8;
|
||||
msgNo = 0xCE8;
|
||||
col.r = REG12_S(0) + 0x80;
|
||||
col.g = REG12_S(1) + 0x80;
|
||||
col.b = REG12_S(2) + 0x80;
|
||||
@@ -360,38 +366,38 @@ int daObjTpost_c::getMsgXY() {
|
||||
case dItemNo_MOBLINS_LETTER_e:
|
||||
setAnm(AnmPrm_POST_PUTOUT, false);
|
||||
field_0x8EA = 1;
|
||||
msgId = 0xCEA;
|
||||
msgNo = 0xCEA;
|
||||
|
||||
break;
|
||||
default:
|
||||
setAnm(AnmPrm_POST_PUTOUT, false);
|
||||
field_0x8EA = 1;
|
||||
msgId = 0xCE9;
|
||||
msgNo = 0xCE9;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
return msgId;
|
||||
return msgNo;
|
||||
}
|
||||
|
||||
/* 0000092C-00000990 .text getMsgNormal__12daObjTpost_cFv */
|
||||
int daObjTpost_c::getMsgNormal() {
|
||||
s32 msgId;
|
||||
u32 msgNo;
|
||||
if(field_0x8EB) {
|
||||
dComIfGp_setMessageCountNumber(field_0x8F0);
|
||||
msgId = 0xCF7;
|
||||
msgNo = 0xCF7;
|
||||
field_0x8EB = 0;
|
||||
}
|
||||
else {
|
||||
if(dKy_daynight_check() == dKy_TIME_DAY_e) {
|
||||
msgId = 0xCE5;
|
||||
msgNo = 0xCE5;
|
||||
}
|
||||
else {
|
||||
msgId = 0xCE6;
|
||||
msgNo = 0xCE6;
|
||||
}
|
||||
}
|
||||
|
||||
return msgId;
|
||||
return msgNo;
|
||||
}
|
||||
|
||||
/* 00000990-000009EC .text getMsg__12daObjTpost_cFv */
|
||||
@@ -858,12 +864,16 @@ void daObjTpost_c::modeProc(daObjTpost_c::Proc_e proc, int newMode) {
|
||||
|
||||
/* 00001758-000018CC .text _execute__12daObjTpost_cFv */
|
||||
bool daObjTpost_c::_execute() {
|
||||
#if VERSION == VERSION_DEMO
|
||||
mNumReadable = getReadableLetterNum();
|
||||
#else
|
||||
if(dComIfGs_isSymbol(dSymbol_DIN_e)) {
|
||||
mNumReadable = getReadableLetterNum();
|
||||
}
|
||||
else {
|
||||
mNumReadable = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
checkOrder();
|
||||
setAttention();
|
||||
@@ -879,7 +889,7 @@ bool daObjTpost_c::_execute() {
|
||||
mAcch.CrrPos(*dComIfG_Bgsp());
|
||||
mStts.Move();
|
||||
if(mCyl.ChkTgHit()) {
|
||||
daObj::HitSeStart(&eyePos, current.roomNo, &mCyl, 0x0B);
|
||||
daObj::HitSeStart(&eyePos, fopAcM_GetRoomNo(this), &mCyl, 0x0B);
|
||||
}
|
||||
daObj::HitEff_kikuzu(this, &mCyl);
|
||||
fopAcM_rollPlayerCrash(this, 40.0f, 7);
|
||||
@@ -926,7 +936,7 @@ void daObjTpost_c::createInit() {
|
||||
dLetter_autoStock(dSv_event_flag_c::LETTER_BAITO);
|
||||
}
|
||||
|
||||
if(dComIfGs_isEventBit(dSv_event_flag_c::UNK_1E80)) {
|
||||
if(dComIfGs_isEventBit(DEMO_SELECT(dSv_event_flag_c::UNK_2D04, dSv_event_flag_c::UNK_1E80))) {
|
||||
dLetter_autoStock(dSv_event_flag_c::LETTER_ORCA);
|
||||
}
|
||||
|
||||
@@ -972,11 +982,13 @@ void daObjTpost_c::getArg() {
|
||||
|
||||
/* 00001BA8-00001D88 .text _create__12daObjTpost_cFv */
|
||||
cPhs_State daObjTpost_c::_create() {
|
||||
fopAcM_ct(this, daObjTpost_c);
|
||||
fopAcM_ct_Retail(this, daObjTpost_c);
|
||||
|
||||
getArg();
|
||||
cPhs_State step = dComIfG_resLoad(&mPhs, m_arc_name);
|
||||
if(step == cPhs_COMPLEATE_e) {
|
||||
fopAcM_ct_Demo(this, daObjTpost_c);
|
||||
|
||||
if(fopAcM_entrySolidHeap(this, createHeap_CB, 0x7E0) == 0) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
@@ -989,7 +1001,7 @@ cPhs_State daObjTpost_c::_create() {
|
||||
|
||||
/* 00002094-000020C4 .text _delete__12daObjTpost_cFv */
|
||||
bool daObjTpost_c::_delete() {
|
||||
dComIfG_resDelete(&mPhs, m_arc_name);
|
||||
dComIfG_resDeleteDemo(&mPhs, m_arc_name);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1714,12 +1714,6 @@ BOOL daPy_lk_c::dProcWindChange() {
|
||||
|
||||
/* 80130F98-8013116C .text dProcStandItemPut_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::dProcStandItemPut_init() {
|
||||
daPy_py_c* pdVar1;
|
||||
fopAc_ac_c* pfVar2;
|
||||
f32 dVar5;
|
||||
double in_f4;
|
||||
csXyz* angle;
|
||||
|
||||
if (mCurProc == daPyProc_DEMO_STAND_ITEM_PUT_e) {
|
||||
return true;
|
||||
}
|
||||
@@ -1727,27 +1721,24 @@ BOOL daPy_lk_c::dProcStandItemPut_init() {
|
||||
mNormalSpeed = 0.0f;
|
||||
keepItemData();
|
||||
mProcVar6.m3570 = 0;
|
||||
pdVar1 = (daPy_py_c*)fopAcM_getEventPartner(this);
|
||||
if (pdVar1 != NULL) {
|
||||
cXyz local_20 = pdVar1->current.pos - current.pos;
|
||||
fopAc_ac_c* event_partner = fopAcM_getEventPartner(this);
|
||||
csXyz* angle;
|
||||
if (event_partner != NULL) {
|
||||
cXyz local_20 = event_partner->current.pos - current.pos;
|
||||
angle = fopAcM_GetShapeAngle_p(this);
|
||||
angle->y = fopAcM_searchActorAngleY(this, pdVar1);
|
||||
dVar5 = local_20.absXZ();
|
||||
if (0.0f < dVar5) {
|
||||
in_f4 = 0.5;
|
||||
}
|
||||
m35C8 = dVar5 - 47.0f;
|
||||
angle = fopAcM_GetShapeAngle_p(pdVar1);
|
||||
angle->y = fopAcM_searchActorAngleY(this, event_partner);
|
||||
m35C8 = local_20.absXZ() - 47.0f;
|
||||
angle = fopAcM_GetShapeAngle_p(event_partner);
|
||||
} else {
|
||||
m35C8 = 15.0f;
|
||||
angle = fopAcM_GetShapeAngle_p(this);
|
||||
}
|
||||
mProcVar6.m3570 = 1;
|
||||
setSingleMoveAnime(ANM_GRABWAIT, m_HIO->mGrab.m.field_0x78, 0.0f, -1, -1.0f);
|
||||
pfVar2 = (fopAc_ac_c*)fopAcM_fastCreate(fpcNm_STANDITEM_e, dComIfGp_event_getPreItemNo(), ¤t.pos, -1, angle);
|
||||
if (pfVar2 != NULL) {
|
||||
mActorKeepGrab.setData(pfVar2);
|
||||
fopAcM_setCarryNow(pfVar2, FALSE);
|
||||
fopAc_ac_c* stand_item = (fopAc_ac_c*)fopAcM_fastCreate(fpcNm_STANDITEM_e, dComIfGp_event_getPreItemNo(), ¤t.pos, -1, angle);
|
||||
if (stand_item != NULL) {
|
||||
mActorKeepGrab.setData(stand_item);
|
||||
fopAcM_setCarryNow(stand_item, FALSE);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -127,6 +127,8 @@ static BOOL daRaceItem_Execute(daRaceItem_c* i_this) {
|
||||
|
||||
/* 0000073C-00000C44 .text execute__12daRaceItem_cFv */
|
||||
BOOL daRaceItem_c::execute() {
|
||||
daPy_getPlayerActorClass();
|
||||
|
||||
m_timer++;
|
||||
animPlay(1.0f, 1.0f, 1.0f, 1.0f, 1.0f);
|
||||
eyePos = current.pos;
|
||||
|
||||
+11
-11
@@ -426,7 +426,7 @@ bool daRd_c::createArrowHeap() {
|
||||
};
|
||||
mpJntHit = JntHit_create(mpMorf->getModel(), search_data, ARRAY_SIZE(search_data));
|
||||
if (mpJntHit) {
|
||||
jntHit = mpJntHit;
|
||||
fopAcM_SetJntHit(this, mpJntHit);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
@@ -669,7 +669,7 @@ bool daRd_c::checkTgHit() {
|
||||
cXyz* hitPos = mCyl.GetTgHitPosP();
|
||||
cc_at_check(this, &atInfo);
|
||||
if (mHitType == 1 || mHitType == 7 || mHitType == 8 || health <= 0) {
|
||||
dComIfGp_particle_set(dPa_name::ID_AK_JN_CRITICALHITFLASH, mCyl.GetTgHitPosP());
|
||||
dComIfGp_particle_set(dPa_name::ID_AK_JN_CRITICALHITFLASH, hitPos);
|
||||
cXyz scale(2.0f, 2.0f, 2.0f);
|
||||
dComIfGp_particle_set(dPa_name::ID_AK_JN_CRITICALHIT, hitPos, &player->shape_angle, &scale);
|
||||
if (health <= 0) {
|
||||
@@ -1634,7 +1634,7 @@ bool daRd_c::_execute() {
|
||||
if (mMode != MODE_SILENT_PRAY && mMode != MODE_DEATH && mMode != MODE_DAMAGE &&
|
||||
mMode != MODE_ATTACK && mMode != MODE_CRY && mMode != MODE_CRY_WAIT)
|
||||
{
|
||||
daRd_c* corpse = (daRd_c*)fopAcIt_Judge(&searchNeadDeadRd_CB, this);
|
||||
daRd_c* corpse = (daRd_c*)fopAcM_Search(&searchNeadDeadRd_CB, this);
|
||||
if (corpse != NULL) {
|
||||
mCorpseID = fopAcM_GetID(corpse);
|
||||
modeProcInit(MODE_SILENT_PRAY);
|
||||
@@ -1690,7 +1690,7 @@ bool daRd_c::_execute() {
|
||||
lookBack();
|
||||
}
|
||||
|
||||
if (mbIkari) {
|
||||
if (isIkari()) {
|
||||
cLib_addCalc2(&mD38, l_HIO.m60, 0.1f, l_HIO.m64);
|
||||
} else {
|
||||
cLib_addCalc2(&mD38, 0.0f, 0.1f, l_HIO.m64);
|
||||
@@ -1888,13 +1888,13 @@ void daRd_c::createInit() {
|
||||
|
||||
/* 000046A4-00004720 .text getArg__6daRd_cFv */
|
||||
void daRd_c::getArg() {
|
||||
u32 params = fopAcM_GetParam(this);
|
||||
mWhichIdleAnm = fopAcM_GetParamBit(params, 0x00, 1);
|
||||
u8 radiusParam = fopAcM_GetParamBit(params, 0x01, 7);
|
||||
s32 areaRadius = radiusParam;
|
||||
mChecksSwitch = fopAcM_GetParamBit(params, 0x08, 8);
|
||||
mSwNo = fopAcM_GetParamBit(params, 0x18, 8);
|
||||
if ((s32)radiusParam == 0x7F) {
|
||||
u32 param = fopAcM_GetParam(this);
|
||||
mWhichIdleAnm = fopAcM_GetParamBit(param, 0x00, 1);
|
||||
u8 radiusParam = fopAcM_GetParamBit(param, 0x01, 7);
|
||||
int areaRadius = radiusParam;
|
||||
mChecksSwitch = fopAcM_GetParamBit(param, 0x08, 8);
|
||||
mSwNo = fopAcM_GetParamBit(param, 0x18, 8);
|
||||
if (areaRadius == 0x7F) {
|
||||
areaRadius = 0;
|
||||
}
|
||||
mAreaRadius = l_HIO.m30 + areaRadius;
|
||||
|
||||
@@ -163,7 +163,7 @@ BOOL daSwhit0_c::CreateInit() {
|
||||
mColSph.SetStts(&mColStatus);
|
||||
mColSph.SetC(attention_info.position);
|
||||
|
||||
if (dComIfGs_isSwitch(getSwNo(), current.roomNo)) {
|
||||
if (dComIfGs_isSwitch(getSwNo(), fopAcM_GetRoomNo(this))) {
|
||||
mState = 4;
|
||||
onFlag(0x01);
|
||||
}
|
||||
@@ -326,7 +326,7 @@ s32 daSwhit0_c::actionOnWait() {
|
||||
}
|
||||
|
||||
if (getType() == 0x02) {
|
||||
if (!dComIfGs_isSwitch(getSwNo(), current.roomNo)) {
|
||||
if (!dComIfGs_isSwitch(getSwNo(), fopAcM_GetRoomNo(this))) {
|
||||
offFlag(0x01);
|
||||
mState = 0;
|
||||
|
||||
@@ -349,7 +349,7 @@ s32 daSwhit0_c::actionOnTimer() {
|
||||
fopAcM_seStart(this, JA_SE_OBJ_COL_SWC_NSTONE, 0);
|
||||
}
|
||||
|
||||
if (dComIfGs_isSwitch(getSwNo2(), current.roomNo)) {
|
||||
if (dComIfGs_isSwitch(getSwNo2(), fopAcM_GetRoomNo(this))) {
|
||||
mState = 4;
|
||||
}
|
||||
else if (mOnTimer > 0) {
|
||||
@@ -359,7 +359,7 @@ s32 daSwhit0_c::actionOnTimer() {
|
||||
offFlag(0x01);
|
||||
mState = 0;
|
||||
|
||||
dComIfGs_offSwitch(getSwNo(), current.roomNo);
|
||||
dComIfGs_offSwitch(getSwNo(), fopAcM_GetRoomNo(this));
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
|
||||
@@ -70,8 +70,8 @@ bool daTagvolcano::Act_c::check_timer_clear() {
|
||||
|
||||
/* 00000338-000003BC .text _delete__Q212daTagvolcano5Act_cFv */
|
||||
bool daTagvolcano::Act_c::_delete() {
|
||||
if (check_timer_clear() && dComIfG_getTimerMode() == 3)
|
||||
dComIfG_TimerDeleteRequest();
|
||||
if (check_timer_clear())
|
||||
dComIfG_TimerDeleteRequest(3);
|
||||
fopAcM_offSwitch(this, prm_get_swSave());
|
||||
return true;
|
||||
}
|
||||
@@ -103,8 +103,7 @@ bool daTagvolcano::Act_c::_execute() {
|
||||
mDoAud_seStart(JA_SE_ISLE_TIMER_0);
|
||||
dComIfGp_getVibration().StartShock(6, -33, cXyz(0.0f, 1.0f, 0.0f));
|
||||
fopAcM_offSwitch(this, prm_get_swSave());
|
||||
if (dComIfG_getTimerMode() == 3)
|
||||
dComIfG_TimerDeleteRequest();
|
||||
dComIfG_TimerDeleteRequest(3);
|
||||
|
||||
field_0x298 = 0;
|
||||
field_0x299 = 0;
|
||||
@@ -129,8 +128,8 @@ bool daTagvolcano::Act_c::_execute() {
|
||||
}
|
||||
} else {
|
||||
if (dComIfGs_isTbox(prm_get_bitTRB())) {
|
||||
if (dComIfG_getTimerPtr() != NULL && dComIfG_getTimerMode() == 3)
|
||||
dComIfG_TimerDeleteRequest();
|
||||
if (dComIfG_getTimerPtr() != NULL)
|
||||
dComIfG_TimerDeleteRequest(3);
|
||||
if (mType == 1)
|
||||
dComIfGs_onEventBit(dSv_event_flag_c::UNK_1902);
|
||||
else
|
||||
@@ -148,8 +147,7 @@ bool daTagvolcano::Act_c::_execute() {
|
||||
if (dComIfG_getTimerRestTimeMs() <= 0) {
|
||||
mDoAud_seStart(JA_SE_ISLE_TIMER_0);
|
||||
dComIfGp_getVibration().StartShock(6, -33, cXyz(0.0f, 1.0f, 0.0f));
|
||||
if (dComIfG_getTimerMode() == 3)
|
||||
dComIfG_TimerDeleteRequest();
|
||||
dComIfG_TimerDeleteRequest(3);
|
||||
|
||||
field_0x2a4 = 1;
|
||||
fopAcM_orderOtherEvent(this, "TAG_VOLCANO");
|
||||
|
||||
Reference in New Issue
Block a user