d_a_player_main

This commit is contained in:
LagoLunatic
2024-01-03 15:55:56 -05:00
parent a811016a06
commit ea78ea5f5c
26 changed files with 1269 additions and 425 deletions
@@ -231,6 +231,7 @@ s32 J3DMaterialTable::setTexNoAnimator(J3DAnmTexPattern* pAnm, J3DTexNoAnm* pAnm
/* 802F6600-802F6798 .text setTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKeyP12J3DTexMtxAnmP12J3DTexMtxAnm */
s32 J3DMaterialTable::setTexMtxAnimator(J3DAnmTextureSRTKey* pAnm, J3DTexMtxAnm* pTexAnm, J3DTexMtxAnm* pDualAnmR) {
/* Nonmatching - regalloc */
s32 ret = 0;
u16 materialNum = pAnm->getUpdateMaterialNum();
@@ -246,12 +247,18 @@ s32 J3DMaterialTable::setTexMtxAnimator(J3DAnmTextureSRTKey* pAnm, J3DTexMtxAnm*
if (pMatAnm == NULL) {
ret = 1;
} else if (texMtxID != 0xFF) {
if (pMaterial->getTexGenBlock()->getTexCoord(texMtxID) != NULL)
pMaterial->getTexGenBlock()->getTexCoord(texMtxID)->setTexGenMtx(GX_TEXMTX0 + (texMtxID & 0xFF) * 3);
if (pMaterial->getTexCoord(texMtxID) != NULL)
pMaterial->getTexCoord(texMtxID)->setTexGenMtx(GX_TEXMTX0 + (texMtxID & 0xFF) * 3);
J3DTexMtx *pTexMtx = pMaterial->getTexGenBlock()->getTexMtx(texMtxID);
J3DTexMtx *pTexMtx = pMaterial->getTexMtx(texMtxID);
pTexMtx->getTexMtxInfo().mInfo = ((pTexMtx->getTexMtxInfo().mInfo) & 0x7F) | (pAnm->getTexMtxCalcType() << 7);
pTexMtx->getTexMtxInfo().mCenter = pAnm->getSRTCenter(i);
// Fakematch? The codegen doesn't match unless a temp variable is used and assigned to multiple times.
Vec* temp = &pAnm->getSRTCenter(i);
pTexMtx->getTexMtxInfo().mCenter.x = temp->x;
temp = &pAnm->getSRTCenter(i);
pTexMtx->getTexMtxInfo().mCenter.y = temp->y;
temp = &pAnm->getSRTCenter(i);
pTexMtx->getTexMtxInfo().mCenter.z = temp->z;
pMatAnm->setTexMtxAnm(texMtxID, &pTexAnm[i]);
}
+4 -4
View File
@@ -219,10 +219,10 @@ BOOL daHookshot_c::procWait() {
daPy_lk_c* link = daPy_getPlayerLinkActorClass();
current.pos = link->getHookshotRootPos();
MtxP leftHandtx = link->getModelJointMtx(0x08); // cl_LhandA joint
cMtx_copy(leftHandtx, m51C);
m51C[0][3] = current.pos.x;
m51C[1][3] = current.pos.y;
m51C[2][3] = current.pos.z;
cMtx_copy(leftHandtx, mMtx);
mMtx[0][3] = current.pos.x;
mMtx[1][3] = current.pos.y;
mMtx[2][3] = current.pos.z;
m2B0 = 0;
if (fopAcM_GetParam(this) == 1) {
+1 -1
View File
@@ -1368,7 +1368,7 @@ BOOL daItem_c::initAction() {
return TRUE;
}
// TODO: usage of uninitialized register?
// TODO: bug? usage of uninitialized register f31 in some cases
f32 temp_f31;
switch (mAction) {
case 1:
+1 -1
View File
@@ -231,7 +231,7 @@ void daObjBarrier_c::break_start_wait_proc() {
if ((player_p->current.pos - current.pos).absXZ() >= 8800.0f &&
dComIfGs_getSelectEquip(0) == MASTER_SWORD_EX)
{
switch (player_p->mAttackState) {
switch (player_p->getCutType()) {
case 1:
case 2:
case 3:
+5 -5
View File
@@ -521,13 +521,13 @@ void daObjMknjD::Act_c::privateCut() {
case ACT_BREAK:
if (daObjMknjD_break() == true) {
if (strcmp(dComIfGp_getStartStageName(), "Ekaze") == 0 || strcmp(dComIfGp_getStartStageName(), "Edaichi") == 0) {
mDoAud_bgmStart(0x80000000 | JA_BGM_JABOO_CAVE);
mDoAud_bgmStart(JA_BGM_JABOO_CAVE);
}
else if (m043E == true) {
mDoAud_bgmStart(0x80000000 | JA_BGM_D_WIND);
mDoAud_bgmStart(JA_BGM_D_WIND);
}
else {
mDoAud_bgmStart(0x80000000 | JA_BGM_D_EARTH);
mDoAud_bgmStart(JA_BGM_D_EARTH);
}
if (mSmokeCBs[2].getEmitter() != NULL) {
@@ -908,10 +908,10 @@ int daObjMknjD::Act_c::Execute(Mtx** i_mtx) {
}
if (m0432 == 1) {
if (m043E == true) {
mDoAud_bgmStart(0x80000000 | JA_BGM_TAKT_MAKORE);
mDoAud_bgmStart(JA_BGM_TAKT_MAKORE);
}
else {
mDoAud_bgmStart(0x80000000 | JA_BGM_TAKT_MEDRI);
mDoAud_bgmStart(JA_BGM_TAKT_MEDRI);
}
m0432 = 0;
+2 -2
View File
@@ -13,12 +13,12 @@
#include "d/actor/d_a_player_main.h"
/* 8014BAA0-8014BAEC .text fanWindEffectDraw__9daPy_lk_cFv */
void daPy_lk_c::fanWindEffectDraw() {
BOOL daPy_lk_c::fanWindEffectDraw() {
/* Nonmatching */
}
/* 8014BAEC-8014BB38 .text fanWindCrashEffectDraw__9daPy_lk_cFv */
void daPy_lk_c::fanWindCrashEffectDraw() {
BOOL daPy_lk_c::fanWindCrashEffectDraw() {
/* Nonmatching */
}
+1 -1
View File
@@ -127,7 +127,7 @@ BOOL daPy_lk_c::procFoodThrow() {
}
} else if (frameCtrl.checkPass(9.0f)) {
seStartOnlyReverb(JA_SE_LK_ESA_THROW);
void* esa = fopAcM_fastCreate(PROC_ESA, 0xFFFF0014, &field_0x2d4, fopAcM_GetRoomNo(this), &shape_angle);
void* esa = fopAcM_fastCreate(PROC_ESA, 0xFFFF0014, &mLeftHandPos, fopAcM_GetRoomNo(this), &shape_angle);
if (esa) {
m3630 = fopAcM_GetID(esa);
if (mDemo.getDemoType() != 5) {
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -28,7 +28,7 @@ void daPy_swimTailEcallBack_c::getMaxWaterY(JGeometry::TVec3<f32>* pos) {
if (field_0x10 > pos->y) {
pos->y = field_0x10 + 2.0f;
}
} else if (field_0x10 != 0.0f) {
} else if (field_0x10 != -1e9f) {
pos->y = field_0x10 + 2.0f;
} else {
pos->y = field_0x0C;
+3 -3
View File
@@ -657,19 +657,19 @@ bool daRd_c::checkTgHit() {
atInfo.pParticlePos = NULL;
atInfo.mpObj = mCyl.GetTgHitObj();
if (r29) {
cXyz* temp = mCyl.GetTgHitPosP();
cXyz* hitPos = mCyl.GetTgHitPosP();
cc_at_check(this, &atInfo);
if (mHitType == 1 || mHitType == 7 || mHitType == 8 || mHealth <= 0) {
dComIfGp_particle_set(0x10, mCyl.GetTgHitPosP());
cXyz scale(2.0f, 2.0f, 2.0f);
dComIfGp_particle_set(dPa_name::ID_COMMON_BIG_HIT, temp, &player->shape_angle, &scale);
dComIfGp_particle_set(dPa_name::ID_COMMON_BIG_HIT, hitPos, &player->shape_angle, &scale);
if (mHealth <= 0) {
modeProcInit(MODE_DEATH);
} else {
modeProcInit(MODE_DAMAGE);
}
} else {
dComIfGp_particle_set(dPa_name::ID_COMMON_NORMAL_HIT, temp, &player->shape_angle);
dComIfGp_particle_set(dPa_name::ID_COMMON_NORMAL_HIT, hitPos, &player->shape_angle);
modeProcInit(MODE_DAMAGE);
}
} else if (mHitType == 0xE) {
+1 -1
View File
@@ -1017,7 +1017,7 @@ BOOL daTbox_c::actionOpenWait() {
}
if (getShapeType() != 0) {
mDoAud_subBgmStart(0x80000000 | JA_BGM_OPEN_BOX);
mDoAud_subBgmStart(JA_BGM_OPEN_BOX);
mAllColRatio = 0.4f;
flagOn(0x08);
+3 -3
View File
@@ -587,9 +587,9 @@ void dEvDtStaff_c::specialProcDirector() {
u32* pBGM = dComIfGp_evmng_getMyIntegerP(staffIdx, "BGM_ID");
u32 bgm;
static u32 bgm_table[] = {
0x80000007, // JA_BGM_I_MAJU
0x80000012, // JA_BGM_TETRA_MEET
0x80000017, // JA_BGM_I_LINK_FOREST
JA_BGM_I_MAJU,
JA_BGM_TETRA_MEET,
JA_BGM_I_LINK_FOREST,
};
if (pBGM != NULL) {