Merge branch 'main' into pjb-audio

This commit is contained in:
PJB3005
2026-03-25 16:43:59 +01:00
61 changed files with 1574 additions and 500 deletions
+3 -3
View File
@@ -379,7 +379,7 @@ int daAlink_c::procBottleDrinkInit(u16 i_itemNo) {
mProcVar0.field_0x3008 = 0;
u32 id = fopAcM_GetID(this);
dCam_getBody()->StartEventCamera(0x12, id, "Type", 1, &field_0x3194, 0);
dCam_getBody()->StartEventCamera(0x12, id, "Type", 1, &field_0x3194, nullptr);
mProcVar2.field_0x300c = 0;
mProcVar3.field_0x300e = 0;
return 1;
@@ -429,7 +429,7 @@ int daAlink_c::procBottleOpenInit(u16 i_itemNo) {
mProcVar3.field_0x300e = 0;
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", 1, &field_0x3194, 0);
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", 1, &field_0x3194, nullptr);
mProcVar2.field_0x300c = 0;
field_0x27c8.initialize(current.pos.y + mHeight);
@@ -738,7 +738,7 @@ int daAlink_c::procBottleGetInit(BOOL param_0) {
}
u32 id = fopAcM_GetID(this);
dCam_getBody()->StartEventCamera(0x12, id, "Type", 1, &field_0x3194, 0);
dCam_getBody()->StartEventCamera(0x12, id, "Type", 1, &field_0x3194, nullptr);
if (mEquipItem == dItemNo_FAIRY_DROP_e || mEquipItem == dItemNo_CHUCHU_RARE_e || mEquipItem == dItemNo_WORM_e) {
setFaceBasicTexture(FTANM_I_BINGET);
+1 -1
View File
@@ -1575,7 +1575,7 @@ int daAlink_c::procCanoeBottleDrinkInit(u16 i_itemNo) {
dComIfGp_setPlayerStatus1(0, 0x2000);
field_0x319c = 1;
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", 1, &field_0x319c, 0);
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", 1, &field_0x319c, nullptr);
mProcVar2.field_0x300c = 0;
return 1;
}
+2 -2
View File
@@ -1982,7 +1982,7 @@ int daAlink_c::procCoLavaReturnInit(BOOL i_isSandReturn) {
mNormalSpeed = 0.0f;
field_0x3194 = 1;
dCam_getBody()->StartEventCamera(9, fopAcM_GetID(this), "Type", 1, &field_0x3194, 0);
dCam_getBody()->StartEventCamera(9, fopAcM_GetID(this), "Type", 1, &field_0x3194, nullptr);
return 1;
}
@@ -2040,7 +2040,7 @@ int daAlink_c::procCoSwimFreezeReturnInit() {
field_0x3194 = 1;
u32 id = fopAcM_GetID(this);
dCam_getBody()->StartEventCamera(9, id, "Type", 1, &field_0x3194, 0);
dCam_getBody()->StartEventCamera(9, id, "Type", 1, &field_0x3194, nullptr);
mProcVar2.field_0x300c = 0x2D;
return 1;
}
+3 -3
View File
@@ -3019,7 +3019,7 @@ int daAlink_c::procCoDead() {
if (!checkNoResetFlg2(FLG2_FORCE_GAMEOVER)) {
mProcVar3.field_0x300e++;
if (mProcVar3.field_0x300e == 2) {
dCam_getBody()->StartEventCamera(9, fopAcM_GetID(this), 0);
dCam_getBody()->StartEventCamera(9, fopAcM_GetID(this), nullptr);
} else if (mProcVar3.field_0x300e > 10) {
mProcVar3.field_0x300e = 10;
}
@@ -3330,7 +3330,7 @@ int daAlink_c::procCoFogDeadInit() {
field_0x3194 = 0;
dCam_getBody()->StartEventCamera(0x13, fopAcM_GetID(this), "Type", 1, &field_0x3194, 0);
dCam_getBody()->StartEventCamera(0x13, fopAcM_GetID(this), "Type", 1, &field_0x3194, nullptr);
mProcVar0.field_0x3008 = 60;
mProcVar2.field_0x300c = 0;
return 1;
@@ -3849,7 +3849,7 @@ int daAlink_c::procNotUseItemInit(int i_itemNo) {
current.angle.y = shape_angle.y;
field_0x3194 = 3;
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", 1, &field_0x3194, 0);
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", 1, &field_0x3194, nullptr);
keepItemData();
dComIfGp_setPlayerStatus1(0, 0x4000800);
+1 -1
View File
@@ -2570,7 +2570,7 @@ int daAlink_c::procHorseBottleDrinkInit(u16 i_itemNo) {
dComIfGp_setPlayerStatus1(0, 0x2000);
field_0x319c = 1;
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", 1, &field_0x319c, 0);
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", 1, &field_0x319c, nullptr);
mProcVar2.field_0x300c = 0;
return 1;
}
+1 -1
View File
@@ -256,7 +256,7 @@ void daAlink_c::commonKandelaarPourInit() {
mProcVar2.field_0x300c = 0;
dComIfGp_setPlayerStatus1(0, 0x2000);
field_0x3194 = 10;
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", 1, &field_0x3194, 0);
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", 1, &field_0x3194, nullptr);
}
int daAlink_c::commonKandelaarPour(int param_0) {
+1
View File
@@ -43,6 +43,7 @@ void daAlink_c::setOriginalHeap(JKRExpHeap** i_ppheap, u32 i_size) {
JKRHeap* parent = mDoExt_getGameHeap();
JKRExpHeap* heap = JKRExpHeap::create(size + (var_r29 + var_r28), parent, true);
JKRHEAP_NAME(heap, "Alink original");
*i_ppheap = heap;
}
}
+1 -1
View File
@@ -145,7 +145,7 @@ int daAlink_c::procGrassWhistleWaitInit(int param_0, int param_1, int param_2, s
mProcVar2.field_0x300c = param_0;
mProcVar3.field_0x300e = param_1;
dCam_getBody()->StartEventCamera(12, fopAcM_GetID(this), 0);
dCam_getBody()->StartEventCamera(12, fopAcM_GetID(this), nullptr);
mProcVar0.field_0x3008 = 0;
mProcVar4.field_0x3010 = 0;
mProcVar5.field_0x3012 = 0;
+3 -3
View File
@@ -3967,7 +3967,7 @@ int daAlink_c::procWolfHowlDemoInit() {
}
}
dCam_getBody()->StartEventCamera(12, fopAcM_GetID(this), 0);
dCam_getBody()->StartEventCamera(12, fopAcM_GetID(this), nullptr);
mProcVar1.field_0x300a = 0;
mMsgClassID = fpcM_ERROR_PROCESS_ID_e;
field_0x32cc = 0x5DD;
@@ -9206,7 +9206,7 @@ int daAlink_c::procWolfDigThroughInit(int param_0) {
field_0x3198 = 3;
}
dCam_getBody()->StartEventCamera(0x1E, fopAcM_GetID(this), "Type", 1, &field_0x3198, 0);
dCam_getBody()->StartEventCamera(0x1E, fopAcM_GetID(this), "Type", 1, &field_0x3198, nullptr);
cXyz sp8(current.pos.x, 30.0f + field_0x27f4->current.pos.y, current.pos.z);
if (fopAcM_gc_c::gndCheck(&sp8)) {
@@ -9413,7 +9413,7 @@ int daAlink_c::procWolfGetSmell() {
mProcVar4.field_0x3010 = 1;
dCam_getBody()->StartEventCamera(8, fopAcM_GetID(this), 0);
dCam_getBody()->StartEventCamera(8, fopAcM_GetID(this), nullptr);
field_0x2f99 = 12;
if (field_0x3198 == 0xBBC) {
+3
View File
@@ -3323,6 +3323,9 @@ void daB_GG_c::DeathCam() {
void daB_GG_c::GroundAction() {
s16 var_r30 = 0;
#if AVOID_UB
var_r30 = 1;
#endif
switch (mSubAction) {
case SUBACT_MOVE:
+9
View File
@@ -338,6 +338,10 @@ static s16 s_TargetAngle;
void daE_PM_c::SearchFarP() {
//! @bug best_distance is not initialized
f32 best_distance;
#if AVOID_UB
best_distance = 0.0f;
#endif
int best_index;
dPnt* pnt = dPath_GetPnt(mpPath, 0);
Vec pos;
@@ -2652,6 +2656,11 @@ void daE_PM_c::setGakkiBaseMtx() {
void daE_PM_c::setLampBaseMtx() {
cXyz vec1, vec2;
#if AVOID_UB
vec1.set(0, 0, 0);
vec2.set(0, 0, 0);
#endif
MTXCopy(mpMorf->getModel()->getAnmMtx(JNT_HAND_R), *calc_mtx);
cXyz vec3(0.0f, -30.0f, -5.0f);
//! @bug vec1 is not initialized in its first two uses, which are probably supposed to be vec3
+1 -1
View File
@@ -577,7 +577,7 @@ void daNpcTkc_c::reset() {
setAngle(fopAcM_searchPlayerAngleY(this));
static int const m_cameraItemNum = 1;
dCam_getBody()->StartEventCamera(18, fopAcM_GetID(this), "Type", 1, &m_cameraItemNum, 0);
dCam_getBody()->StartEventCamera(18, fopAcM_GetID(this), "Type", 1, &m_cameraItemNum, nullptr);
} else if (parentActorID == fpcM_ERROR_PROCESS_ID_e) {
home.pos.y += mpHIO->m.target_height;
} else {
+6 -4
View File
@@ -588,9 +588,11 @@ static void cut_control2(obj_brg_class* i_this, br_s* i_part) {
}
static void himo_cut_control1(obj_brg_class* i_this, cXyz* param_1, f32 param_2) {
cXyz sp74;
cXyz sp80;
cXyz sp8C;
STUB_RET();
cXyz sp74 = {};
cXyz sp80 = {};
cXyz sp8C = {};
sp74.x = 0.0f;
sp74.y = 0.0f;
@@ -602,7 +604,7 @@ static void himo_cut_control1(obj_brg_class* i_this, cXyz* param_1, f32 param_2)
sp74.y = 0.0f;
sp74.z = param_2;
int i, temp_r27 = (intptr_t) ++param_1;
intptr_t i, temp_r27 = (intptr_t) ++param_1;
f32 var_f31, var_f30, var_f29, var_f28, var_f27;
for (i = 1; i < 5; i++, param_1++) {
var_f28 = i_this->field_0xaf30 * cM_ssin( (i_this->field_0xaf20 * 6000) + (NREG_S(3) - 10000) * (temp_r27 + i) )
+1 -1
View File
@@ -164,7 +164,7 @@ int daObjTks_c::Create() {
field_0xde1 = 1;
static const int m_cameraItemNum = 1;
dCam_getBody()->StartEventCamera(18, fopAcM_GetID(this), "Type", 1, &m_cameraItemNum, 0);
dCam_getBody()->StartEventCamera(18, fopAcM_GetID(this), "Type", 1, &m_cameraItemNum, nullptr);
}
return phase_state;
+154 -113
View File
@@ -7,131 +7,160 @@
#include "d/actor/d_a_obj_wflag.h"
#include "d/d_com_inf_game.h"
#include "SSystem/SComponent/c_math.h"
#include "d/actor/d_a_e_wb.h"
#include "d/d_s_play.h"
static int daObj_Wflag_Draw(obj_wflag_class* i_this) {
g_env_light.settingTevStruct(0, &i_this->current.pos, &i_this->tevStr);
g_env_light.setLightTevColorType_MAJI(i_this->mpModel, &i_this->tevStr);
mDoExt_modelUpdateDL(i_this->mpModel);
J3DModel* morfModel = i_this->mMorf->getModel();
g_env_light.setLightTevColorType_MAJI(morfModel, &i_this->tevStr);
i_this->field_0x578->entry(morfModel->getModelData());
i_this->field_0x57c->entry(morfModel->getModelData());
i_this->mMorf->entryDL();
fopAc_ac_c* actor = &i_this->actor;
g_env_light.settingTevStruct(0, &actor->current.pos, &actor->tevStr);
g_env_light.setLightTevColorType_MAJI(i_this->pillar_model, &actor->tevStr);
mDoExt_modelUpdateDL(i_this->pillar_model);
J3DModel* morfModel = i_this->anm_p->getModel();
g_env_light.setLightTevColorType_MAJI(morfModel, &actor->tevStr);
i_this->kolin_btk->entry(morfModel->getModelData());
i_this->kolin_btp->entry(morfModel->getModelData());
i_this->anm_p->entryDL();
for (int i = 0; i < 1; i++) {
wf_tail_s* tail = &i_this->mTails[i];
wf_tail_s* tail = &i_this->tail_s[i];
for (int j = 0; j < 19; j++) {
g_env_light.setLightTevColorType_MAJI(tail->mModels[j], &i_this->tevStr);
mDoExt_modelUpdateDL(tail->mModels[j]);
g_env_light.setLightTevColorType_MAJI(tail->model[j], &actor->tevStr);
mDoExt_modelUpdateDL(tail->model[j]);
}
}
return 1;
}
static void tail_control(fopAc_ac_c* param_1, wf_tail_s* param_2) {
static f32 pd[19] = {1.0f, 0.9f, 0.8f, 0.7f, 0.6f, 0.5f, 0.4f, 0.3f, 0.2f, 0.2f,
0.2f, 0.2f, 0.2f, 0.2f, 0.2f, 0.2f, 0.2f, 0.2f, 0.2f};
static void tail_control(fopAc_ac_c* i_this, wf_tail_s* i_tail) {
static f32 pd[19] = {
1.0f, 0.9f, 0.8f, 0.7f, 0.6f, 0.5f, 0.4f, 0.3f, 0.2f, 0.2f,
0.2f, 0.2f, 0.2f, 0.2f, 0.2f, 0.2f, 0.2f, 0.2f, 0.2f,
};
cXyz sp4C;
cXyz sp40;
cXyz sp34;
cXyz local_74;
cXyz cStack_80;
int i;
cXyz* ptr;
f32 dVar11;
cXyz local_98;
cXyz local_a4;
f32 dVar9;
f32 dVar14;
f32 dVar13;
cXyz* pPos;
f32 var_f27;
f32 var_f28;
f32 var_f31;
f32 var_f30;
f32 speed;
csXyz* pAngle;
ptr = &param_2->field_0x004[1];
pAngle = &param_2->field_0x0f4[1];
dVar11 = -20.0f;
cMtx_YrotS(*calc_mtx, param_1->current.angle.y);
local_74.x = 0.0f;
local_74.y = 0.0f;
local_74.z = -(20.0f + param_1->speedF * 10.0f);
MtxPosition(&local_74, &local_98);
speed = param_1->speedF * 2.0f;
local_74.x = 0.0f;
local_74.y = 0.0f;
local_74.z = 20.0f;
for (i = 1; i < 20; i++, ptr++, pAngle++) {
local_a4.x =
local_98.x * pd[i - 1];
local_a4.z =
local_98.z * pd[i - 1];
local_a4.x += (speed * cM_ssin(param_2->field_0x000 * 5400 + i * (-3700))) * 0.3f;
local_a4.z += (speed * cM_ssin(param_2->field_0x000 * 5700 + i * (-4200))) * 0.3f;
local_a4.y = speed * cM_ssin(param_2->field_0x000 * 4200 + i * (-2400));
dVar9 = local_a4.x + (ptr->x - ptr[-1].x);
dVar14 = local_a4.y + (dVar11 + (ptr[0].y - ptr[-1].y));
dVar13 = local_a4.z + (ptr->z - ptr[-1].z);
s16 xRot = -cM_atan2s(dVar14, dVar13);
s32 yRot = cM_atan2s(dVar9, JMAFastSqrt(dVar14 * dVar14 + dVar13 * dVar13));
pPos = &i_tail->pos[1];
pAngle = &i_tail->rot[1];
var_f27 = NREG_F(2) + -20.0f;
cXyz sp28;
cXyz sp1C;
cMtx_YrotS(*calc_mtx, i_this->current.angle.y);
sp4C.x = 0.0f;
sp4C.y = 0.0f;
sp4C.z = -(NREG_F(3) + 20.0f + i_this->speedF * 10.0f);
MtxPosition(&sp4C, &sp28);
speed = i_this->speedF * (NREG_F(7) + 2.0f);
sp4C.x = 0.0f;
sp4C.y = 0.0f;
sp4C.z = NREG_F(0) + 20.0f;
for (i = 1; i < 20; i++, pPos++, pAngle++) {
sp1C.x = sp28.x * pd[i - 1];
sp1C.z = sp28.z * pd[i - 1];
sp1C.x += (speed * cM_ssin(i_tail->field_0x0 * (XREG_S(6) + 5400) + i * (XREG_S(7) + -3700))) * 0.3f;
sp1C.z += (speed * cM_ssin(i_tail->field_0x0 * (XREG_S(6) + 5700) + i * (XREG_S(7) + -4200))) * 0.3f;
sp1C.y = speed * cM_ssin(i_tail->field_0x0 * (XREG_S(6) + 4200) + i * (XREG_S(7) + -2400));
var_f28 = sp1C.x + (pPos->x - pPos[-1].x);
var_f31 = sp1C.y + (var_f27 + (pPos[0].y - pPos[-1].y));
var_f30 = sp1C.z + (pPos->z - pPos[-1].z);
s16 xRot = -cM_atan2s(var_f31, var_f30);
s16 yRot = (s16)cM_atan2s(var_f28, JMAFastSqrt(SQUARE(var_f31) + SQUARE(var_f30)));
cMtx_XrotS(*calc_mtx, xRot);
cMtx_YrotM(*calc_mtx, yRot);
MtxPosition(&local_74, &cStack_80);
pAngle[-1].x = xRot;
pAngle[-1].y = yRot;
*ptr = ptr[-1] + cStack_80;
MtxPosition(&sp4C, &sp40);
pAngle[-1].x = (s16)xRot;
pAngle[-1].y = (s16)yRot;
*pPos = pPos[-1] + sp40;
}
}
static void tail_mtxset(wf_tail_s* i_tail) {
for (int i = 0; i < 19; i++) {
MtxTrans(i_tail->field_0x004[i].x, i_tail->field_0x004[i].y, i_tail->field_0x004[i].z, 0);
cMtx_XrotM(*calc_mtx, i_tail->field_0x0f4[i].x);
cMtx_YrotM(*calc_mtx, i_tail->field_0x0f4[i].y);
MtxTrans(i_tail->pos[i].x, i_tail->pos[i].y, i_tail->pos[i].z, 0);
cMtx_XrotM(*calc_mtx, i_tail->rot[i].x);
cMtx_YrotM(*calc_mtx, i_tail->rot[i].y);
cMtx_XrotM(*calc_mtx, -0x8000);
cMtx_ZrotM(*calc_mtx, i * 0x2734);
i_tail->mModels[i]->setBaseTRMtx(*calc_mtx);
i_tail->model[i]->setBaseTRMtx(*calc_mtx);
}
}
static int daObj_Wflag_Execute(obj_wflag_class* i_this) {
cXyz cStack_3c;
i_this->field_0x836++;
fopAc_ac_c* actor = &i_this->actor;
cXyz sp14;
i_this->counter++;
for (int i = 0; i < 2; i++) {
if (i_this->field_0x830[i] != 0) {
i_this->field_0x830[i]--;
if (i_this->timers[i] != 0) {
i_this->timers[i]--;
}
}
if (i_this->field_0x834 != 0) {
i_this->field_0x834--;
if (i_this->unk_timer != 0) {
i_this->unk_timer--;
}
fopAc_ac_c* actor = fopAcM_SearchByID(i_this->parentActorID);
if (actor != NULL) {
i_this->current.angle.y = actor->shape_angle.y;
i_this->speedF = actor->speedF;
// TODO: Figure out what the actor class is
MTXCopy((*(mDoExt_McaMorfSO**)((char*)actor + 0x5e0))->getModel()->getAnmMtx(16), *calc_mtx);
cMtx_XrotM(*calc_mtx, (i_this->speedF * cM_ssin(i_this->field_0x836 * 5400)) * 5.0f);
i_this->mpModel->setBaseTRMtx(*calc_mtx);
fopAc_ac_c* parent = fopAcM_SearchByID(actor->parentActorID);
if (parent != NULL) {
actor->current.angle.y = parent->shape_angle.y;
actor->speedF = parent->speedF;
J3DModel* model = ((e_wb_class*)parent)->anm_p->getModel();
MTXCopy(model->getAnmMtx(YREG_S(3) + 16), *calc_mtx);
s16 rotX = (actor->speedF * cM_ssin(i_this->counter * 5400)) * 5.0f;
cMtx_XrotM(*calc_mtx, rotX);
i_this->pillar_model->setBaseTRMtx(*calc_mtx);
} else {
mDoMtx_stack_c::transS(i_this->current.pos.x, i_this->current.pos.y, i_this->current.pos.z);
mDoMtx_stack_c::YrotM(i_this->shape_angle.y);
i_this->mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
mDoMtx_stack_c::transS(actor->current.pos.x, actor->current.pos.y, actor->current.pos.z);
mDoMtx_stack_c::YrotM((s16)actor->shape_angle.y);
i_this->pillar_model->setBaseTRMtx(mDoMtx_stack_c::get());
}
MTXCopy(i_this->mpModel->getBaseTRMtx(), mDoMtx_stack_c::get());
mDoMtx_stack_c::transM(133.0f, 248.0f, 0.0f);
mDoMtx_stack_c::YrotM(0x4000);
mDoMtx_stack_c::XrotM(2100);
mDoMtx_stack_c::ZrotM(0);
i_this->mMorf->getModel()->setBaseTRMtx(mDoMtx_stack_c::get());
i_this->field_0x578->play();
i_this->field_0x57c->play();
i_this->mMorf->play(NULL, 0, 0);
i_this->mMorf->modelCalc();
MTXCopy(i_this->mpModel->getBaseTRMtx(), mDoMtx_stack_c::get());
MTXCopy(i_this->pillar_model->getBaseTRMtx(), mDoMtx_stack_c::get());
mDoMtx_stack_c::transM(VREG_F(0) + 133.0f, VREG_F(1) + 248.0f, VREG_F(2) + 0.0f);
mDoMtx_stack_c::YrotM(VREG_S(0) + 0x4000);
mDoMtx_stack_c::XrotM(VREG_S(1) + 2100);
mDoMtx_stack_c::ZrotM((s16)VREG_S(2));
J3DModel* model = i_this->anm_p->getModel();
model->setBaseTRMtx(mDoMtx_stack_c::get());
i_this->kolin_btk->play();
i_this->kolin_btp->play();
i_this->anm_p->play(NULL, 0, 0);
i_this->anm_p->modelCalc();
MTXCopy(i_this->pillar_model->getBaseTRMtx(), mDoMtx_stack_c::get());
for (int i = 0; i < 1; i++) {
wf_tail_s* pTail = &i_this->mTails[i];
mDoMtx_stack_c::transM(143.0f, 418.0f, 0.0f);
mDoMtx_stack_c::multVecZero(pTail->field_0x004);
pTail->field_0x000++;
tail_control(i_this, pTail);
tail_mtxset(pTail);
wf_tail_s* tail = &i_this->tail_s[i];
mDoMtx_stack_c::transM(VREG_F(3) + 143.0f, VREG_F(4) + 418.0f, VREG_F(5) + 0.0f);
mDoMtx_stack_c::multVecZero(tail->pos);
tail->field_0x0++;
tail_control(actor, tail);
tail_mtxset(tail);
}
return 1;
}
@@ -140,7 +169,9 @@ static int daObj_Wflag_IsDelete(obj_wflag_class* i_this) {
}
static int daObj_Wflag_Delete(obj_wflag_class* i_this) {
dComIfG_resDelete(&i_this->mPhaseReq, "Obj_wflag");
fopAc_ac_c* actor = &i_this->actor;
fpc_ProcID id = fopAcM_GetID(i_this);
dComIfG_resDelete(&i_this->phase, "Obj_wflag");
return 1;
}
@@ -148,61 +179,71 @@ static int useHeapInit(fopAc_ac_c* i_actor) {
obj_wflag_class* i_this = (obj_wflag_class*)i_actor;
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("Obj_wflag", 10);
JUT_ASSERT(409, modelData != NULL);
i_this->mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
if (i_this->mpModel == NULL) {
i_this->pillar_model = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
if (i_this->pillar_model == NULL) {
return 0;
}
i_this->mMorf = JKR_NEW mDoExt_McaMorf((J3DModelData*)dComIfG_getObjectRes("Obj_wflag", 11), NULL, NULL, ( J3DAnmTransform*)dComIfG_getObjectRes("Obj_wflag", 6), 2, 1.0f, 0, -1, 1, NULL, 0x80000, 0x11020284);
if (i_this->mMorf == NULL || i_this->mMorf->getModel() == NULL) {
i_this->anm_p = JKR_NEW mDoExt_McaMorf((J3DModelData*)dComIfG_getObjectRes("Obj_wflag", 11), NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("Obj_wflag", 6), 2, 1.0f, 0, -1, 1, NULL, 0x80000, 0x11020284);
if (i_this->anm_p == NULL || i_this->anm_p->getModel() == NULL) {
return 0;
}
i_this->field_0x578 = JKR_NEW mDoExt_btkAnm();
if (i_this->field_0x578 == NULL) {
i_this->kolin_btk = JKR_NEW mDoExt_btkAnm();
if (i_this->kolin_btk == NULL) {
return 0;
}
if (i_this->field_0x578->init(i_this->mMorf->getModel()->getModelData(), (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Obj_wflag", 14), 1, 2, 1.0f, 0, -1) == 0) {
if (i_this->kolin_btk->init(i_this->anm_p->getModel()->getModelData(), (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Obj_wflag", 14), 1, 2, 1.0f, 0, -1) == 0) {
return 0;
}
i_this->field_0x57c = JKR_NEW mDoExt_btpAnm();
if (i_this->field_0x57c == NULL) {
i_this->kolin_btp = JKR_NEW mDoExt_btpAnm();
if (i_this->kolin_btp == NULL) {
return cPhs_ERROR_e;
}
if (i_this->field_0x57c->init(i_this->mMorf->getModel()->getModelData(), (J3DAnmTexPattern*)dComIfG_getObjectRes("Obj_wflag", 18), 1, 2, 1.0f, 0, -1) == 0) {
if (i_this->kolin_btp->init(i_this->anm_p->getModel()->getModelData(), (J3DAnmTexPattern*)dComIfG_getObjectRes("Obj_wflag", 18), 1, 2, 1.0f, 0, -1) == 0) {
return cPhs_ERROR_e;
}
modelData = static_cast<J3DModelData*>(dComIfG_getObjectRes("Obj_wflag", 9));
JUT_ASSERT(479, modelData != NULL);
for (int i = 0; i < 1; i++) {
for (int j = 0; j < 19; j++) {
i_this->mTails[i].mModels[j] = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
if (i_this->mTails[i].mModels[j] == NULL) {
i_this->tail_s[i].model[j] = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
if (i_this->tail_s[i].model[j] == NULL) {
return 0;
}
}
}
return 1;
}
static int daObj_Wflag_Create(fopAc_ac_c* i_this) {
fopAcM_ct(i_this, obj_wflag_class);
int rv = dComIfG_resLoad(&((obj_wflag_class*)i_this)->mPhaseReq, "Obj_wflag");
static int daObj_Wflag_Create(fopAc_ac_c* actor) {
obj_wflag_class* i_this = (obj_wflag_class*)actor;
fopAcM_ct(actor, obj_wflag_class);
int rv = dComIfG_resLoad(&i_this->phase, "Obj_wflag");
if (rv == cPhs_COMPLEATE_e) {
OS_REPORT("OBJ_WFLAG PARAM %x\n", fopAcM_GetParam(i_this));
((obj_wflag_class*)i_this)->field_0x82c = fopAcM_GetParam(i_this);
OS_REPORT("OBJ_WFLAG PARAM %x\n", fopAcM_GetParam(actor));
i_this->unk_0x82c = fopAcM_GetParam(actor);
OS_REPORT("OBJ_WFLAG//////////////OBJ_WFLAG SET 1 !!\n");
if (fopAcM_entrySolidHeap(i_this, useHeapInit, 0xd700) == 0) {
if (!fopAcM_entrySolidHeap(actor, useHeapInit, 0xd700)) {
OS_REPORT("//////////////OBJ_WFLAG SET NON !!\n");
return cPhs_ERROR_e;
} else {
OS_REPORT("//////////////OBJ_WFLAG SET 2 !!\n");
((obj_wflag_class*)i_this)->field_0x836 = cM_rndF(65536.0f);
daObj_Wflag_Execute(((obj_wflag_class*)i_this));
}
OS_REPORT("//////////////OBJ_WFLAG SET 2 !!\n");
i_this->counter = cM_rndF(65536.0f);
daObj_Wflag_Execute(i_this);
}
return rv;
}
+28 -48
View File
@@ -34,60 +34,40 @@ static s8* l_loadResPtrnList[3] = {
l_loadResPtrn0,
};
static u8 l_faceMotionAnmData[140] = {
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E,
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02,
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02,
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1F,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
static daNpcT_faceMotionAnmData_c l_faceMotionAnmData[5] = {
{-1, 0, 0, 30, 2, 1, 1},
{10, 0, 1, 30, 2, 1, 1},
{8, 2, 1, 32, 2, 1, 0},
{9, 0, 1, 33, 0, 1, 0},
{7, 0, 1, 31, 0, 1, 0},
};
static u8 l_motionAnmData[308] = {
0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11,
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02,
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F,
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x01, 0x00, 0x00,
static daNpcT_motionAnmData_c l_motionAnmData[11] = {
{20, 2, 1, 27, 0, 1, 1, 0},
{17, 2, 1, 27, 0, 1, 1, 0},
{18, 2, 1, 27, 0, 1, 1, 0},
{21, 2, 1, 27, 0, 1, 1, 0},
{16, 2, 1, 27, 0, 1, 1, 0},
{15, 2, 1, 27, 0, 1, 1, 0},
{19, 0, 1, 27, 0, 1, 1, 0},
{13, 0, 1, 27, 0, 1, 1, 0},
{14, 2, 1, 27, 0, 1, 1, 0},
{12, 0, 1, 27, 0, 1, 1, 0},
{11, 0, 1, 27, 0, 1, 1, 0},
};
static u8 l_faceMotionSequenceData[80] = {
0x00, 0x01, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x02, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x03, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x04, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_faceMotionSequenceData[20] = {
{1, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {2, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
{0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {3, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
{4, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
};
static u8 l_motionSequenceData[160] = {
0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x01, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x02, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x05, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x06, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x07, 0xFF, 0x00, 0x00, 0x08, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x09, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x0A, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x03, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x04, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_motionSequenceData[40] = {
{0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {1, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
{2, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {5, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
{6, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {7, -1, 0}, {8, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
{9, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {10, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
{3, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {4, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
};
const char* daPeru_c::mCutNameList[3] = {
+1
View File
@@ -260,6 +260,7 @@ void daPy_anmHeap_c::createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE i_heapType) {
JKRHeap* tmp;
mAnimeHeap = mDoExt_createSolidHeapFromGameToCurrent(&tmp, size, 0x20);
JKRHEAP_NAMEF(mAnimeHeap, "Alink anime type %d", i_heapType);
if (i_heapType == 4) {
tmpWork = JKR_NEW_ARRAY(char, size);
+1
View File
@@ -138,6 +138,7 @@ int daTitle_c::create() {
m2DHeap = JKRCreateExpHeap(0x8000, mDoExt_getGameHeap(), false);
JUT_ASSERT(345, m2DHeap != NULL);
JKRHEAP_NAME(m2DHeap, "daTitle_c::m2DHeap");
loadWait_init();
g_daTitHIO.id = mDoHIO_CREATE_CHILD("タイトルロゴ", &g_daTitHIO);
+4
View File
@@ -510,6 +510,10 @@ dFlower_packet_c::dFlower_packet_c() {
}
m_deleteRoom = &dFlower_packet_c::deleteRoom;
#if AVOID_UB
m_playerSwordTop.set(0, 0, 0);
#endif
}
void dFlower_packet_c::draw() {
+198 -9
View File
@@ -36,15 +36,6 @@ void* dBgWKCol::initKCollision(void* i_kclData) {
be_swap(kcl->m_area_x_blocks_shift);
be_swap(kcl->m_area_xy_blocks_shift);
Vec* p_pos = kcl->m_pos_data;
Vec* p_nrm = kcl->m_nrm_data;
KC_PrismData* p_prism = kcl->m_prism_data;
BE(u32)* p_block = kcl->m_block_data;
int np = 0, nn = 0;
for (Vec* pw = p_pos; pw < p_nrm; pw++, np++)
be_swap(*pw);
for (Vec* pw = p_nrm; (uintptr_t)pw < (uintptr_t)p_prism; pw++, nn++)
be_swap(*pw);
// for (KC_PrismData* pw = p_prism; (uintptr_t)pw < (uintptr_t)p_block; pw++)
// be_swap(*pw);
@@ -73,8 +64,15 @@ void dBgWKCol::create(void* pprism, void* plc) {
}
void dBgWKCol::getTriNrm(KC_PrismData* pkc, Vec** nrm) const {
#if TARGET_PC
static Vec var_r31_v;
var_r31_v = m_pkc_head->m_nrm_data[pkc->fnrm_i];
be_swap(var_r31_v);
*nrm = &var_r31_v;
#else
Vec* var_r31 = &m_pkc_head->m_nrm_data[pkc->fnrm_i];
*nrm = var_r31;
#endif
}
bool dBgWKCol::ChkNotReady() const {
@@ -127,12 +125,29 @@ bool dBgWKCol::GetTriPnt(int poly_index, Vec* ppos, Vec* param_2, Vec* param_3)
bool dBgWKCol::GetTriPnt(KC_PrismData const* pd, Vec* ppos, Vec* param_3,
Vec* param_4) const {
#if TARGET_PC
*ppos = m_pkc_head->m_pos_data[pd->pos_i];
be_swap(*ppos);
Vec face_nrm_v = m_pkc_head->m_nrm_data[pd->fnrm_i];
be_swap(face_nrm_v);
Vec* face_nrm = &face_nrm_v;
Vec edge_nrm1_v = m_pkc_head->m_nrm_data[pd->enrm1_i];
be_swap(edge_nrm1_v);
Vec* edge_nrm1 = &edge_nrm1_v;
Vec edge_nrm2_v = m_pkc_head->m_nrm_data[pd->enrm2_i];
be_swap(edge_nrm2_v);
Vec* edge_nrm2 = &edge_nrm2_v;
Vec edge_nrm3_v = m_pkc_head->m_nrm_data[pd->enrm3_i];
be_swap(edge_nrm3_v);
Vec* edge_nrm3 = &edge_nrm3_v;
#else
*ppos = m_pkc_head->m_pos_data[pd->pos_i];
Vec* face_nrm = &m_pkc_head->m_nrm_data[pd->fnrm_i];
Vec* edge_nrm1 = &m_pkc_head->m_nrm_data[pd->enrm1_i];
Vec* edge_nrm2 = &m_pkc_head->m_nrm_data[pd->enrm2_i];
Vec* edge_nrm3 = &m_pkc_head->m_nrm_data[pd->enrm3_i];
#endif
Vec sp64;
PSVECCrossProduct(face_nrm, edge_nrm1, &sp64);
@@ -443,8 +458,17 @@ bool dBgWKCol::LineCheck(cBgS_LinChk* plinchk) {
} else {
while (*(++sp28) != 0) {
KC_PrismData* sp20 = getPrismData(sp28[0]);
#if TARGET_PC
Vec sp1C_v = m_pkc_head->m_nrm_data[sp20->fnrm_i];
be_swap(sp1C_v);
Vec* sp1C = &sp1C_v;
Vec sp18_v = m_pkc_head->m_pos_data[sp20->pos_i];
be_swap(sp18_v);
Vec* sp18 = &sp18_v;
#else
Vec* sp1C = &m_pkc_head->m_nrm_data[sp20->fnrm_i];
Vec* sp18 = &m_pkc_head->m_pos_data[sp20->pos_i];
#endif
cXyz spE4;
PSVECSubtract(&sp138, sp18, &spE4);
@@ -472,13 +496,32 @@ bool dBgWKCol::LineCheck(cBgS_LinChk* plinchk) {
cXyz spB4;
PSVECAdd(&spE4, &spC0, &spB4);
#if TARGET_PC
Vec sp14_v = m_pkc_head->m_nrm_data[sp20->enrm1_i];
be_swap(sp14_v);
Vec* sp14 = &sp14_v;
#else
Vec* sp14 = &m_pkc_head->m_nrm_data[sp20->enrm1_i];
#endif
if (PSVECDotProduct(&spB4, sp14) <= 0.0075f) {
#if TARGET_PC
Vec sp10_v = m_pkc_head->m_nrm_data[sp20->enrm2_i];
be_swap(sp10_v);
Vec* sp10 = &sp10_v;
#else
Vec* sp10 = &m_pkc_head->m_nrm_data[sp20->enrm2_i];
#endif
if (PSVECDotProduct(&spB4, sp10) <= 0.0075f) {
#if TARGET_PC
Vec spC_v =
m_pkc_head->m_nrm_data[sp20->enrm3_i];
be_swap(spC_v);
Vec* spC = &spC_v;
#else
Vec* spC =
&m_pkc_head->m_nrm_data[sp20->enrm3_i];
#endif
f32 var_f26 = PSVECDotProduct(&spB4, spC);
if (var_f26 >= -0.0075f &&
var_f26 <= sp20->height + 0.0075f)
@@ -596,18 +639,43 @@ bool dBgWKCol::GroundCross(cBgS_GndChk* i_chk) {
while (*++sp1C != 0) {
KC_PrismData* sp18 = getPrismData(sp1C[0]);
#if TARGET_PC
Vec sp14_v = m_pkc_head->m_nrm_data[sp18->fnrm_i];
be_swap(sp14_v);
Vec* sp14 = &sp14_v;
#else
Vec* sp14 = &m_pkc_head->m_nrm_data[sp18->fnrm_i];
#endif
if (!(sp14->y < 0.014f) && !cM3d_IsZero(sp14->y) && (!cBgW_CheckBWall(sp14->y) || i_chk->GetWallPrecheck())) {
#if TARGET_PC
Vec sp10_v = m_pkc_head->m_pos_data[sp18->pos_i];
be_swap(sp10_v);
Vec* sp10 = &sp10_v;
#else
Vec* sp10 = &m_pkc_head->m_pos_data[sp18->pos_i];
#endif
sp4C.x = point_p->x - sp10->x;
sp4C.z = point_p->z - sp10->z;
sp4C.y = -(sp4C.x * sp14->x + sp4C.z * sp14->z) / sp14->y;
#if TARGET_PC
Vec enrm1_v = m_pkc_head->m_nrm_data[sp18->enrm1_i];
be_swap(enrm1_v);
Vec enrm2_v = m_pkc_head->m_nrm_data[sp18->enrm2_i];
be_swap(enrm2_v);
if (!(PSVECDotProduct(&sp4C, &enrm1_v) > 0.0075f) &&
!(PSVECDotProduct(&sp4C, &enrm2_v) > 0.0075f))
{
Vec enrm3_v = m_pkc_head->m_nrm_data[sp18->enrm3_i];
be_swap(enrm3_v);
f32 var_f30 = PSVECDotProduct(&sp4C, &enrm3_v);
#else
if (!(PSVECDotProduct(&sp4C, &m_pkc_head->m_nrm_data[sp18->enrm1_i]) > 0.0075f) &&
!(PSVECDotProduct(&sp4C, &m_pkc_head->m_nrm_data[sp18->enrm2_i]) > 0.0075f))
{
f32 var_f30 = PSVECDotProduct(&sp4C, &m_pkc_head->m_nrm_data[sp18->enrm3_i]);
#endif
if (!(var_f30 > 0.0075f + sp18->height) && !(var_f30 < -0.0075f)) {
dBgPc sp64;
getPolyCode(sp1C[0], &sp64);
@@ -819,6 +887,22 @@ void dBgWKCol::ShdwDraw(cBgS_ShdwDraw* param_0) {
if (!ChkShdwDrawThrough(&polyCode_sp108)) {
prismData_sp20 = getPrismData(p_prismList[0]);
#if TARGET_PC
sp11C[0] =
m_pkc_head->m_pos_data[prismData_sp20->pos_i];
be_swap(sp11C[0]);
Vec nrm1_sp1C_v = m_pkc_head->m_nrm_data[prismData_sp20->fnrm_i];
be_swap(nrm1_sp1C_v);
nrm1_sp1C = &nrm1_sp1C_v;
Vec nrm2_sp18_v = m_pkc_head->m_nrm_data[prismData_sp20->enrm1_i];
be_swap(nrm2_sp18_v);
nrm2_sp18 = &nrm2_sp18_v;
Vec unk_sp14_v = m_pkc_head->m_nrm_data[prismData_sp20->enrm3_i];
be_swap(unk_sp14_v);
unk_sp14 = &unk_sp14_v;
#else
sp11C[0] =
m_pkc_head->m_pos_data[prismData_sp20->pos_i];
@@ -829,6 +913,7 @@ void dBgWKCol::ShdwDraw(cBgS_ShdwDraw* param_0) {
unk_sp14 = m_pkc_head->m_nrm_data +
prismData_sp20->enrm3_i;
#endif
PSVECCrossProduct(nrm1_sp1C, nrm2_sp18,
&cross1_spBC);
f32 dot = PSVECDotProduct(&cross1_spBC, unk_sp14);
@@ -839,8 +924,14 @@ void dBgWKCol::ShdwDraw(cBgS_ShdwDraw* param_0) {
&sp11C[2]);
// Second edge direction
#if TARGET_PC
Vec temp_sp10_v = m_pkc_head->m_nrm_data[prismData_sp20->enrm2_i];
be_swap(temp_sp10_v);
temp_sp10 = &temp_sp10_v;
#else
temp_sp10 = m_pkc_head->m_nrm_data +
prismData_sp20->enrm2_i;
#endif
PSVECCrossProduct(temp_sp10, nrm1_sp1C,
&cross2_spB0);
f32 dot2 =
@@ -990,7 +1081,13 @@ void dBgWKCol::CaptPoly(dBgS_CaptPoly& i_captpoly) {
if (r28 != sp28) {
while (*++r28 != 0) {
KC_PrismData* spC = getPrismData(r28[0]);
#if TARGET_PC
Vec sp8_v = m_pkc_head->m_nrm_data[spC->fnrm_i];
be_swap(sp8_v);
Vec* sp8 = &sp8_v;
#else
Vec* sp8 = &m_pkc_head->m_nrm_data[spC->fnrm_i];
#endif
dBgPc spD8;
getPolyCode(r28[0], &spD8);
@@ -1174,7 +1271,13 @@ bool dBgWKCol::WallCorrectSort(dBgS_Acch* pwi) {
} else {
while (*++sp_c8 != 0) {
KC_PrismData* sp_c0 = (KC_PrismData*)getPrismData(*sp_c8);
#if TARGET_PC
Vec sp_bc_v = m_pkc_head->m_nrm_data[sp_c0->fnrm_i];
be_swap(sp_bc_v);
Vec* sp_bc = &sp_bc_v;
#else
Vec* sp_bc = m_pkc_head->m_nrm_data + sp_c0->fnrm_i;
#endif
if (!cBgW_CheckBGround(sp_bc->y)) {
f32 sp_b8 = JMAFastSqrt(sp_bc->x * sp_bc->x + sp_bc->z * sp_bc->z);
if (!cM3d_IsZero(sp_b8)) {
@@ -1277,7 +1380,13 @@ bool dBgWKCol::WallCorrectSort(dBgS_Acch* pwi) {
}
int sp_a0 = sp_a4->_4;
KC_PrismData* sp_9c = (KC_PrismData*)getPrismData(sp_a0);
#if TARGET_PC
Vec sp_98_v = m_pkc_head->m_nrm_data[sp_9c->fnrm_i];
be_swap(sp_98_v);
Vec* sp_98 = &sp_98_v;
#else
Vec* sp_98 = m_pkc_head->m_nrm_data + sp_9c->fnrm_i;
#endif
f32 sp_94 = JMAFastSqrt(sp_98->x * sp_98->x + sp_98->z * sp_98->z);
cXyz sp_168;
cXyz sp_15c;
@@ -1635,7 +1744,13 @@ bool dBgWKCol::WallCorrect(dBgS_Acch* pwi) {
while (*++p_prismlist != 0) {
KC_PrismData* sp9C = (KC_PrismData*)getPrismData(*p_prismlist);
#if TARGET_PC
Vec sp98_v = m_pkc_head->m_nrm_data[sp9C->fnrm_i];
be_swap(sp98_v);
Vec* sp98 = &sp98_v;
#else
Vec* sp98 = m_pkc_head->m_nrm_data + sp9C->fnrm_i;
#endif
if (cBgW_CheckBGround(sp98->y)) {
continue;
}
@@ -1932,15 +2047,48 @@ bool dBgWKCol::RoofChk(dBgS_RoofChk* param_0) {
while (*++p_prismlist != 0) {
sp1C = getPrismData(p_prismlist[0]);
#if TARGET_PC
Vec sp18_v = m_pkc_head->m_nrm_data[sp1C->fnrm_i];
be_swap(sp18_v);
sp18 = &sp18_v;
#else
sp18 = m_pkc_head->m_nrm_data + sp1C->fnrm_i;
#endif
if (cBgW_CheckBRoof(sp18->y)) {
#if TARGET_PC
Vec sp14_v = m_pkc_head->m_pos_data[sp1C->pos_i];
be_swap(sp14_v);
sp14 = &sp14_v;
#else
sp14 = m_pkc_head->m_pos_data + sp1C->pos_i;
#endif
cXyz sp5C;
sp5C.x = sp40->x - sp14->x;
sp5C.z = sp40->z - sp14->z;
sp5C.y = -(sp5C.x * sp18->x + sp5C.z * sp18->z) / sp18->y;
#if TARGET_PC
Vec enrm1_v = m_pkc_head->m_nrm_data[sp1C->enrm1_i];
be_swap(enrm1_v);
if (PSVECDotProduct(&sp5C, &enrm1_v) >
0.0075f)
{
continue;
}
Vec enrm2_v = m_pkc_head->m_nrm_data[sp1C->enrm2_i];
be_swap(enrm2_v);
if (PSVECDotProduct(&sp5C,
&enrm2_v) > 0.0075f)
{
continue;
}
Vec enrm3_v = m_pkc_head->m_nrm_data[sp1C->enrm3_i];
be_swap(enrm3_v);
f32 dot_f30 = PSVECDotProduct(&sp5C, &enrm3_v);
#else
if (PSVECDotProduct(&sp5C, &m_pkc_head->m_nrm_data[sp1C->enrm1_i]) >
0.0075f)
{
@@ -1954,6 +2102,7 @@ bool dBgWKCol::RoofChk(dBgS_RoofChk* param_0) {
}
f32 dot_f30 = PSVECDotProduct(&sp5C, &m_pkc_head->m_nrm_data[sp1C->enrm3_i]);
#endif
if (dot_f30 < -0.0075f || dot_f30 > sp1C->height + 0.0075f) {
continue;
}
@@ -2050,7 +2199,13 @@ bool dBgWKCol::SplGrpChk(dBgS_SplGrpChk* param_0) {
BE(u16)* p_prismlist = (BE(u16)*)(block + (idx & 0x7fffffff));
while (*++p_prismlist != 0) {
KC_PrismData* sp18 = getPrismData(*p_prismlist);
#if TARGET_PC
Vec sp14_v = m_pkc_head->m_nrm_data[sp18->fnrm_i];
be_swap(sp14_v);
Vec* sp14 = &sp14_v;
#else
Vec* sp14 = m_pkc_head->m_nrm_data + sp18->fnrm_i;
#endif
if (!(sp14->y <= 0.0f) && !cM3d_IsZero(sp14->y)) {
dBgPc sp64;
getPolyCode(*p_prismlist, &sp64);
@@ -2058,11 +2213,38 @@ bool dBgWKCol::SplGrpChk(dBgS_SplGrpChk* param_0) {
if (!chkPolyThrough(&sp64, param_0->GetPolyPassChk(),
param_0->GetGrpPassChk(), sp4C))
{
#if TARGET_PC
Vec sp10_v = m_pkc_head->m_pos_data[sp18->pos_i];
be_swap(sp10_v);
Vec* sp10 = &sp10_v;
#else
Vec* sp10 = m_pkc_head->m_pos_data + sp18->pos_i;
#endif
cXyz sp40;
sp40.x = sp3C->x - sp10->x;
sp40.z = sp3C->z - sp10->z;
sp40.y = -(sp40.x * sp14->x + sp40.z * sp14->z) / sp14->y;
#if TARGET_PC
Vec enrm1_v = m_pkc_head->m_nrm_data[sp18->enrm1_i];
be_swap(enrm1_v);
if (PSVECDotProduct(&sp40, &enrm1_v) >
0.0075f)
{
continue;
}
Vec enrm2_v = m_pkc_head->m_nrm_data[sp18->enrm2_i];
be_swap(enrm2_v);
if (PSVECDotProduct(&sp40, &enrm2_v) >
0.0075f)
{
continue;
}
Vec enrm3_v = m_pkc_head->m_nrm_data[sp18->enrm3_i];
be_swap(enrm3_v);
f32 var_f30 = PSVECDotProduct(&sp40, &enrm3_v);
#else
if (PSVECDotProduct(&sp40, &m_pkc_head->m_nrm_data[sp18->enrm1_i]) >
0.0075f)
{
@@ -2076,6 +2258,7 @@ bool dBgWKCol::SplGrpChk(dBgS_SplGrpChk* param_0) {
}
f32 var_f30 = PSVECDotProduct(&sp40, &m_pkc_head->m_nrm_data[sp18->enrm3_i]);
#endif
if (var_f30 < -0.0075f || var_f30 > sp18->height + 0.0075f) {
continue;
}
@@ -2225,7 +2408,13 @@ bool dBgWKCol::SphChk(dBgS_SphChk* param_0, void* param_1) {
if (var_r28 != sp30) {
while (*++var_r28 != 0) {
KC_PrismData* sp14 = getPrismData(*var_r28);
#if TARGET_PC
Vec sp10_v = m_pkc_head->m_nrm_data[sp14->fnrm_i];
be_swap(sp10_v);
Vec* sp10 = &sp10_v;
#else
Vec* sp10 = &m_pkc_head->m_nrm_data[sp14->fnrm_i];
#endif
getPolyCode(*var_r28, &spD4);
cXyz sp90 = *sp10;
if (!chkPolyThrough(&spD4, param_0->GetPolyPassChk(),
+6
View File
@@ -2080,6 +2080,12 @@ void dComIfGp_createSubExpHeap2D() {
if (dComIfGp_getSubExpHeap2D(i) == NULL) {
JKRExpHeap* i_heap = JKRCreateExpHeap(size, dComIfGp_getExpHeap2D(), false);
JUT_ASSERT(3576, i_heap != NULL);
#if TARGET_PC
if (i_heap != NULL) {
JKRHEAP_NAMEF(i_heap, "SubExpHeap2D %d", i);
}
#endif
dComIfGp_setSubExpHeap2D(i, i_heap);
}
}
+18
View File
@@ -15,6 +15,8 @@
#include "SSystem/SComponent/c_counter.h"
#include <cstring>
#include "JSystem/JKernel/JKRExpHeap.h"
inline BOOL dEvDtFlagCheck(int i_flag) {
return dComIfGp_getEventManager().getFlags().flagCheck(i_flag);
}
@@ -318,6 +320,17 @@ static int dEvDt_Next_Stage(int i_staffId, int i_wipe) {
return 1;
}
#if TARGET_PC
void dEvDtStaff_c::StaffWorkPtrHolder::createPtr() {
if (m_ptr == nullptr)
m_ptr = (StaffWork*)JKRAllocFromHeap(mDoExt_getGameHeap(), sizeof(StaffWork), 8);
}
void dEvDtStaff_c::StaffWorkPtrHolder::deletePtr() {
delete m_ptr;
m_ptr = nullptr;
}
#endif
BOOL dEvDtFlag_c::flagCheck(int flag) {
if (flagMaxCheck(flag)) {
return FALSE;
@@ -527,7 +540,12 @@ void dEvDtStaff_c::specialProcLight() {
void dEvDtStaff_c::specialProcMessage() {
MessageData* data = (MessageData*)&mData;
#if TARGET_PC
StaffWorkPtrHolder& wk = *(StaffWorkPtrHolder*)&mWork;
wk.createPtr();
#else
StaffWork* wk = (StaffWork*)&mWork;
#endif
int staffId = dComIfGp_evmng_getMyStaffId("MESSAGE", NULL, 0);
if (staffId == -1) {
+1
View File
@@ -38,6 +38,7 @@ int dkWpillar_c::create() {
mpHeap = mDoExt_createSolidHeapFromGameToCurrent(0x2200, 0x20);
if (mpHeap != NULL) {
JKRHEAP_NAME(mpHeap, "d_k_wpillar::mpModel");
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 0x1C);
JUT_ASSERT(96, modelData);
+21 -1
View File
@@ -100,6 +100,7 @@ dMenu_DmapBg_c::dMenu_DmapBg_c(JKRExpHeap* i_heap, STControl* i_stick) {
mpTalkHeap = JKRCreateExpHeap(0x32000, mpHeap, false);
JUT_ASSERT(624, mpTalkHeap != NULL);
JKRHEAP_NAME(mpTalkHeap, "dMenu_DmapBg_c::mpTalkHeap");
mpItemExplain = NULL;
@@ -864,14 +865,23 @@ void dMenu_DmapBg_c::draw() {
grafContext->setup2D();
GXGetScissor(&scissor_left, &scissor_top, &scissor_width, &scissor_height);
grafContext->scissor(field_0xd94, 0.0f, FB_WIDTH, FB_HEIGHT);
#if TARGET_PC
grafContext->scissor(field_0xd94, 0.0f, mDoGph_gInf_c::getWidth(), mDoGph_gInf_c::getHeight());
#else
grafContext->scissor(field_0xd94, 0.0f, FB_WIDTH, FB_HEIGHT);
#endif
grafContext->setScissor();
mBaseScreen->draw(field_0xd94, field_0xd98, grafContext);
dMenu_Dmap_c::myclass->drawFloorScreenBack(mFloorScreen, field_0xd94, field_0xd98, grafContext);
#if TARGET_PC
f32 dVar21 = mDoGph_gInf_c::getWidth() / FB_WIDTH;
f32 dVar16 = mDoGph_gInf_c::getHeight() / FB_HEIGHT;
#else
f32 dVar21 = mDoGph_gInf_c::getWidthF() / FB_WIDTH;
f32 dVar16 = mDoGph_gInf_c::getHeightF() / FB_HEIGHT;
#endif
mMapScreen[0]->draw(field_0xd94, field_0xd98, grafContext);
if (mpBackTexture != NULL) {
@@ -896,9 +906,15 @@ void dMenu_DmapBg_c::draw() {
mpBackTexture->draw(local_28c, field_0xd94 + mpBackTexture->getBounds().i.y, mpBackTexture->getWidth(),
mpBackTexture->getHeight(), false, false, false);
#if TARGET_PC
grafContext->scissor(field_0xd94,
0, mDoGph_gInf_c::getWidth(),
scissor_height);
#else
grafContext->scissor(field_0xd94 + mDoGph_gInf_c::getMinXF(),
scissor_top, mDoGph_gInf_c::getWidthF(),
scissor_height);
#endif
grafContext->setScissor();
}
@@ -918,7 +934,11 @@ void dMenu_DmapBg_c::draw() {
Vec local_26c = pane.getGlobalVtx(mMapPane, &local_110, 0, false, 0);
drawIcon(local_26c.x + field_0xd94, local_26c.y, field_0xda8, 1.0f);
#if TARGET_PC
grafContext->scissor(field_0xd94, scissor_top, mDoGph_gInf_c::getWidth(), scissor_height);
#else
grafContext->scissor(field_0xd94 + mDoGph_gInf_c::getMinXF(), scissor_top, mDoGph_gInf_c::getWidthF(), scissor_height);
#endif
grafContext->setScissor();
grafContext->scissor(scissor_left, scissor_top, scissor_width, scissor_height);
grafContext->setScissor();
+12 -10
View File
@@ -1,27 +1,28 @@
#include "d/dolzel.h" // IWYU pragma: keep
#include "d/d_menu_fmap.h"
#include "SSystem/SComponent/c_math.h"
#include <cstdio>
#include <cstring>
#include "JSystem/JKernel/JKRAramArchive.h"
#include "JSystem/JKernel/JKRExpHeap.h"
#include "JSystem/JKernel/JKRMemArchive.h"
#include <cstdio>
#include <cstring>
#include "f_op/f_op_msg_mng.h"
#include "SSystem/SComponent/c_math.h"
#include "d/actor/d_a_midna.h"
#include "d/actor/d_a_player.h"
#include "d/d_com_inf_game.h"
#include "d/d_lib.h"
#include "d/d_menu_fmap.h"
#include "d/d_menu_fmap2D.h"
#include "d/d_menu_fmap_map.h"
#include "d/d_menu_window.h"
#include "d/d_meter_HIO.h"
#include "d/d_meter_map.h"
#include "d/d_meter2_draw.h"
#include "d/d_meter2_info.h"
#include "d/d_meter_HIO.h"
#include "d/d_meter_map.h"
#include "d/d_msg_object.h"
#include "d/d_msg_scrn_explain.h"
#include "d/d_stage.h"
#include "d/actor/d_a_player.h"
#include "d/actor/d_a_midna.h"
#include "dusk/memory.h"
#include "f_op/f_op_msg_mng.h"
static dMf_HIO_c g_fmHIO;
@@ -189,8 +190,9 @@ dMenu_Fmap_c::dMenu_Fmap_c(JKRExpHeap* i_heap, STControl* i_stick, CSTControl* i
field_0x148[i] = 0.0f;
}
mpTalkHeap = JKRCreateExpHeap(0x32000, mpHeap, false);
mpTalkHeap = JKRCreateExpHeap(HEAP_SIZE(0x32000, 0x40000), mpHeap, false);
JUT_ASSERT(359, mpTalkHeap != NULL);
JKRHEAP_NAME(mpTalkHeap, "dMenu_Fmap_c::mpTalkHeap");
field_0x200 = 0;
mIsWarpMap = false;
+16 -3
View File
@@ -275,14 +275,18 @@ void dMenu_Fmap2DBack_c::draw() {
u32 scissorLeft, scissorTop, scissorWidth, scissorHeight;
GXGetScissor(&scissorLeft, &scissorTop, &scissorWidth, &scissorHeight);
#if TARGET_PC
grafPort->scissor(mTransX, 0.0f, mDoGph_gInf_c::getWidth(), mDoGph_gInf_c::getHeight());
#else
grafPort->scissor(mTransX, 0.0f, FB_WIDTH, FB_HEIGHT);
#endif
grafPort->setScissor();
mpBackTex->setBlackWhite(field_0x1208, field_0x120c);
mpBackTex->setAlpha(mAlphaRate * 255.0f * g_fmapHIO.mBackgroundAlpha);
mpBackTex->draw(mTransX + mDoGph_gInf_c::getMinXF(),
mTransZ + mDoGph_gInf_c::getMinYF(), mDoGph_gInf_c::getWidthF(),
mDoGph_gInf_c::getHeightF(), false, false, false);
mTransZ + mDoGph_gInf_c::getMinYF(), mDoGph_gInf_c::getWidth(),
mDoGph_gInf_c::getHeight(), false, false, false);
mpBackScreen->draw(mTransX, mTransZ, grafPort);
mpBaseScreen->draw(mTransX, mTransZ, grafPort);
@@ -292,8 +296,13 @@ void dMenu_Fmap2DBack_c::draw() {
Vec vec2 = mpMapArea->getGlobalVtx(&mtx, 3, false, 0);
f32 width = mDoGph_gInf_c::getWidthF() / FB_WIDTH;
#if TARGET_PC
f32 width = mDoGph_gInf_c::getWidthF() / mDoGph_gInf_c::getWidth();
f32 height = mDoGph_gInf_c::getHeightF() / mDoGph_gInf_c::getHeight();
#else
f32 width = mDoGph_gInf_c::getWidthF() / FB_WIDTH;
f32 height = mDoGph_gInf_c::getHeightF() / FB_HEIGHT;
#endif
grafPort->scissor(mTransX + ((vec1.x - mDoGph_gInf_c::getMinXF()) / width),
mTransZ + (vec1.y / height), (vec2.x - vec1.x) / width,
@@ -2554,7 +2563,11 @@ void dMenu_Fmap2DTop_c::draw() {
J2DOrthoGraph* ctx = static_cast<J2DOrthoGraph*>(dComIfGp_getCurrentGrafPort());
ctx->setup2D();
GXGetScissor(&scissor_left, &scissor_top, &scissor_width, &scissor_height);
#if TARGET_PC
ctx->scissor(mTransX, 0.0f, mDoGph_gInf_c::getWidth(), mDoGph_gInf_c::getHeight());
#else
ctx->scissor(mTransX, 0.0f, FB_WIDTH, FB_HEIGHT);
#endif
ctx->setScissor();
mpTitleScreen->draw(mTransX, mTransY, ctx);
ctx->scissor(scissor_left, scissor_top, scissor_width, scissor_height);
+1
View File
@@ -1173,6 +1173,7 @@ dPa_control_c::dPa_control_c() {
size_t heapSize = 0x96000;
#endif
m_resHeap = JKRCreateExpHeap(heapSize, mDoExt_getArchiveHeap(), false);
JKRHEAP_NAME(m_resHeap, "Particle control");
JUT_ASSERT(2426, m_resHeap != NULL);
mHeap = NULL;
mSceneHeap = NULL;
+2
View File
@@ -606,6 +606,7 @@ int dRes_info_c::setRes() {
heap->lock();
mDataHeap = mDoExt_createSolidHeapToCurrent(0, heap, 0x20);
JUT_ASSERT(1260, mDataHeap != NULL);
JKRHEAP_NAMEF(mDataHeap, "Resource (%s)", mArchiveName);
int rt = loadResource();
mDoExt_restoreCurrentHeap();
@@ -624,6 +625,7 @@ int dRes_info_c::setRes() {
OSReport_Error("<%s.arc> mDMCommandsetRes: can't alloc memory\n", mArchiveName);
return -1;
}
JKRHEAP_NAMEF(mDataHeap, "Resource (%s)", mArchiveName);
int rt = loadResource();
mDoExt_restoreCurrentHeap();
r28 = mDoExt_adjustSolidHeap(mDataHeap);
+2
View File
@@ -945,9 +945,11 @@ static int phase_0(dScnLogo_c* i_this) {
i_this->mLogoHeap = JKRExpHeap::create(i_this->dummyGameAlloc, var_r29, NULL, false);
JUT_ASSERT(1525, i_this->mLogoHeap != NULL);
JKRHEAP_NAME(i_this->mLogoHeap, "Logo");
i_this->mLogo01Heap = JKRCreateExpHeap(var_r28, i_this->mLogoHeap, false);
JUT_ASSERT(1528, i_this->mLogo01Heap != NULL);
JKRHEAP_NAME(i_this->mLogo01Heap, "Logo01");
#if VERSION == VERSION_GCN_PAL
switch (i_this->getPalLanguage()) {
+1
View File
@@ -71,6 +71,7 @@ s32 dScnName_c::create() {
if (phase_state == cPhs_COMPLEATE_e) {
mHeap = JKRCreateExpHeap(HEAP_SIZE(0x180000, 0x1C0000), mDoExt_getGameHeap(), false);
JUT_ASSERT(289, mHeap != NULL);
JKRHEAP_NAME(mHeap, "File select");
field_0x1d0 = (JKRExpHeap*)mDoExt_setCurrentHeap(mHeap);