mirror of
https://github.com/zeldaret/tp
synced 2026-07-29 15:43:25 -04:00
d_a_npc work
daBaseNpc_c::setBckAnm and J3DAnmTransform* daBaseNpc_c daBaseNpc_c::setBtpAnm daBaseNpc_c::attnSttsOn daBaseNpc_c::orderEvent daBaseNpc_c::setEnvTevColor daBaseNpc_c::setRoomNo daBaseNpc_c::checkEndAnm attempt CheckCreateHeap daNpcF_addIdx daNpcF_subIdx daNpcF_incIdx daNpcF_decIdx daNpcF_ActorMngr_c::initialize() daNpcF_ActorMngr_c::entry cleanup daNpcF_ActorMngr_c::entry daNpcF_ActorMngr_c::remove daNpcF_ActorMngr_c::getActorP daNpcF_MatAnm_c::calc attempt daNpcF_SPCurve_c::initialize minor fixes daNpcF_Path_c::initialize daNpcF_Path_c::setPathInfo daNpcF_Path_c::chkPassed daNpcF_Path_c::reverse daNpcF_Path_c::setNextIdx daNpcF_Path_c::getNextIdx daNpcF_Path_c::getBeforeIdx daNpcF_Path_c::getBeforePos daNpcF_Path_c::getNextPos daNpcT_MatAnm_c::initialize daNpcT_MatAnm_c::calc daNpcT_addIdx daNpcT_subIdx daNpcT_decIdx daNpcT_Path_c::hermite daNpcT_Path_c::initialize daNpcT_Path_c::setPathInfo attempt daNpcT_Path_c::setNextPathInfo daNpcT_Path_c::reverse daNpcT_Path_c::setNextIdx daNpcT_Path_c::getDstPos attempt daNpcT_DmgStagger_c::setParam Add FLOAT_LABEL where possible fopEn_enemy / fix e_wb move jasper's jsystem work over d_attention / d_demo / d_lib work remove asm clean up dolphin files / work on some rels (#212) * d_a_alldie / d_a_tboxSw / d_a_tag_gstart / d_a_tag_hstop * dolphin OS work / cleanup * dolphin GX work / cleanup * finish changing dolphin files to C * more files into C * match rest of MSL_C math functions * more dolphin files converted to C * remove asm * d_bg_w work * remove asm * d_a_alink work / kytag14 initial changes to d_a_e_yc checkpoint until virtual destructor issue is solved daNpcF_Lookat_c::adjustMoveDisAngle daBaseNpc_c::setMtx daBaseNpc_moveBgActor_c::daBaseNpc_moveBgActor_c() daNpcT_c::ctrlFaceMotion daNpcT_c::ctrlMsgAnm attempt daNpcT_c::initTalk daNpcF_clearMessageTmpBit daNpcF_getDistTableIdx daNpcF_offTmpBit daNpcF_onTmpBit daNpcF_chkTmpBit daNpcF_onEvtBit daNpcF_chkEvtBit daNpcF_c::getDistTableIdx daNpcF_chkPointInArea daNpcF_chkDoBtnEqSpeak daNpcF_getPlayerInfoFromPlayerList attempt daNpcF_pntVsLineSegmentLengthSquare2D daNpcF_c::chkPointInArea daNpcF_c::chkPointInArea daNpcF_c::getAttentionPos daNpcT_chkTmpBit daNpcT_offTmpBit daNpcT_onTmpBit daNpcT_chkEvtBit daNpcT_offEvtBit daNpcT_onEvtBit daNpcT_chkDoBtnIsSpeak daNpcT_getDistTableIdx daBaseNpc_acMngr_c::entry daNpcF_c::initTalk undo override
This commit is contained in:
+448
-288
File diff suppressed because it is too large
Load Diff
+30
-29
@@ -1,3 +1,5 @@
|
||||
#include "rel/d/a/d_a_boomerang/d_a_boomerang.h"
|
||||
|
||||
/* 800DFFE0-800E0010 0DA920 0030+00 0/0 0/0 1/1 .text checkBoomerangLockAccept__9daAlink_cFv */
|
||||
BOOL daAlink_c::checkBoomerangLockAccept() {
|
||||
return mSight.getDrawFlg() && i_dComIfGp_checkPlayerStatus0(0, 0x80000);
|
||||
@@ -9,9 +11,9 @@ BOOL daAlink_c::checkBoomerangLockAccept() {
|
||||
f32 daAlink_c::getBoomSpeed() {
|
||||
f32 speed;
|
||||
if (checkBoomerangChargeEndWait()) {
|
||||
speed = daAlinkHIO_boom_c0::m.field_0x38;
|
||||
speed = daAlinkHIO_boom_c0::m.mFlySpeed2;
|
||||
} else {
|
||||
speed = daAlinkHIO_boom_c0::m.field_0x34;
|
||||
speed = daAlinkHIO_boom_c0::m.mFlySpeed;
|
||||
}
|
||||
|
||||
if (i_checkModeFlg(0x400) && mRideAcKeep.getActor() != NULL && mSpeedF > FLOAT_LABEL(lit_6108)) {
|
||||
@@ -39,22 +41,22 @@ f32 daAlink_c::getBoomCatchSpeed() const {
|
||||
/* 800E00C0-800E011C 0DAA00 005C+00 1/1 0/0 1/1 .text getBoomFlyMax__9daAlink_cCFv */
|
||||
f32 daAlink_c::getBoomFlyMax() const {
|
||||
if (i_checkModeFlg(0x400) && !checkCanoeRide()) {
|
||||
return daAlinkHIO_boom_c0::m.field_0x40;
|
||||
return daAlinkHIO_boom_c0::m.mHorsebackFlyDistMax;
|
||||
} else {
|
||||
return daAlinkHIO_boom_c0::m.field_0x3c;
|
||||
return daAlinkHIO_boom_c0::m.mFlyDistMax;
|
||||
}
|
||||
}
|
||||
|
||||
/* 800E011C-800E0190 0DAA5C 0074+00 1/1 0/0 2/2 .text getBoomLockMax__9daAlink_cFv */
|
||||
f32 daAlink_c::getBoomLockMax() {
|
||||
f32 max = getBoomFlyMax();
|
||||
f32 fly_max = getBoomFlyMax();
|
||||
|
||||
if (checkBossBabaRoom()) {
|
||||
return lit_12475;
|
||||
} else if (daAlinkHIO_boom_c0::m.field_0x44 > max) {
|
||||
return daAlinkHIO_boom_c0::m.field_0x44;
|
||||
} else if (daAlinkHIO_boom_c0::m.mLockDistMax > fly_max) {
|
||||
return daAlinkHIO_boom_c0::m.mLockDistMax;
|
||||
} else {
|
||||
return max;
|
||||
return fly_max;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,21 +96,25 @@ fopAc_ac_c* daAlink_c::getBoomerangActor() {
|
||||
}
|
||||
|
||||
/* 800E0244-800E02B8 0DAB84 0074+00 0/0 1/1 0/0 .text checkBoomerangChargeEnd__9daAlink_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm bool daAlink_c::checkBoomerangChargeEnd() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/checkBoomerangChargeEnd__9daAlink_cFv.s"
|
||||
bool daAlink_c::checkBoomerangChargeEnd() {
|
||||
if (checkBoomerangChargeEndWait()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
daBoomerang_c* boomerang = (daBoomerang_c*)getBoomerangActor();
|
||||
if (boomerang != NULL && boomerang->checkCharge()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800E02B8-800E03D0 0DABF8 0118+00 0/0 1/1 0/0 .text
|
||||
* checkBoomerangCarry__9daAlink_cFP10fopAc_ac_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::checkBoomerangCarry(fopAc_ac_c* param_0) {
|
||||
asm BOOL daAlink_c::checkBoomerangCarry(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/checkBoomerangCarry__9daAlink_cFP10fopAc_ac_c.s"
|
||||
}
|
||||
@@ -120,11 +126,11 @@ void daAlink_c::initBoomerangUpperAnimeSpeed(int param_0) {
|
||||
if (!checkBoomerangThrowAnime()) {
|
||||
if (param_0 != 0) {
|
||||
f32 tmp = FLOAT_LABEL(lit_6108);
|
||||
mFrameCtrl2[2].setRate(tmp);
|
||||
mFrameCtrl2[2].setFrame(tmp);
|
||||
getNowAnmPackUpper(UPPER_NOW)->setFrame(tmp);
|
||||
mUpperFrameCtrl[2].setRate(tmp);
|
||||
mUpperFrameCtrl[2].setFrame(tmp);
|
||||
getNowAnmPackUpper(UPPER_2)->setFrame(tmp);
|
||||
} else {
|
||||
mFrameCtrl2[2].setRate(daAlinkHIO_boom_c0::m.field_0x2c);
|
||||
mUpperFrameCtrl[2].setRate(daAlinkHIO_boom_c0::m.mIdleAnmSpeed);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -136,14 +142,9 @@ BOOL daAlink_c::checkBoomerangAnime() const {
|
||||
}
|
||||
|
||||
/* 800E04AC-800E04E8 0DADEC 003C+00 13/13 0/0 0/0 .text checkBoomerangThrowAnime__9daAlink_cCFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm BOOL daAlink_c::checkBoomerangThrowAnime() const {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/checkBoomerangThrowAnime__9daAlink_cCFv.s"
|
||||
BOOL daAlink_c::checkBoomerangThrowAnime() const {
|
||||
return (mEquipItem == BOOMERANG || i_checkNoResetFlg1(FLG1_UNK_2) || mEquipItem == 0x102) && checkUpperAnime(0x53);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800E04E8-800E055C 0DAE28 0074+00 1/1 0/0 0/0 .text setBoomerangReadyQuake__9daAlink_cFv */
|
||||
#pragma push
|
||||
@@ -167,13 +168,13 @@ asm void daAlink_c::setBoomerangReadyAnime() {
|
||||
|
||||
/* 800E05E8-800E0630 0DAF28 0048+00 2/2 0/0 0/0 .text setThrowBoomerangAnime__9daAlink_cFv */
|
||||
void daAlink_c::setThrowBoomerangAnime() {
|
||||
setUpperAnimeParam(0x53, UPPER_NOW, &daAlinkHIO_boom_c0::m.mThrowAnm);
|
||||
setUpperAnimeParam(0x53, UPPER_2, &daAlinkHIO_boom_c0::m.mThrowAnm);
|
||||
cancelItemUseQuake(0);
|
||||
}
|
||||
|
||||
/* 800E0630-800E06B8 0DAF70 0088+00 2/2 0/0 0/0 .text setBoomerangCatchAnime__9daAlink_cFv */
|
||||
void daAlink_c::setBoomerangCatchAnime() {
|
||||
setUpperAnimeParam(0x52, UPPER_NOW, &daAlinkHIO_boom_c0::m.mCatchAnm);
|
||||
setUpperAnimeParam(0x52, UPPER_2, &daAlinkHIO_boom_c0::m.mCatchAnm);
|
||||
setFacePriBck(0xE8);
|
||||
field_0x2f97 = 254;
|
||||
if (mEquipItem != COPY_ROD) {
|
||||
|
||||
@@ -85,7 +85,7 @@ asm void daAlink_c::checkCanoeRideTandem() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::checkFishingRodAndLureItem() const {
|
||||
asm BOOL daAlink_c::checkFishingRodAndLureItem() const {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/checkFishingRodAndLureItem__9daAlink_cCFv.s"
|
||||
}
|
||||
|
||||
@@ -56,11 +56,11 @@ asm void daAlink_c::initCopyRodUpperAnimeSpeed(int param_0) {
|
||||
/* void daAlink_c::initCopyRodUpperAnimeSpeed(int param_0) {
|
||||
if (checkCopyRodThrowAnime()) {
|
||||
if (param_1 == 0) {
|
||||
mFrameCtrl2[2].setRate();
|
||||
mUpperFrameCtrl[2].setRate();
|
||||
}
|
||||
f32 tmp = FLOAT_LABEL(lit_6108);
|
||||
mFrameCtrl2[2].setRate(tmp);
|
||||
mFrameCtrl2[2].setFrame(tmp);
|
||||
mUpperFrameCtrl[2].setRate(tmp);
|
||||
mUpperFrameCtrl[2].setFrame(tmp);
|
||||
|
||||
}
|
||||
} */
|
||||
@@ -173,7 +173,7 @@ void daAlink_c::throwCopyRod() {
|
||||
if (checkCopyRodTopUse()) {
|
||||
copy_rod->setThrow();
|
||||
mCopyRodAcKeep = mItemAcKeep;
|
||||
i_onNoResetFlg3(COPY_ROD_THROW_AFTER);
|
||||
i_onNoResetFlg3(FLG3_COPY_ROD_THROW_AFTER);
|
||||
mItemAcKeep.clearData();
|
||||
}
|
||||
dComIfGp_clearPlayerStatus0(0, 0x80);
|
||||
@@ -203,7 +203,7 @@ asm void daAlink_c::returnCopyRod() {
|
||||
#pragma pop
|
||||
|
||||
/* void daAlink_c::returnCopyRod() {
|
||||
i_offNoResetFlg3(COPY_ROD_THROW_AFTER);
|
||||
i_offNoResetFlg3(FLG3_COPY_ROD_THROW_AFTER);
|
||||
|
||||
if (mEquipItem == 0x46) {
|
||||
mItemAcKeep = mCopyRodAcKeep;
|
||||
|
||||
@@ -92,7 +92,7 @@ void daAlink_c::changeCutFast() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::checkCutFastReady() {
|
||||
asm bool daAlink_c::checkCutFastReady() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/checkCutFastReady__9daAlink_cFv.s"
|
||||
}
|
||||
@@ -128,10 +128,28 @@ void daAlink_c::offSwordModel() {
|
||||
*/
|
||||
BOOL daAlink_c::checkCutTypeNoBlur() const {
|
||||
return mCutType == TYPE_CUT_STAB || mCutType == TYPE_CUT_STAB_COMBO ||
|
||||
mCutType == TYPE_CUT_STAB_FINISH || i_checkNoResetFlg0(UNDER_WATER_MOVEMENT);
|
||||
mCutType == TYPE_CUT_STAB_FINISH || i_checkNoResetFlg0(FLG0_UNDERWATER);
|
||||
}
|
||||
|
||||
/* 800D13E4-800D1424 0CBD24 0040+00 7/7 0/0 0/0 .text checkCutTurnInput__9daAlink_cCFv */
|
||||
#ifdef NONMATCHING
|
||||
u32 daAlink_c::checkCutTurnInput() const {
|
||||
|
||||
s32 unk0;
|
||||
int unk1;
|
||||
int unk2;
|
||||
int unk3;
|
||||
|
||||
unk0 = abs(field_0x3180);
|
||||
s16 ex = -2048;
|
||||
unk1 = unk0 ^ (u32)ex;
|
||||
unk2 = (unk1 & unk0);
|
||||
unk3 = (unk1 >> 1);
|
||||
|
||||
|
||||
return (u32)(unk3 -= unk2) >> 0x1FU;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -140,6 +158,7 @@ asm bool daAlink_c::checkCutTurnInput() const {
|
||||
#include "asm/d/a/d_a_alink/checkCutTurnInput__9daAlink_cCFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 800D1424-800D1430 0CBD64 000C+00 7/7 0/0 0/0 .text getCutTurnDirection__9daAlink_cCFv
|
||||
*/
|
||||
@@ -283,13 +302,13 @@ void daAlink_c::setComboReserb() {
|
||||
field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration;
|
||||
}
|
||||
if (mComboCutCount != 4 && field_0x2fce == 0 && swordSwingTrigger()) {
|
||||
i_onNoResetFlg2(UNK_FLG2_2);
|
||||
i_onNoResetFlg2(FLG2_UNK_2);
|
||||
}
|
||||
}
|
||||
|
||||
/* 800D2188-800D21D0 0CCAC8 0048+00 1/1 0/0 0/0 .text checkComboReserb__9daAlink_cFv */
|
||||
BOOL daAlink_c::checkComboReserb() {
|
||||
return i_checkNoResetFlg2(UNK_FLG2_2) && !checkEventRun();
|
||||
return i_checkNoResetFlg2(FLG2_UNK_2) && !checkEventRun();
|
||||
}
|
||||
|
||||
/* 800D21D0-800D2284 0CCB10 00B4+00 1/1 0/0 0/0 .text commonCutAction__9daAlink_cFv */
|
||||
@@ -316,7 +335,7 @@ bool daAlink_c::commonCutAction() {
|
||||
|
||||
/* 800D2284-800D22BC 0CCBC4 0038+00 13/13 0/0 0/0 .text setSwordVoiceSe__9daAlink_cFUl */
|
||||
void daAlink_c::setSwordVoiceSe(u32 sfx_id) {
|
||||
if (!i_checkNoResetFlg0(UNDER_WATER_MOVEMENT)) {
|
||||
if (!i_checkNoResetFlg0(FLG0_UNDERWATER)) {
|
||||
voiceStart(sfx_id);
|
||||
}
|
||||
}
|
||||
@@ -477,7 +496,7 @@ asm void daAlink_c::checkCutAtnActorChange() {
|
||||
// literals, and small issue with JMAFastSqrt instructions
|
||||
#ifdef NONMATCHING
|
||||
void daAlink_c::setCutJumpSpeed(int cut_type) {
|
||||
if (i_checkNoResetFlg0(UNDER_WATER_MOVEMENT)) {
|
||||
if (i_checkNoResetFlg0(FLG0_UNDERWATER)) {
|
||||
mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX;
|
||||
mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY;
|
||||
} else if (checkHeavyStateOn(1, 1)) {
|
||||
@@ -666,7 +685,7 @@ bool daAlink_c::procCutJump() {
|
||||
}
|
||||
if (mLinkAcch.ChkGroundHit()) {
|
||||
procCutJumpLandInit(field_0x3198);
|
||||
} else if (mFrameCtrl1[0].getFrame() >= daAlinkHIO_cutJump_c0::m.mStartAttackFrame) {
|
||||
} else if (mUnderFrameCtrl[0].getFrame() >= daAlinkHIO_cutJump_c0::m.mStartAttackFrame) {
|
||||
if (!i_checkNoResetFlg0(FLG0_UNK_40)) {
|
||||
seStartSwordCut(Z2SE_AL_SWORD_SWING_L);
|
||||
}
|
||||
@@ -883,7 +902,7 @@ asm void daAlink_c::procCutLargeJumpInit() {
|
||||
|
||||
/* 800D6484-800D66C0 0D0DC4 023C+00 1/0 0/0 0/0 .text procCutLargeJump__9daAlink_cFv */
|
||||
bool daAlink_c::procCutLargeJump() {
|
||||
daPy_frameCtrl_c* ctrl = &mFrameCtrl1[0];
|
||||
daPy_frameCtrl_c* ctrl = &mUnderFrameCtrl[0];
|
||||
|
||||
if (field_0x3010 != 0) {
|
||||
field_0x2f99 = 4;
|
||||
|
||||
@@ -116,7 +116,7 @@ asm bool daAlink_c::setThrowDamage(s16 param_0, f32 param_1, f32 param_2, int pa
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::damageMagnification(int param_0, int param_1) {
|
||||
asm f32 daAlink_c::damageMagnification(int param_0, int param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/damageMagnification__9daAlink_cFii.s"
|
||||
}
|
||||
@@ -189,7 +189,7 @@ asm void daAlink_c::checkIcePolygonDamage(cBgS_PolyInfo* param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::checkMagicArmorNoDamage() {
|
||||
asm BOOL daAlink_c::checkMagicArmorNoDamage() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/checkMagicArmorNoDamage__9daAlink_cFv.s"
|
||||
}
|
||||
@@ -228,8 +228,8 @@ void daAlink_c::damageTimerCount() {
|
||||
i_offNoResetFlg1(1);
|
||||
}
|
||||
|
||||
if (checkDkCaught2Anime() && i_checkNoResetFlg0(0x20000)) {
|
||||
i_offNoResetFlg0(0x20000);
|
||||
if (checkDkCaught2Anime() && i_checkNoResetFlg0(FLG0_UNK_20000)) {
|
||||
i_offNoResetFlg0(FLG0_UNK_20000);
|
||||
}
|
||||
} else if (mDamageColorTime != 0) {
|
||||
mDamageColorTime--;
|
||||
@@ -273,7 +273,7 @@ asm void daAlink_c::checkLargeAttack(int param_0) const {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::checkDamageAction() {
|
||||
asm BOOL daAlink_c::checkDamageAction() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/checkDamageAction__9daAlink_cFv.s"
|
||||
}
|
||||
|
||||
+118
-76
@@ -29,7 +29,7 @@ asm bool daAlink_c::checkSetNpcTks(cXyz* param_0, int param_1, int param_2) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::checkDemoAction() {
|
||||
asm int daAlink_c::checkDemoAction() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/checkDemoAction__9daAlink_cFv.s"
|
||||
}
|
||||
@@ -131,7 +131,7 @@ asm void daAlink_c::getDemoLookActor() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::checkFlyAtnWait() {
|
||||
asm bool daAlink_c::checkFlyAtnWait() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/checkFlyAtnWait__9daAlink_cFv.s"
|
||||
}
|
||||
@@ -263,50 +263,50 @@ asm void daAlink_c::setDemoBodyBck(dDemo_actor_c* param_0, u16 param_1) {
|
||||
#pragma pop
|
||||
|
||||
/* 80118AD0-80118B34 113410 0064+00 1/1 0/0 0/0 .text checkFinalBattle__9daAlink_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::checkFinalBattle() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/checkFinalBattle__9daAlink_cFv.s"
|
||||
BOOL daAlink_c::checkFinalBattle() {
|
||||
return checkStageName("D_MN09B") && dComIfGs_isSaveDunSwitch(1);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80118B34-80118BF4 113474 00C0+00 3/3 0/0 0/0 .text checkRestartDead__9daAlink_cFii */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::checkRestartDead(int param_0, int param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/checkRestartDead__9daAlink_cFii.s"
|
||||
BOOL daAlink_c::checkRestartDead(int i_dmgAmount, int param_1) {
|
||||
i_dmgAmount *= (int)damageMagnification(param_1, 1);
|
||||
|
||||
if (mProcID != PROC_DEAD && i_dmgAmount >= i_dComIfGs_getLife() && !checkMagicArmorNoDamage() &&
|
||||
!dComIfGs_checkBottle(FAIRY)) {
|
||||
i_onNoResetFlg2(FLG2_UNK_40000);
|
||||
procCoDeadInit(0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80118BF4-80118C98 113534 00A4+00 2/2 0/0 0/0 .text setDeadRideSyncPos__9daAlink_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::setDeadRideSyncPos() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/setDeadRideSyncPos__9daAlink_cFv.s"
|
||||
void daAlink_c::setDeadRideSyncPos() {
|
||||
if (i_checkModeFlg(MODE_RIDING) && mRideAcKeep.getActor() != NULL) {
|
||||
if (i_checkReinRide()) {
|
||||
setSyncRidePos();
|
||||
} else if (checkSpinnerRide()) {
|
||||
s16 old_angle = mCollisionRot.y;
|
||||
setSpinnerSyncPos();
|
||||
mCollisionRot.y = old_angle;
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80118C98-80118D7C 1135D8 00E4+00 5/5 0/0 0/0 .text checkDeadHP__9daAlink_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm BOOL daAlink_c::checkDeadHP() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/checkDeadHP__9daAlink_cFv.s"
|
||||
BOOL daAlink_c::checkDeadHP() {
|
||||
return ((i_dComIfGs_getLife() == 0 && !i_checkResetFlg0(RFLG0_UNK_400)) &&
|
||||
!dComIfGs_checkBottle(FAIRY)) ||
|
||||
i_checkNoResetFlg2(FLG2_UNK_40000) ||
|
||||
(dComIfGp_getOxygenShowFlag() && dComIfGp_getNowOxygen() == 0);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80118D7C-80118FF8 1136BC 027C+00 3/3 0/0 0/0 .text checkDeadAction__9daAlink_cFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::checkDeadAction(int param_0) {
|
||||
asm BOOL daAlink_c::checkDeadAction(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/checkDeadAction__9daAlink_cFi.s"
|
||||
}
|
||||
@@ -374,14 +374,10 @@ static asm void daAlink_c_getDemoIDData(dDemo_actor_c* param_0, int* param_1, in
|
||||
#pragma pop
|
||||
|
||||
/* 801195C0-801195F8 113F00 0038+00 7/0 0/0 0/0 .text procDemoCommon__9daAlink_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::procDemoCommon() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/procDemoCommon__9daAlink_cFv.s"
|
||||
int daAlink_c::procDemoCommon() {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801195F8-801196D8 113F38 00E0+00 1/1 0/0 0/0 .text procCoToolDemoInit__9daAlink_cFv */
|
||||
#pragma push
|
||||
@@ -464,14 +460,18 @@ asm void daAlink_c::procCoUnequip() {
|
||||
#pragma pop
|
||||
|
||||
/* 8011A688-8011A6FC 114FC8 0074+00 4/4 0/0 0/0 .text setGetSubBgm__9daAlink_cFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::setGetSubBgm(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/setGetSubBgm__9daAlink_cFi.s"
|
||||
void daAlink_c::setGetSubBgm(int param_0) {
|
||||
u32 se_type = getSeType[param_0];
|
||||
|
||||
if (se_type == 3 && field_0x3010 == 0) {
|
||||
se_type = 7;
|
||||
}
|
||||
|
||||
if (se_type != 8) {
|
||||
mDoAud_subBgmStart(bgmLabel[se_type]);
|
||||
dComIfGp_setMesgBgmOn();
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8011A6FC-8011A798 11503C 009C+00 1/0 0/0 0/0 .text checkTreasureRupeeReturn__9daAlink_cCFi */
|
||||
// register issues. probably wrong order of operations
|
||||
@@ -919,14 +919,14 @@ asm void daAlink_c::procCoTwGateInit() {
|
||||
#pragma pop
|
||||
|
||||
/* 8011D7D4-8011D82C 118114 0058+00 1/0 0/0 0/0 .text procCoTwGate__9daAlink_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::procCoTwGate() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/procCoTwGate__9daAlink_cFv.s"
|
||||
int daAlink_c::procCoTwGate() {
|
||||
if (mUnderFrameCtrl[0].checkAnmEnd()) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
}
|
||||
|
||||
field_0x2f99 = 7;
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8011D82C-8011D8F8 11816C 00CC+00 1/0 0/0 0/0 .text procWolfSnowEscapeInit__9daAlink_cFv */
|
||||
#pragma push
|
||||
@@ -1102,10 +1102,10 @@ asm void daAlink_c::procGanonFinishInit() {
|
||||
|
||||
/* 8011EA78-8011EAE8 1193B8 0070+00 1/0 0/0 0/0 .text procGanonFinish__9daAlink_cFv */
|
||||
bool daAlink_c::procGanonFinish() {
|
||||
i_onEndResetFlg1(GANON_FINISH);
|
||||
i_onEndResetFlg1(ERFLG1_GANON_FINISH);
|
||||
current.pos = field_0x37c8;
|
||||
if (mFrameCtrl1[0].checkAnmEnd()) {
|
||||
setSingleAnimeBaseMorf(ANM_GANON_FINISH, lit_6041);
|
||||
if (mUnderFrameCtrl[0].checkAnmEnd()) {
|
||||
setSingleAnimeBaseMorf(ANM_GANON_FINISH_WAIT, lit_6041);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -1122,14 +1122,13 @@ asm void daAlink_c::procCutFastReadyInit() {
|
||||
#pragma pop
|
||||
|
||||
/* 8011EB8C-8011EBDC 1194CC 0050+00 1/0 0/0 0/0 .text procCutFastReady__9daAlink_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::procCutFastReady() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/procCutFastReady__9daAlink_cFv.s"
|
||||
int daAlink_c::procCutFastReady() {
|
||||
if (mUpperFrameCtrl[2].checkAnmEnd()) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8011EBDC-8011EC60 11951C 0084+00 1/0 0/0 0/0 .text procMasterSwordStickInit__9daAlink_cFv */
|
||||
int daAlink_c::procMasterSwordStickInit() {
|
||||
@@ -1137,7 +1136,7 @@ int daAlink_c::procMasterSwordStickInit() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
setSingleAnimeBase(ANM_MASTER_SWORD_STICK_INIT);
|
||||
setSingleAnimeBase(ANM_DEMO_MASTER_SWORD_STICK);
|
||||
voiceStart(Z2SE_AL_V_MSTR_SW_STICK);
|
||||
mNormalSpeed = FLOAT_LABEL(lit_6108);
|
||||
current.angle.y = mCollisionRot.y;
|
||||
@@ -1149,13 +1148,13 @@ int daAlink_c::procMasterSwordStickInit() {
|
||||
/* 8011EC60-8011ED18 1195A0 00B8+00 1/0 0/0 0/0 .text procMasterSwordStick__9daAlink_cFv
|
||||
*/
|
||||
int daAlink_c::procMasterSwordStick() {
|
||||
daPy_frameCtrl_c* fCtrl = &mFrameCtrl1[0];
|
||||
daPy_frameCtrl_c* fCtrl = &mUnderFrameCtrl[0];
|
||||
|
||||
if (mCommonCounter != 0) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
} else if (fCtrl->checkAnmEnd()) {
|
||||
mCommonCounter = 1;
|
||||
setSingleAnimeBaseMorf(ANM_MASTER_SWORD_STICK, lit_6041);
|
||||
setSingleAnimeBaseMorf(ANM_DEMO_MASTER_SWORD_WAIT, lit_6041);
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
} else if (fCtrl->getFrame() >= lit_14621) {
|
||||
field_0x2f93 = 5;
|
||||
@@ -1170,7 +1169,7 @@ int daAlink_c::procMasterSwordPullInit() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
setSingleAnimeBase(ANM_MASTER_SWORD_PULL_INIT);
|
||||
setSingleAnimeBase(ANM_DEMO_MASTER_SWORD_PULL);
|
||||
voiceStart(Z2SE_AL_V_MSTR_SW_PULLOUT);
|
||||
field_0x3010 = 0;
|
||||
|
||||
@@ -1202,9 +1201,11 @@ int daAlink_c::procDungeonWarpReadyInit() {
|
||||
|
||||
u32 id;
|
||||
if (checkItemSetButton(DUNGEON_EXIT) != 2) {
|
||||
id = fopAcM_create(PROC_OBJ_TKS, 0, ¤t.pos, fopAcM_GetRoomNo(this), &mCollisionRot, NULL, -1);
|
||||
id = fopAcM_create(PROC_OBJ_TKS, 0, ¤t.pos, fopAcM_GetRoomNo(this), &mCollisionRot,
|
||||
NULL, -1);
|
||||
} else {
|
||||
id = fopAcM_create(PROC_NPC_TKC, 2, ¤t.pos, fopAcM_GetRoomNo(this), &mCollisionRot, NULL, -1);
|
||||
id = fopAcM_create(PROC_NPC_TKC, 2, ¤t.pos, fopAcM_GetRoomNo(this), &mCollisionRot,
|
||||
NULL, -1);
|
||||
}
|
||||
|
||||
if (id == -1) {
|
||||
@@ -1213,7 +1214,7 @@ int daAlink_c::procDungeonWarpReadyInit() {
|
||||
|
||||
mDemo.i_setSpecialDemoType();
|
||||
commonProcInit(PROC_DUNGEON_WARP_READY);
|
||||
setSingleAnimeBase(ANM_DUNGEON_WARP_READY_INIT);
|
||||
setSingleAnimeBase(ANM_TRADE_ITEM_PULL_OUT);
|
||||
mNormalSpeed = FLOAT_LABEL(lit_6108);
|
||||
current.angle.y = mCollisionRot.y;
|
||||
field_0x32cc = id;
|
||||
@@ -1290,7 +1291,8 @@ int daAlink_c::procDungeonWarp() {
|
||||
if (mScale.x < 0.01f) {
|
||||
i_onNoResetFlg0(FLG0_UNK_8000000);
|
||||
if (checkItemGet(DUNGEON_EXIT, 1)) {
|
||||
int escape = dStage_stagInfo_GetEscapeWarp(i_dComIfGp_getStage()->getStagInfo());
|
||||
int escape =
|
||||
dStage_stagInfo_GetEscapeWarp(i_dComIfGp_getStage()->getStagInfo());
|
||||
dStage_changeScene(escape, 0.0f, 12, -1, mCollisionRot.y, -1);
|
||||
dMeter2Info_warpOutProc();
|
||||
} else {
|
||||
@@ -1345,16 +1347,55 @@ asm void daAlink_c::procDungeonWarpSceneStart() {
|
||||
#pragma pop
|
||||
|
||||
/* 8011F5D4-8011F658 119F14 0084+00 2/2 0/0 0/0 .text daAlink_searchPortal__FP10fopAc_ac_cPv */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
static fopAc_ac_c* daAlink_searchPortal(fopAc_ac_c* i_actor, void* i_data) {
|
||||
if (fopAcM_GetName(i_actor) == PROC_KYTAG04) {
|
||||
cXyz* pos = (cXyz*)i_data;
|
||||
if (i_actor->current.pos.abs2XZ(*pos) < 1.0f) {
|
||||
return i_actor;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void* daAlink_searchPortal(fopAc_ac_c* param_0, void* param_1) {
|
||||
static asm fopAc_ac_c* daAlink_searchPortal(fopAc_ac_c* param_0, void* param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/daAlink_searchPortal__FP10fopAc_ac_cPv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8011F658-8011F7D8 119F98 0180+00 1/1 0/0 0/0 .text checkAcceptWarp__9daAlink_cFv */
|
||||
// r3/r4 swap loading midna ptr
|
||||
#ifdef NONMATCHING
|
||||
bool daAlink_c::checkAcceptWarp() {
|
||||
cM3dGPla plane;
|
||||
|
||||
if (mLinkAcch.ChkGroundHit() && !i_checkModeFlg(MODE_PLAYER_FLY) &&
|
||||
!i_checkNoResetFlg0(FLG0_UNDERWATER)) {
|
||||
if (!getSlidePolygon(&plane) && !checkForestOldCentury()) {
|
||||
if (i_checkMidnaRide() || getMidnaActor()->checkPortalObjRide()) {
|
||||
if ((checkField() || checkCastleTown()) && !checkStageName("R_SP161")) {
|
||||
if ((i_checkWolf() &&
|
||||
(i_checkModeFlg(MODE_UNK_1000) || i_dComIfGp_checkPlayerStatus0(0, 0x10))) ||
|
||||
(!i_checkWolf() &&
|
||||
(checkEventRun() || getMidnaActor()->checkMetamorphoseEnable()) &&
|
||||
(i_checkModeFlg(4) || i_dComIfGp_checkPlayerStatus0(0, 0x10)))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -1363,6 +1404,7 @@ asm bool daAlink_c::checkAcceptWarp() {
|
||||
#include "asm/d/a/d_a_alink/checkAcceptWarp__9daAlink_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8011F7D8-8011F8B8 11A118 00E0+00 2/2 0/0 0/0 .text dungeonReturnWarp__9daAlink_cFv */
|
||||
void daAlink_c::dungeonReturnWarp() {
|
||||
@@ -1405,9 +1447,9 @@ void daAlink_c::skipPortalObjWarp() {
|
||||
/* 8011F9EC-8011FBC0 11A32C 01D4+00 1/1 0/0 0/0 .text checkWarpStart__9daAlink_cFv */
|
||||
void daAlink_c::checkWarpStart() {
|
||||
if (dMeter2Info_getWarpStatus() != 0) {
|
||||
if (dMeter2Info_getWarpStatus() == 3 || dComIfGp_event_compulsory(this, 0, 0xFFFF)) {
|
||||
i_onNoResetFlg0(0x4000);
|
||||
if (dMeter2Info_getWarpStatus() == 3) {
|
||||
if (dMeter2Info_getWarpStatus() == WARP_DECIDED || dComIfGp_event_compulsory(this, 0, 0xFFFF)) {
|
||||
i_onNoResetFlg0(FLG0_UNK_4000);
|
||||
if (dMeter2Info_getWarpStatus() == WARP_DECIDED) {
|
||||
const char* portal;
|
||||
if (!i_checkMidnaRide()) {
|
||||
if (dComIfGp_TargetWarpPt_get() == 3) {
|
||||
@@ -1434,8 +1476,8 @@ void daAlink_c::checkWarpStart() {
|
||||
mDemo.i_setSpecialDemoType();
|
||||
if (dMeter2Info_getWarpStatus() == 1) {
|
||||
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
|
||||
u32 tmp = dStage_stagInfo_GetEscapeWarp(stag_info);
|
||||
dStage_changeScene(tmp, FLOAT_LABEL(lit_6108), 0, -1, mCollisionRot.y, -1);
|
||||
u32 exitID = dStage_stagInfo_GetEscapeWarp(stag_info);
|
||||
dStage_changeScene(exitID, FLOAT_LABEL(lit_6108), 0, -1, mCollisionRot.y, -1);
|
||||
} else {
|
||||
dungeonReturnWarp();
|
||||
}
|
||||
|
||||
@@ -193,7 +193,7 @@ asm void daAlink_c::setGrabUpperAnime(f32 param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::checkGrabRooster() {
|
||||
asm BOOL daAlink_c::checkGrabRooster() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/checkGrabRooster__9daAlink_cFv.s"
|
||||
}
|
||||
@@ -558,7 +558,7 @@ asm void daAlink_c::procInsectCatchInit() {
|
||||
|
||||
/* 800E71D4-800E7254 0E1B14 0080+00 1/0 0/0 0/0 .text procInsectCatch__9daAlink_cFv */
|
||||
bool daAlink_c::procInsectCatch() {
|
||||
daPy_frameCtrl_c* tmp = &mFrameCtrl1[0];
|
||||
daPy_frameCtrl_c* tmp = &mUnderFrameCtrl[0];
|
||||
|
||||
if (tmp->checkAnmEnd()) {
|
||||
checkNextAction(0);
|
||||
@@ -652,7 +652,7 @@ asm s16 daAlink_c::getChainStickAngleY(s16 param_0) const {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::checkChainEmphasys() {
|
||||
asm u8 daAlink_c::checkChainEmphasys() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/checkChainEmphasys__9daAlink_cFv.s"
|
||||
}
|
||||
@@ -685,8 +685,8 @@ bool daAlink_c::checkChainBlockPushPull() {
|
||||
fopAc_ac_c* actor = field_0x2844.getActor();
|
||||
if (actor != NULL) {
|
||||
s16 name = fopAcM_GetName(actor);
|
||||
// actor is Cblock || chainSw || Cwall
|
||||
if (name == 0x7E || name == 0x16F || name == 0x7F) {
|
||||
if (name == PROC_Obj_ChainBlock || name == PROC_Obj_SwChain ||
|
||||
name == PROC_Obj_ChainWall) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -750,7 +750,7 @@ asm void daAlink_c::setWallGrabStatus(u8 param_0, u8 param_1) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::getWallGrabStatus() {
|
||||
asm int daAlink_c::getWallGrabStatus() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/getWallGrabStatus__9daAlink_cFv.s"
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ asm BOOL daAlink_c::checkSpecialNpc(fopAc_ac_c* param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::checkShieldAttackEmphasys() {
|
||||
asm bool daAlink_c::checkShieldAttackEmphasys() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/checkShieldAttackEmphasys__9daAlink_cFv.s"
|
||||
}
|
||||
|
||||
@@ -271,7 +271,7 @@ bool daAlink_c::cancelHookshotMove() {
|
||||
if (mFastShotTime == 0 && mHookshotMode == 0) {
|
||||
if (checkHookshotAnime() &&
|
||||
(mTargetedActor == NULL && !i_checkAttentionLock() || !itemButton())) {
|
||||
resetUpperAnime(UPPER_NOW, -1.0f);
|
||||
resetUpperAnime(UPPER_2, -1.0f);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ asm bool daAlink_c::getKandelaarFlamePos() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::checkKandelaarEquipAnime() const {
|
||||
asm BOOL daAlink_c::checkKandelaarEquipAnime() const {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/checkKandelaarEquipAnime__9daAlink_cCFv.s"
|
||||
}
|
||||
|
||||
+960
-34
File diff suppressed because it is too large
Load Diff
@@ -133,7 +133,7 @@ int daAlink_c::procSpinnerReadyInit() {
|
||||
|
||||
commonProcInit(PROC_SPINNER_READY);
|
||||
mRideAcKeep.setData(spinner);
|
||||
setSingleAnime(ANM_BOARD_SPINNER, daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mRate, 6.0f,
|
||||
setSingleAnime(ANM_VJUMP_START, daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mRate, 6.0f,
|
||||
daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mEndF,
|
||||
daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mInterpolation);
|
||||
mNormalSpeed = 0.0f;
|
||||
@@ -205,7 +205,7 @@ int daAlink_c::procSpinnerWaitInit() {
|
||||
|
||||
mRideStatus = 5;
|
||||
setBgCheckParam();
|
||||
setSingleAnimeBaseSpeed(ANM_SPINNER_RIDE, daAlinkHIO_board_c0::m.mSitAnmSpeed, 4.0f);
|
||||
setSingleAnimeBaseSpeed(ANM_RIDE_CROUCH, daAlinkHIO_board_c0::m.mSitAnmSpeed, 4.0f);
|
||||
mSpeed.y = 0.0f;
|
||||
setSpecialGravity(0.0f, mMaxFallSpeed, 0);
|
||||
mNormalSpeed = 0.0f;
|
||||
@@ -213,7 +213,7 @@ int daAlink_c::procSpinnerWaitInit() {
|
||||
|
||||
field_0x300e = mCollisionRot.y;
|
||||
field_0x3010 = 0;
|
||||
field_0x3198 = ANM_SPINNER_RIDE;
|
||||
field_0x3198 = ANM_RIDE_CROUCH;
|
||||
field_0x33b0 = 70.0f;
|
||||
field_0x3012 = 0;
|
||||
field_0x37a4 = mRideAcKeep.getActor()->current.pos;
|
||||
@@ -277,7 +277,7 @@ int daAlink_c::procSpinnerWait() {
|
||||
return procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation);
|
||||
}
|
||||
|
||||
daPy_frameCtrl_c* frameCtrl = mFrameCtrl1;
|
||||
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
|
||||
dMeter2Info_onDirectUseItem(itemSetBtn);
|
||||
|
||||
if (spinner->checkPathMoveNow() == NULL) {
|
||||
@@ -295,10 +295,10 @@ int daAlink_c::procSpinnerWait() {
|
||||
field_0x3012 = 1;
|
||||
setSpinnerStatus(ACTION_STR_SPIN, ACTION_FLG_CONTINUATION);
|
||||
|
||||
if (field_0x3198 != ANM_SPINNER_PUSH && field_0x2060->getOldFrameRate() < 0.01f) {
|
||||
setSingleAnimeBaseSpeed(ANM_SPINNER_RIDE, daAlinkHIO_board_c0::m.mSitAnmSpeed,
|
||||
if (field_0x3198 != ANM_RIDE_KICK && field_0x2060->getOldFrameRate() < 0.01f) {
|
||||
setSingleAnimeBaseSpeed(ANM_RIDE_CROUCH, daAlinkHIO_board_c0::m.mSitAnmSpeed,
|
||||
daAlinkHIO_board_c0::m.mFastPushInterpolation);
|
||||
field_0x3198 = ANM_SPINNER_PUSH;
|
||||
field_0x3198 = ANM_RIDE_KICK;
|
||||
fopAcM_seStartCurrent(spinner, Z2SE_OBJ_SPNR_SW_PUSH, 0);
|
||||
}
|
||||
} else if (spinner->checkSpinnerTagInto()) {
|
||||
@@ -308,35 +308,35 @@ int daAlink_c::procSpinnerWait() {
|
||||
setSpinnerStatus(ACTION_STR_SPIN, ACTION_FLG_DEFAULT);
|
||||
}
|
||||
|
||||
if ((field_0x3198 == ANM_SPINNER_PUSH && field_0x2060->getOldFrameRate() < 0.01f) ||
|
||||
(field_0x3198 != ANM_SPINNER_PUSH && field_0x3198 != ANM_SPINNER_STAND)) {
|
||||
setSingleAnimeBaseSpeed(ANM_SPINNER_STAND, daAlinkHIO_board_c0::m.mStandAnmSpeed,
|
||||
if ((field_0x3198 == ANM_RIDE_KICK && field_0x2060->getOldFrameRate() < 0.01f) ||
|
||||
(field_0x3198 != ANM_RIDE_KICK && field_0x3198 != ANM_RIDE_WAIT)) {
|
||||
setSingleAnimeBaseSpeed(ANM_RIDE_WAIT, daAlinkHIO_board_c0::m.mStandAnmSpeed,
|
||||
daAlinkHIO_board_c0::m.mStandInterpolation);
|
||||
field_0x3198 = ANM_SPINNER_STAND;
|
||||
field_0x3198 = ANM_RIDE_WAIT;
|
||||
}
|
||||
} else if (spinner->getButtonJump() && field_0x3198 != ANM_SPINNER_ATTACK) {
|
||||
field_0x3198 = ANM_SPINNER_ATTACK;
|
||||
setSingleAnime(ANM_SPINNER_ATTACK, 0.0f, daAlinkHIO_board_c0::m.mAirborneAnm.mStart,
|
||||
} else if (spinner->getButtonJump() && field_0x3198 != ANM_RIDE_JUMP) {
|
||||
field_0x3198 = ANM_RIDE_JUMP;
|
||||
setSingleAnime(ANM_RIDE_JUMP, 0.0f, daAlinkHIO_board_c0::m.mAirborneAnm.mStart,
|
||||
daAlinkHIO_board_c0::m.mAirborneAnm.mEndF,
|
||||
daAlinkHIO_board_c0::m.mAirborneAnm.mInterpolation);
|
||||
field_0x3010 = 0;
|
||||
} else if (field_0x3198 == ANM_SPINNER_ATTACK) {
|
||||
} else if (field_0x3198 == ANM_RIDE_JUMP) {
|
||||
if (!spinner->getJumpFlg()) {
|
||||
setSingleAnime(ANM_SPINNER_ATTACK_LAND, daAlinkHIO_board_c0::m.mLandAnm.mRate,
|
||||
setSingleAnime(ANM_RIDE_JUMP_LAND, daAlinkHIO_board_c0::m.mLandAnm.mRate,
|
||||
daAlinkHIO_board_c0::m.mLandAnm.mStart, 16,
|
||||
daAlinkHIO_board_c0::m.mLandAnm.mInterpolation);
|
||||
field_0x3198 = ANM_SPINNER_ATTACK_LAND;
|
||||
field_0x3198 = ANM_RIDE_JUMP_LAND;
|
||||
} else if (field_0x3010 == 0 && field_0x2060->getOldFrameRate() < 0.01f) {
|
||||
setSingleAnime(ANM_SPINNER_ATTACK, daAlinkHIO_board_c0::m.mAirborneAnm.mRate,
|
||||
setSingleAnime(ANM_RIDE_JUMP, daAlinkHIO_board_c0::m.mAirborneAnm.mRate,
|
||||
daAlinkHIO_board_c0::m.mAirborneAnm.mStart,
|
||||
daAlinkHIO_board_c0::m.mAirborneAnm.mEndF, -1.0f);
|
||||
field_0x3010 = 1;
|
||||
}
|
||||
} else if ((field_0x3198 == ANM_SPINNER_ATTACK_LAND && frameCtrl->checkAnmEnd()) ||
|
||||
(field_0x3198 != ANM_SPINNER_ATTACK_LAND && field_0x3198 != ANM_SPINNER_RIDE)) {
|
||||
setSingleAnimeBaseSpeed(ANM_SPINNER_RIDE, daAlinkHIO_board_c0::m.mSitAnmSpeed,
|
||||
} else if ((field_0x3198 == ANM_RIDE_JUMP_LAND && frameCtrl->checkAnmEnd()) ||
|
||||
(field_0x3198 != ANM_RIDE_JUMP_LAND && field_0x3198 != ANM_RIDE_CROUCH)) {
|
||||
setSingleAnimeBaseSpeed(ANM_RIDE_CROUCH, daAlinkHIO_board_c0::m.mSitAnmSpeed,
|
||||
daAlinkHIO_board_c0::m.mSitInterpolation);
|
||||
field_0x3198 = ANM_SPINNER_RIDE;
|
||||
field_0x3198 = ANM_RIDE_CROUCH;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ asm void daAlink_c::swimDeleteItem() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::getZoraSwim() const {
|
||||
asm bool daAlink_c::getZoraSwim() const {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/getZoraSwim__9daAlink_cCFv.s"
|
||||
}
|
||||
@@ -85,7 +85,7 @@ asm void daAlink_c::offOxygenTimer() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::checkPossibleWaterInMode() const {
|
||||
asm bool daAlink_c::checkPossibleWaterInMode() const {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/checkPossibleWaterInMode__9daAlink_cCFv.s"
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ void daAlink_c::statusWindowDraw() {
|
||||
|
||||
/* 80140AC8-80140B88 13B408 00C0+00 0/0 1/1 0/0 .text resetStatusWindow__9daAlink_cFv */
|
||||
void daAlink_c::resetStatusWindow() {
|
||||
i_offNoResetFlg2(0x400000);
|
||||
i_offNoResetFlg2(FLG2_STATUS_WINDOW_DRAW);
|
||||
|
||||
if (i_checkWolf()) {
|
||||
changeModelDataDirectWolf(1);
|
||||
@@ -86,7 +86,7 @@ void daAlink_c::resetStatusWindow() {
|
||||
|
||||
setMatrix();
|
||||
mpLinkModel->calc();
|
||||
i_onNoResetFlg2(0x400000);
|
||||
i_onNoResetFlg2(FLG2_STATUS_WINDOW_DRAW);
|
||||
setSelectEquipItem(0);
|
||||
|
||||
if (i_checkWolf()) {
|
||||
@@ -95,6 +95,6 @@ void daAlink_c::resetStatusWindow() {
|
||||
setItemMatrix(0);
|
||||
}
|
||||
|
||||
i_offNoResetFlg2(0x400000);
|
||||
i_offNoResetFlg2(FLG2_STATUS_WINDOW_DRAW);
|
||||
m_sWindowBck = NULL;
|
||||
}
|
||||
@@ -62,7 +62,7 @@ int daAlink_c::procGrassWhistleGetInit() {
|
||||
current.angle.y = mCollisionRot.y;
|
||||
field_0x2f98 = 4;
|
||||
|
||||
setSingleAnimeParam(ANM_GRASS_WHISTLE_GRAB, &daAlinkHIO_bottle_c0::m.field_0x50);
|
||||
setSingleAnimeParam(ANM_BOTTLE_SWING_DOWN, &daAlinkHIO_bottle_c0::m.field_0x50);
|
||||
field_0x2f92 = 0xFE;
|
||||
field_0x280c.setData(field_0x27f4);
|
||||
|
||||
@@ -91,7 +91,7 @@ asm int daAlink_c::procGrassWhistleGetInit() {
|
||||
/* 801119D8-80111A9C 10C318 00C4+00 1/0 0/0 0/0 .text procGrassWhistleGet__9daAlink_cFv
|
||||
*/
|
||||
int daAlink_c::procGrassWhistleGet() {
|
||||
daPy_frameCtrl_c* frameCtrl = mFrameCtrl1;
|
||||
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
|
||||
|
||||
if (frameCtrl->checkAnmEnd()) {
|
||||
procGrassWhistleWaitInit(mCommonCounter, field_0x300e, field_0x3010, field_0x3012, &field_0x37c8);
|
||||
|
||||
@@ -138,8 +138,8 @@ asm void daAlink_c::checkWolfAtnWait() {
|
||||
/* 8012880C-80128844 12314C 0038+00 27/27 0/0 0/0 .text
|
||||
* checkUnderMove0BckNoArcWolf__9daAlink_cCFQ29daAlink_c12daAlink_WANM */
|
||||
BOOL daAlink_c::checkUnderMove0BckNoArcWolf(daAlink_c::daAlink_WANM anm_id) const {
|
||||
return mUnderAnime[0].checkNoSetArcNo() &&
|
||||
m_wlAnmDataTable[anm_id].field_0x0 == mUnderAnime[0].getIdx();
|
||||
return mUnderAnmHeap[0].checkNoSetArcNo() &&
|
||||
m_wlAnmDataTable[anm_id].field_0x0 == mUnderAnmHeap[0].getIdx();
|
||||
}
|
||||
|
||||
/* 80128844-80128F0C 123184 06C8+00 11/11 0/0 0/0 .text setBlendWolfMoveAnime__9daAlink_cFf */
|
||||
|
||||
@@ -12,13 +12,13 @@ BOOL e_wb_class::checkWait() {
|
||||
}
|
||||
|
||||
void e_wb_class::setPlayerRideNow() {
|
||||
field_0x690 = 0x67;
|
||||
mActionID = ACT_PL_RIDE_NOW;
|
||||
field_0x5b4 = 0;
|
||||
field_0x6be |= 3;
|
||||
}
|
||||
|
||||
void e_wb_class::setPlayerRide() {
|
||||
field_0x690 = 0x65;
|
||||
mActionID = ACT_PL_RIDE;
|
||||
field_0x5b4 = 0;
|
||||
field_0x6be |= 3;
|
||||
|
||||
@@ -26,28 +26,29 @@ void e_wb_class::setPlayerRide() {
|
||||
}
|
||||
|
||||
void e_wb_class::getOff() {
|
||||
if (!checkDownDamage() || field_0x690 == 0x67) {
|
||||
field_0x690 = 0;
|
||||
if (!checkDownDamage() || mActionID == ACT_PL_RIDE_NOW) {
|
||||
mActionID = 0;
|
||||
} else {
|
||||
field_0x692 = 0;
|
||||
}
|
||||
|
||||
field_0x5b4 = 0;
|
||||
field_0x6be &= 0xfffc;
|
||||
field_0x6be &= ~3;
|
||||
mZ2Ride.setLinkRiding(false);
|
||||
}
|
||||
|
||||
BOOL e_wb_class::checkDownDamage() {
|
||||
return field_0x690 != 0x65 && field_0x690 != 0x66 && field_0x690 != 0x15;
|
||||
return mActionID != ACT_PL_RIDE && mActionID != 0x66 && mActionID != ACT_S_DAMAGE;
|
||||
}
|
||||
|
||||
u8 e_wb_class::checkNormalRideMode() const {
|
||||
return field_0x690 != 0x66 || field_0x5b4 < 1;
|
||||
return mActionID != 0x66 || field_0x5b4 < 1;
|
||||
}
|
||||
|
||||
void e_wb_class::setRunRideMode() {
|
||||
if (field_0x690 == 0x65) {
|
||||
if (mActionID == ACT_PL_RIDE) {
|
||||
field_0x5b4 = 0;
|
||||
field_0x690 = 0x15;
|
||||
mActionID = ACT_S_DAMAGE;
|
||||
field_0x692 = 0x65;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,14 +99,14 @@ int daItemBase_c::CreateItemHeap(char const* arcName, s16 bmdName, s16 btkName,
|
||||
if (brkName > 0) {
|
||||
J3DAnmTevRegKey* pbrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(arcName, brkName);
|
||||
s8 tevFrm = getTevFrm();
|
||||
int tmp = 1;
|
||||
int anmPlay = 1;
|
||||
if (tevFrm != -1) {
|
||||
tmp = 0;
|
||||
anmPlay = 0;
|
||||
}
|
||||
|
||||
mpBrkAnm = new mDoExt_brkAnm();
|
||||
|
||||
if (mpBrkAnm == NULL || !mpBrkAnm->init(modelData, pbrk, tmp, 2, 1.0f, 0, -1)) {
|
||||
if (mpBrkAnm == NULL || !mpBrkAnm->init(modelData, pbrk, anmPlay, 2, 1.0f, 0, -1)) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -176,8 +176,7 @@ void daItemBase_c::setShadow() {
|
||||
|
||||
if (!chkFlag(0x10)) {
|
||||
if (getShadowSize() != 0.0f) {
|
||||
dComIfGd_setSimpleShadow(¤t.pos, mAcch.GetGroundH(), scale,
|
||||
mAcch.m_gnd, 0, 1.0f,
|
||||
dComIfGd_setSimpleShadow(¤t.pos, mAcch.GetGroundH(), scale, mAcch.m_gnd, 0, 1.0f,
|
||||
dDlst_shadowControl_c::getSimpleTex());
|
||||
}
|
||||
} else {
|
||||
@@ -186,10 +185,9 @@ void daItemBase_c::setShadow() {
|
||||
shadowSize = 150.0f;
|
||||
}
|
||||
|
||||
field_0x91c =
|
||||
dComIfGd_setShadow(field_0x91c, 3, mpModel, ¤t.pos, shadowSize, 0.0f,
|
||||
current.pos.y, mAcch.GetGroundH(), mAcch.m_gnd,
|
||||
&mTevStr, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex());
|
||||
field_0x91c = dComIfGd_setShadow(field_0x91c, 3, mpModel, ¤t.pos, shadowSize, 0.0f,
|
||||
current.pos.y, mAcch.GetGroundH(), mAcch.m_gnd, &mTevStr,
|
||||
0, 1.0f, dDlst_shadowControl_c::getSimpleTex());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1613
-708
File diff suppressed because it is too large
Load Diff
+70
-108
@@ -4,110 +4,25 @@
|
||||
//
|
||||
|
||||
#include "d/a/d_a_obj.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct fopAc_ac_c {};
|
||||
|
||||
struct daPy_py_c {
|
||||
/* 8015F398 */ void checkMasterSwordEquip();
|
||||
};
|
||||
|
||||
struct dCcD_GObjInf {
|
||||
/* 800844F8 */ void GetTgHitObj();
|
||||
/* 8008457C */ void GetTgHitObjSe();
|
||||
};
|
||||
|
||||
struct Quaternion {};
|
||||
|
||||
struct Vec {};
|
||||
|
||||
struct cXyz {
|
||||
/* 80009184 */ ~cXyz();
|
||||
/* 80266B34 */ void operator-(Vec const&) const;
|
||||
/* 80266B84 */ void operator*(f32) const;
|
||||
/* 80266C18 */ void operator/(f32) const;
|
||||
/* 80266CBC */ void outprod(Vec const&) const;
|
||||
|
||||
static f32 Zero[3];
|
||||
static u8 BaseY[12];
|
||||
};
|
||||
|
||||
struct daObj {
|
||||
/* 80037038 */ void eff_break_tsubo(fopAc_ac_c*, cXyz, int);
|
||||
/* 80037180 */ void make_eff_break_kotubo(fopAc_ac_c*);
|
||||
/* 80037210 */ void make_eff_break_kotubo2(fopAc_ac_c*);
|
||||
/* 800372A0 */ void make_eff_break_gm_kotubo(fopAc_ac_c*);
|
||||
/* 80037330 */ void make_eff_break_gm_ootubo(fopAc_ac_c*);
|
||||
/* 800373C0 */ void posMoveF_stream(fopAc_ac_c*, cXyz const*, cXyz const*, f32, f32);
|
||||
/* 80037620 */ void posMoveF_grade(fopAc_ac_c*, cXyz const*, cXyz const*, f32, f32, cXyz const*,
|
||||
f32, f32, cXyz const*);
|
||||
/* 80037788 */ void quat_rotBaseY(Quaternion*, cXyz const&);
|
||||
/* 80037900 */ void HitSeStart(cXyz const*, int, dCcD_GObjInf const*, u32);
|
||||
};
|
||||
|
||||
struct dRes_info_c {};
|
||||
|
||||
struct dRes_control_c {
|
||||
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
|
||||
};
|
||||
|
||||
struct dKy_tevstr_c {};
|
||||
|
||||
struct J3DModelData {};
|
||||
|
||||
struct JPABaseEmitter {};
|
||||
|
||||
struct dPa_modelEcallBack {
|
||||
/* 8004AC00 */ void setModel(JPABaseEmitter*, J3DModelData*, dKy_tevstr_c const&, u8, void*, u8,
|
||||
u8);
|
||||
|
||||
static u8 mEcallback[4];
|
||||
};
|
||||
|
||||
struct dPa_levelEcallBack {};
|
||||
|
||||
struct csXyz {};
|
||||
|
||||
struct _GXColor {};
|
||||
|
||||
struct dPa_control_c {
|
||||
/* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
|
||||
u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
|
||||
cXyz const*, f32);
|
||||
|
||||
static u8 mTsubo[64];
|
||||
};
|
||||
|
||||
struct dCcD_GAtTgCoCommonBase {
|
||||
/* 80083688 */ void GetAc();
|
||||
};
|
||||
|
||||
struct cCcD_SphAttr {
|
||||
/* 80037A54 */ void GetCoCP();
|
||||
};
|
||||
|
||||
struct cCcD_CylAttr {
|
||||
/* 80037A4C */ void GetCoCP();
|
||||
};
|
||||
|
||||
struct JAISoundID {};
|
||||
|
||||
struct Z2SeMgr {
|
||||
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
};
|
||||
|
||||
struct Z2AudioMgr {
|
||||
static u8 mAudioMgrPtr[4 + 4 /* padding */];
|
||||
};
|
||||
|
||||
struct JMath {
|
||||
static u8 sincosTable_[65536];
|
||||
};
|
||||
namespace daObj {
|
||||
/* 80037038 */ void eff_break_tsubo(fopAc_ac_c*, cXyz, int);
|
||||
/* 80037180 */ void make_eff_break_kotubo(fopAc_ac_c*);
|
||||
/* 80037210 */ void make_eff_break_kotubo2(fopAc_ac_c*);
|
||||
/* 800372A0 */ void make_eff_break_gm_kotubo(fopAc_ac_c*);
|
||||
/* 80037330 */ void make_eff_break_gm_ootubo(fopAc_ac_c*);
|
||||
/* 800373C0 */ void posMoveF_stream(fopAc_ac_c*, cXyz const*, cXyz const*, f32, f32);
|
||||
/* 80037620 */ void posMoveF_grade(fopAc_ac_c*, cXyz const*, cXyz const*, f32, f32, cXyz const*,
|
||||
f32, f32, cXyz const*);
|
||||
/* 80037788 */ void quat_rotBaseY(Quaternion*, cXyz const&);
|
||||
/* 80037900 */ void HitSeStart(cXyz const*, int, dCcD_GObjInf const*, u32);
|
||||
}; // namespace daObj
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
@@ -151,12 +66,6 @@ extern "C" void outprod__4cXyzCFRC3Vec();
|
||||
extern "C" void cM_atan2s__Fff();
|
||||
extern "C" void cM3d_CrawVec__FRC3VecRC3VecP3Vec();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void PSVECAdd();
|
||||
extern "C" void PSVECSubtract();
|
||||
extern "C" void PSVECScale();
|
||||
extern "C" void PSVECSquareMag();
|
||||
extern "C" void PSVECDotProduct();
|
||||
extern "C" void C_QUATRotAxisRad();
|
||||
extern "C" void __register_global_object();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _savegpr_26();
|
||||
@@ -166,8 +75,6 @@ extern "C" void _restgpr_25();
|
||||
extern "C" void _restgpr_26();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" void acos();
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" u8 mTsubo__13dPa_control_c[64];
|
||||
extern "C" f32 Zero__4cXyz[3];
|
||||
extern "C" u8 BaseY__4cXyz[12];
|
||||
@@ -194,6 +101,22 @@ SECTION_SDATA2 static f32 lit_3671 = 1.0f;
|
||||
|
||||
/* 80037038-80037180 031978 0148+00 4/4 0/0 0/0 .text eff_break_tsubo__5daObjFP10fopAc_ac_c4cXyzi
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void daObj::eff_break_tsubo(fopAc_ac_c* param_0, cXyz param_1, int param_2) {
|
||||
J3DModelData* tubo_bmd = (J3DModelData*)dComIfG_getObjectRes("Always", 0x20);
|
||||
J3DAnmTexPattern* tubo_btp = (J3DAnmTexPattern*)dComIfG_getObjectRes("Always", 0x42);
|
||||
|
||||
JPABaseEmitter* emitter = (JPABaseEmitter*)dComIfGp_particle_set(
|
||||
0x15C, ¶m_0->current.pos, NULL, NULL, 0xFF, dPa_modelEcallBack::getEcallback(),
|
||||
fopAcM_GetRoomNo(param_0), NULL, NULL, ¶m_1);
|
||||
|
||||
dPa_modelEcallBack::setModel(emitter, tubo_bmd, param_0->mTevStr, 3, tubo_btp, 0, param_2);
|
||||
|
||||
dComIfGp_particle_set(0x15D, ¶m_0->current.pos, NULL, NULL, 0xFF,
|
||||
dPa_control_c::getTsuboSelectTexEcallBack(param_2),
|
||||
fopAcM_GetRoomNo(param_0), NULL, NULL, ¶m_1);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -202,6 +125,7 @@ asm void daObj::eff_break_tsubo(fopAc_ac_c* param_0, cXyz param_1, int param_2)
|
||||
#include "asm/d/a/d_a_obj/eff_break_tsubo__5daObjFP10fopAc_ac_c4cXyzi.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804245E8-804245F4 051308 000C+00 1/1 0/0 0/0 .bss @3677 */
|
||||
@@ -212,6 +136,14 @@ static f32 scale_3676[3];
|
||||
|
||||
/* 80037180-80037210 031AC0 0090+00 0/0 0/0 2/2 .text make_eff_break_kotubo__5daObjFP10fopAc_ac_c
|
||||
*/
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void daObj::make_eff_break_kotubo(fopAc_ac_c* param_0) {
|
||||
static cXyz scale(1.0f, 1.0f, 1.0f);
|
||||
|
||||
eff_break_tsubo(param_0, scale, 0);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -220,6 +152,7 @@ asm void daObj::make_eff_break_kotubo(fopAc_ac_c* param_0) {
|
||||
#include "asm/d/a/d_a_obj/make_eff_break_kotubo__5daObjFP10fopAc_ac_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80424600-8042460C 051320 000C+00 1/1 0/0 0/0 .bss @3692 */
|
||||
@@ -230,6 +163,14 @@ static f32 scale_3691[3];
|
||||
|
||||
/* 80037210-800372A0 031B50 0090+00 0/0 0/0 2/2 .text make_eff_break_kotubo2__5daObjFP10fopAc_ac_c
|
||||
*/
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void daObj::make_eff_break_kotubo2(fopAc_ac_c* param_0) {
|
||||
static cXyz scale(1.0f, 1.0f, 1.0f);
|
||||
|
||||
eff_break_tsubo(param_0, scale, 1);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -238,6 +179,7 @@ asm void daObj::make_eff_break_kotubo2(fopAc_ac_c* param_0) {
|
||||
#include "asm/d/a/d_a_obj/make_eff_break_kotubo2__5daObjFP10fopAc_ac_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80424618-80424624 051338 000C+00 1/1 0/0 0/0 .bss @3719 */
|
||||
@@ -248,6 +190,14 @@ static f32 scale_3718[3];
|
||||
|
||||
/* 800372A0-80037330 031BE0 0090+00 0/0 0/0 1/1 .text
|
||||
* make_eff_break_gm_kotubo__5daObjFP10fopAc_ac_c */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void daObj::make_eff_break_gm_kotubo(fopAc_ac_c* param_0) {
|
||||
static cXyz scale(1.0f, 1.0f, 1.0f);
|
||||
|
||||
eff_break_tsubo(param_0, scale, 3);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -256,6 +206,7 @@ asm void daObj::make_eff_break_gm_kotubo(fopAc_ac_c* param_0) {
|
||||
#include "asm/d/a/d_a_obj/make_eff_break_gm_kotubo__5daObjFP10fopAc_ac_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80424630-8042463C 051350 000C+00 1/1 0/0 0/0 .bss @3732 */
|
||||
@@ -269,6 +220,14 @@ SECTION_SDATA2 static f32 lit_3714 = 2.0f;
|
||||
|
||||
/* 80037330-800373C0 031C70 0090+00 0/0 0/0 1/1 .text
|
||||
* make_eff_break_gm_ootubo__5daObjFP10fopAc_ac_c */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void daObj::make_eff_break_gm_ootubo(fopAc_ac_c* param_0) {
|
||||
static cXyz scale(2.0f, 2.0f, 2.0f);
|
||||
|
||||
eff_break_tsubo(param_0, scale, 4);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -277,6 +236,7 @@ asm void daObj::make_eff_break_gm_ootubo(fopAc_ac_c* param_0) {
|
||||
#include "asm/d/a/d_a_obj/make_eff_break_gm_ootubo__5daObjFP10fopAc_ac_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451DA0-80451DA4 0003A0 0004+00 4/4 0/0 0/0 .sdata2 @3801 */
|
||||
@@ -383,7 +343,8 @@ asm void daObj::HitSeStart(cXyz const* param_0, int param_1, dCcD_GObjInf const*
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cCcD_CylAttr::GetCoCP() {
|
||||
// asm void cCcD_CylAttr::GetCoCP() {
|
||||
extern "C" asm void GetCoCP__12cCcD_CylAttrFv() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_obj/GetCoCP__12cCcD_CylAttrFv.s"
|
||||
}
|
||||
@@ -393,7 +354,8 @@ asm void cCcD_CylAttr::GetCoCP() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cCcD_SphAttr::GetCoCP() {
|
||||
// asm void cCcD_SphAttr::GetCoCP() {
|
||||
extern "C" asm void GetCoCP__12cCcD_SphAttrFv() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_obj/GetCoCP__12cCcD_SphAttrFv.s"
|
||||
}
|
||||
|
||||
+195
-176
@@ -12,7 +12,9 @@
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor_iter.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "m_Do/m_Do_lib.h"
|
||||
#include "rel/d/a/d_a_boomerang/d_a_boomerang.h"
|
||||
#include "rel/d/a/d_a_spinner/d_a_spinner.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
@@ -77,6 +79,7 @@ extern "C" void setMidnaFaceNum__9daPy_py_cFi();
|
||||
extern "C" void daPy_addCalcShort__FPsssss();
|
||||
extern "C" extern void* __vt__18daPy_sightPacket_c[4 + 1 /* padding */];
|
||||
extern "C" u8 m_midnaActor__9daPy_py_c[4];
|
||||
extern "C" u8 m_dropAngleY__20daPy_boomerangMove_c[4];
|
||||
|
||||
//
|
||||
// External References:
|
||||
@@ -143,10 +146,12 @@ bool daPy_frameCtrl_c::checkAnmEnd() {
|
||||
if (getEndFlg() != 0 && getNowSetFlg() == 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (getRate() == lit_4215[0]) {
|
||||
onEndFlg();
|
||||
onNowSetFlg();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -155,63 +160,38 @@ void daPy_frameCtrl_c::updateFrame() {
|
||||
offNowSetFlg();
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80453608-80453610 001C08 0008+00 2/2 0/0 0/0 .sdata2 @4237 */
|
||||
SECTION_SDATA2 static f64 lit_4237 = 4503601774854144.0 /* cast s32 to float */;
|
||||
|
||||
/* 8015E544-8015E5B0 158E84 006C+00 0/0 1/1 6/6 .text setFrameCtrl__16daPy_frameCtrl_cFUcssff */
|
||||
// compiler generated literal from short to float conversion
|
||||
#ifdef NONMATCHING
|
||||
void daPy_frameCtrl_c::setFrameCtrl(u8 pAttribute, s16 pStart, s16 pEnd, f32 pRate, f32 pFrame) {
|
||||
setAttribute(pAttribute);
|
||||
setEnd(pEnd);
|
||||
setRate(pRate);
|
||||
setStart(pStart);
|
||||
setFrame(pFrame);
|
||||
if (pRate >= lit_4215[0]) {
|
||||
setLoop(pStart);
|
||||
void daPy_frameCtrl_c::setFrameCtrl(u8 i_attribute, s16 i_start, s16 i_end, f32 i_rate,
|
||||
f32 i_frame) {
|
||||
setAttribute(i_attribute);
|
||||
setEnd(i_end);
|
||||
setRate(i_rate);
|
||||
setStart(i_start);
|
||||
setFrame(i_frame);
|
||||
|
||||
if (i_rate >= lit_4215[0]) {
|
||||
setLoop(i_start);
|
||||
} else {
|
||||
setLoop(pEnd);
|
||||
setLoop(i_end);
|
||||
}
|
||||
|
||||
offEndFlg();
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_frameCtrl_c::setFrameCtrl(u8 param_0, s16 param_1, s16 param_2, f32 param_3,
|
||||
f32 param_4) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/setFrameCtrl__16daPy_frameCtrl_cFUcssff.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80453610-80453614 001C10 0004+00 1/1 0/0 0/0 .sdata2 @4247 */
|
||||
SECTION_SDATA2 static f32 lit_4247 = 30.0f;
|
||||
|
||||
/* 80453614-80453618 001C14 0004+00 1/1 0/0 0/0 .sdata2 @4248 */
|
||||
SECTION_SDATA2 static f32 lit_4248 = 70.0f;
|
||||
|
||||
/* 80453618-8045361C 001C18 0004+00 2/2 0/0 0/0 .sdata2 @4249 */
|
||||
SECTION_SDATA2 static f32 lit_4249 = 50.0f;
|
||||
|
||||
/* 8045361C-80453620 001C1C 0004+00 1/1 0/0 0/0 .sdata2 @4250 */
|
||||
SECTION_SDATA2 static f32 lit_4250 = 65536.0f;
|
||||
|
||||
/* 8015E5B0-8015E654 158EF0 00A4+00 0/0 1/1 18/18 .text initOffset__20daPy_boomerangMove_cFPC4cXyz
|
||||
*/
|
||||
void daPy_boomerangMove_c::initOffset(cXyz const* param_0) {
|
||||
daBoomerang_c* boomerang = daPy_py_c::getThrowBoomerangActor();
|
||||
|
||||
if (boomerang != NULL) {
|
||||
bgCheckAfterOffset(param_0);
|
||||
boomerang->onWindCatch();
|
||||
} else {
|
||||
field_0x4 = cM_rndF(lit_4248) + lit_4247;
|
||||
field_0x8 = cM_rndF(lit_4249) + lit_4249;
|
||||
field_0x2 = cM_rndF(lit_4250);
|
||||
field_0x4 = cM_rndF(70.0f) + 30.0f;
|
||||
field_0x8 = cM_rndF(50.0f) + 50.0f;
|
||||
field_0x2 = cM_rndF(65536.0f);
|
||||
}
|
||||
|
||||
field_0x0 = 0;
|
||||
}
|
||||
|
||||
@@ -221,34 +201,59 @@ daMidna_c* daPy_py_c::m_midnaActor;
|
||||
|
||||
/* 8045101C-80451020 -00001 0004+00 1/1 1/1 1/1 .sbss None */
|
||||
/* 8045101C 0002+00 data_8045101C m_dropAngleY__20daPy_boomerangMove_c */
|
||||
s16 daPy_boomerangMove_c::m_dropAngleY;
|
||||
|
||||
/* 8045101E 0002+00 data_8045101E m_eventKeepFlg__20daPy_boomerangMove_c */
|
||||
extern u8 struct_8045101C[4];
|
||||
u8 struct_8045101C[4];
|
||||
|
||||
/* 80453620-80453624 001C20 0004+00 1/1 0/0 0/0 .sdata2 @4332 */
|
||||
SECTION_SDATA2 static f32 lit_4332 = 300.0f;
|
||||
|
||||
/* 80453624-80453628 001C24 0004+00 1/1 0/0 0/0 .sdata2 @4333 */
|
||||
SECTION_SDATA2 static f32 lit_4333 = -700.0f;
|
||||
|
||||
/* 80453628-80453630 001C28 0004+04 1/1 0/0 0/0 .sdata2 @4334 */
|
||||
SECTION_SDATA2 static f32 lit_4334[1 + 1 /* padding */] = {
|
||||
2048.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
s16 daPy_boomerangMove_c::m_eventKeepFlg;
|
||||
|
||||
/* 8015E654-8015E87C 158F94 0228+00 0/0 1/1 17/17 .text
|
||||
* posMove__20daPy_boomerangMove_cFP4cXyzPsP10fopAc_ac_cs */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_boomerangMove_c::posMove(cXyz* param_0, s16* param_1, fopAc_ac_c* param_2,
|
||||
s16 param_3) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/posMove__20daPy_boomerangMove_cFP4cXyzPsP10fopAc_ac_cs.s"
|
||||
int daPy_boomerangMove_c::posMove(cXyz* param_0, s16* param_1, fopAc_ac_c* param_2, s16 param_3) {
|
||||
daBoomerang_c* boomerang = daPy_py_c::getThrowBoomerangActor();
|
||||
|
||||
field_0x2 -= param_3;
|
||||
*param_1 -= param_3;
|
||||
|
||||
if (field_0x8 > 300.0f) {
|
||||
field_0x8 = 300.0f;
|
||||
}
|
||||
|
||||
if (field_0x4 < -700.0f) {
|
||||
field_0x4 = -700.0f;
|
||||
} else if (field_0x4 > 50.0f) {
|
||||
field_0x4 = 50.0f;
|
||||
}
|
||||
|
||||
if (boomerang != NULL) {
|
||||
if (boomerang->checkForceDelete()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (i_dComIfGp_event_runCheck()) {
|
||||
field_0x0 = 1;
|
||||
} else if (m_eventKeepFlg != 0 && field_0x0 == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
param_0->set(boomerang->current.pos.x + field_0x8 * cM_ssin(field_0x2),
|
||||
boomerang->current.pos.y + field_0x4,
|
||||
boomerang->current.pos.z + field_0x8 * cM_scos(field_0x2));
|
||||
boomerang->onWindCatch();
|
||||
return 1;
|
||||
}
|
||||
|
||||
daAlink_c* link = daAlink_getAlinkActorClass();
|
||||
if ((param_2 == NULL || !link->checkBoomerangCarry(param_2)) &&
|
||||
(m_eventKeepFlg == 0 || field_0x0 != 0)) {
|
||||
s16 tmp = (m_dropAngleY + link->mCollisionRot.y) + cM_rndF(2048.0f);
|
||||
|
||||
param_0->x = link->current.pos.x + field_0x8 * cM_ssin(tmp);
|
||||
param_0->z = link->current.pos.z + field_0x8 * cM_scos(tmp);
|
||||
m_dropAngleY += 0x2000;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80453630-80453638 001C30 0008+00 1/1 0/0 0/0 .sdata2 @4379 */
|
||||
@@ -271,8 +276,8 @@ void daPy_boomerangMove_c::bgCheckAfterOffset(cXyz const* param_0) {
|
||||
if (boomerang != NULL) {
|
||||
field_0x4 = param_0->y - boomerang->current.pos.y;
|
||||
field_0x8 = boomerang->current.pos.absXZ(*param_0);
|
||||
field_0x2 = cM_atan2s(param_0->x - boomerang->current.pos.x,
|
||||
param_0->z - boomerang->current.pos.z);
|
||||
field_0x2 =
|
||||
cM_atan2s(param_0->x - boomerang->current.pos.x, param_0->z - boomerang->current.pos.z);
|
||||
}
|
||||
}
|
||||
#else
|
||||
@@ -375,10 +380,10 @@ void daPy_actorKeep_c::setActor() {
|
||||
|
||||
/* 8015ECB8-8015ECFC 1595F8 0044+00 0/0 59/59 4/4 .text setData__16daPy_actorKeep_cFP10fopAc_ac_c
|
||||
*/
|
||||
void daPy_actorKeep_c::setData(fopAc_ac_c* pActor) {
|
||||
if (pActor != NULL) {
|
||||
mActor = pActor;
|
||||
mID = fopAcM_GetID(pActor);
|
||||
void daPy_actorKeep_c::setData(fopAc_ac_c* i_actor) {
|
||||
if (i_actor != NULL) {
|
||||
mActor = i_actor;
|
||||
mID = fopAcM_GetID(i_actor);
|
||||
} else {
|
||||
clearData();
|
||||
}
|
||||
@@ -389,9 +394,9 @@ void daPy_actorKeep_c::clearData() {
|
||||
mActor = NULL;
|
||||
}
|
||||
|
||||
daPy_anmHeap_c::daPy_anmHeap_c(u32 pBufferSize) {
|
||||
daPy_anmHeap_c::daPy_anmHeap_c(u32 i_bufferSize) {
|
||||
initData();
|
||||
mBufferSize = pBufferSize;
|
||||
mBufferSize = i_bufferSize;
|
||||
}
|
||||
|
||||
daPy_anmHeap_c::~daPy_anmHeap_c() {
|
||||
@@ -414,16 +419,16 @@ void* daPy_anmHeap_c::mallocBuffer() {
|
||||
|
||||
/* 8015EE00-8015EF84 159740 0184+00 0/0 1/1 1/1 .text
|
||||
* createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE */
|
||||
void daPy_anmHeap_c::createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE heap_type) {
|
||||
void daPy_anmHeap_c::createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE i_heapType) {
|
||||
u32 size;
|
||||
|
||||
if (heap_type == 4) {
|
||||
if (i_heapType == 4) {
|
||||
size = mBufferSize;
|
||||
} else if (heap_type == 3) {
|
||||
} else if (i_heapType == 3) {
|
||||
size = 0x50;
|
||||
} else if (heap_type == 0) {
|
||||
} else if (i_heapType == 0) {
|
||||
size = 0x40;
|
||||
} else if (heap_type == 1) {
|
||||
} else if (i_heapType == 1) {
|
||||
size = 0x40;
|
||||
} else {
|
||||
size = 0xA0;
|
||||
@@ -432,13 +437,13 @@ void daPy_anmHeap_c::createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE heap_type) {
|
||||
JKRHeap* tmp;
|
||||
mAnimeHeap = mDoExt_createSolidHeapFromGameToCurrent(&tmp, size, 0x20);
|
||||
|
||||
if (heap_type == 4) {
|
||||
if (i_heapType == 4) {
|
||||
char* tmpWork = new char[size];
|
||||
} else if (heap_type == 3) {
|
||||
} else if (i_heapType == 3) {
|
||||
mDoExt_transAnmBas* tmpTransBas = new mDoExt_transAnmBas(NULL);
|
||||
} else if (heap_type == 0) {
|
||||
} else if (i_heapType == 0) {
|
||||
J3DAnmTransformKey* tmpTrans = new J3DAnmTransformKey();
|
||||
} else if (heap_type == 1) {
|
||||
} else if (i_heapType == 1) {
|
||||
J3DAnmTexPattern* tmpTp = new J3DAnmTexPattern();
|
||||
} else {
|
||||
J3DAnmTextureSRTKey* tmpTk = new J3DAnmTextureSRTKey();
|
||||
@@ -448,50 +453,24 @@ void daPy_anmHeap_c::createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE heap_type) {
|
||||
mDoExt_adjustSolidHeap(mAnimeHeap);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80453648-80453650 001C48 0008+00 1/0 0/0 0/0 .sdata2 sumouArcName$4614 */
|
||||
extern "C" char sumouArcName[8];
|
||||
|
||||
/* 80453650-80453658 001C50 0005+03 1/0 0/0 0/0 .sdata2 ocArcName$4615 */
|
||||
extern "C" char ocArcName[8];
|
||||
|
||||
/* 80453658-80453660 001C58 0005+03 1/0 0/0 0/0 .sdata2 drArcName$4618 */
|
||||
extern "C" char drArcName[8];
|
||||
|
||||
/* 80453660-80453668 001C60 0008+00 1/0 0/0 0/0 .sdata2 msDemoArcName$4619 */
|
||||
extern "C" char msDemoArcName[8];
|
||||
|
||||
/* 80453668-80453670 001C68 0006+02 1/0 0/0 0/0 .sdata2 lastGanonArcName$4620 */
|
||||
extern "C" char lastGanonArcName[8];
|
||||
|
||||
/* 80453670-80453678 001C70 0006+02 1/0 0/0 0/0 .sdata2 pigGanonArcName$4621 */
|
||||
extern "C" char pigGanonArcName[8];
|
||||
|
||||
SECTION_RODATA static char const twglArcName[12] = "TWGate_Lk";
|
||||
|
||||
SECTION_RODATA static char const twgwArcName[12] = "TWGate_Wf";
|
||||
|
||||
SECTION_DATA static char* arcName[8] = {
|
||||
(char*)&sumouArcName, (char*)&ocArcName, (char*)&twglArcName, (char*)&twgwArcName,
|
||||
(char*)&drArcName, (char*)&msDemoArcName, (char*)&lastGanonArcName, (char*)&pigGanonArcName,
|
||||
};
|
||||
|
||||
SECTION_SDATA2 static char sumouArcName[8] = "alSumou";
|
||||
|
||||
SECTION_SDATA2 static char ocArcName[8] = "B_oh";
|
||||
|
||||
SECTION_SDATA2 static char drArcName[8] = "B_DR";
|
||||
|
||||
SECTION_SDATA2 static char msDemoArcName[8] = "Lv6Gate";
|
||||
|
||||
SECTION_SDATA2 static char lastGanonArcName[8] = "B_gnd";
|
||||
|
||||
SECTION_SDATA2 static char pigGanonArcName[8] = "B_mgn";
|
||||
|
||||
/* 8015EF84-8015F068 1598C4 00E4+00 3/3 0/0 0/0 .text loadData__14daPy_anmHeap_cFUs */
|
||||
void* daPy_anmHeap_c::loadData(u16 id) {
|
||||
void* daPy_anmHeap_c::loadData(u16 i_resId) {
|
||||
static const char twglArcName[12] = "TWGate_Lk";
|
||||
static const char twgwArcName[12] = "TWGate_Wf";
|
||||
static const char sumouArcName[8] = "alSumou";
|
||||
static const char ocArcName[8] = "B_oh";
|
||||
static const char drArcName[8] = "B_DR";
|
||||
static const char msDemoArcName[8] = "Lv6Gate";
|
||||
static const char lastGanonArcName[8] = "B_gnd";
|
||||
static const char pigGanonArcName[8] = "B_mgn";
|
||||
|
||||
static const char* arcName[8] = {
|
||||
sumouArcName, ocArcName, twglArcName, twgwArcName,
|
||||
drArcName, msDemoArcName, lastGanonArcName, pigGanonArcName,
|
||||
};
|
||||
|
||||
if (mArcNo == 0xFFFF) {
|
||||
dComIfGp_getAnmArchive()->readIdxResource(mBuffer, mBufferSize, id);
|
||||
dComIfGp_getAnmArchive()->readIdxResource(mBuffer, mBufferSize, i_resId);
|
||||
JKRHeap* heap = setAnimeHeap();
|
||||
void* data = J3DAnmLoaderDataBase::load(mBuffer, UNK_FLAG0);
|
||||
mDoExt_setCurrentHeap(heap);
|
||||
@@ -499,55 +478,58 @@ void* daPy_anmHeap_c::loadData(u16 id) {
|
||||
}
|
||||
|
||||
if (mArcNo == 0) {
|
||||
return dComIfG_getObjectIDRes(dStage_roomControl_c::getDemoArcName(), id);
|
||||
return dComIfG_getObjectIDRes(dStage_roomControl_c::getDemoArcName(), i_resId);
|
||||
}
|
||||
|
||||
return dComIfG_getObjectRes(arcName[mArcNo - 1], id);
|
||||
return dComIfG_getObjectRes(arcName[mArcNo - 1], i_resId);
|
||||
}
|
||||
|
||||
/* 8015F068-8015F0D0 1599A8 0068+00 0/0 9/9 5/5 .text loadDataIdx__14daPy_anmHeap_cFUs */
|
||||
void* daPy_anmHeap_c::loadDataIdx(u16 id) {
|
||||
void* daPy_anmHeap_c::loadDataIdx(u16 i_resID) {
|
||||
void* data;
|
||||
|
||||
if (id == mIdx && mArcNo == 0xFFFF) {
|
||||
if (i_resID == mIdx && mArcNo == 0xFFFF) {
|
||||
data = NULL;
|
||||
} else {
|
||||
mIdx = id;
|
||||
mIdx = i_resID;
|
||||
mArcNo = 0xFFFF;
|
||||
if (mPriIdx == 0xFFFF) {
|
||||
data = loadData(id);
|
||||
data = loadData(i_resID);
|
||||
} else {
|
||||
data = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
/* 8015F0D0-8015F118 159A10 0048+00 0/0 3/3 0/0 .text loadDataPriIdx__14daPy_anmHeap_cFUs
|
||||
*/
|
||||
void* daPy_anmHeap_c::loadDataPriIdx(u16 id) {
|
||||
void* daPy_anmHeap_c::loadDataPriIdx(u16 i_resID) {
|
||||
void* data;
|
||||
|
||||
if (id == mPriIdx || mArcNo != 0xFFFF) {
|
||||
if (i_resID == mPriIdx || mArcNo != 0xFFFF) {
|
||||
data = NULL;
|
||||
} else {
|
||||
mPriIdx = id;
|
||||
data = loadData(id);
|
||||
mPriIdx = i_resID;
|
||||
data = loadData(i_resID);
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
/* 8015F118-8015F168 159A58 0050+00 0/0 5/5 5/5 .text loadDataDemoRID__14daPy_anmHeap_cFUsUs */
|
||||
void* daPy_anmHeap_c::loadDataDemoRID(u16 id, u16 arc_no) {
|
||||
void* daPy_anmHeap_c::loadDataDemoRID(u16 i_resID, u16 i_arcNo) {
|
||||
void* data;
|
||||
|
||||
if (id == mIdx && arc_no == mArcNo) {
|
||||
if (i_resID == mIdx && i_arcNo == mArcNo) {
|
||||
data = NULL;
|
||||
} else {
|
||||
mIdx = id;
|
||||
mArcNo = arc_no;
|
||||
data = loadData(id);
|
||||
mIdx = i_resID;
|
||||
mArcNo = i_arcNo;
|
||||
data = loadData(i_resID);
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
@@ -578,29 +560,56 @@ SECTION_SDATA2 static u32 lit_4668 = 0xFF8000FF;
|
||||
SECTION_SDATA2 static u32 lit_4669 = 0x321400FF;
|
||||
|
||||
/* 8015F1A0-8015F2FC 159AE0 015C+00 1/0 1/1 0/0 .text draw__18daPy_sightPacket_cFv */
|
||||
// dumb instruction block out of order
|
||||
#ifdef NONMATCHING
|
||||
void daPy_sightPacket_c::draw() {
|
||||
GXTexObj texObj;
|
||||
|
||||
j3dSys.reinitGX();
|
||||
GXSetNumIndStages(0);
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_RGB8, 0);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB565, 0);
|
||||
|
||||
GXColor reg0 = {255, 128, 0, 255};
|
||||
GXColor reg1 = {50, 20, 0, 255};
|
||||
|
||||
GXSetTevColor(GX_TEVREG0, reg0);
|
||||
GXSetTevColor(GX_TEVREG1, reg1);
|
||||
GXInitTexObj(&texObj, mpData, mpImg->width, mpImg->height, (GXTexFmt)mpImg->format,
|
||||
(GXTexWrapMode)mpImg->wrapS, (GXTexWrapMode)mpImg->wrapT,
|
||||
(GXBool)(mpImg->mipmapCount > 1));
|
||||
GXInitTexObjLOD(&texObj, GX_LINEAR, GX_LINEAR, 0.0, 0.0, 0.0, GX_FALSE, GX_FALSE, GX_ANISO_1);
|
||||
GXLoadTexObj(&texObj, GX_TEXMAP0);
|
||||
GXLoadPosMtxImm(field_0x14, GX_PNMTX0);
|
||||
GXSetCurrentMtx(0);
|
||||
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL);
|
||||
GXCallDisplayList(l_sightDL, 0x80);
|
||||
J3DShape::resetVcdVatCache();
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
extern "C" asm void draw__18daPy_sightPacket_cFv() {
|
||||
// asm void daPy_sightPacket_c::draw() {
|
||||
asm void daPy_sightPacket_c::draw() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/draw__18daPy_sightPacket_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80453680-80453684 001C80 0004+00 1/1 0/0 0/0 .sdata2 @4699 */
|
||||
SECTION_SDATA2 static f32 lit_4699 = 32.0f;
|
||||
#endif
|
||||
|
||||
/* 8015F2FC-8015F384 159C3C 0088+00 0/0 1/1 0/0 .text setSight__18daPy_sightPacket_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_sightPacket_c::setSight() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/setSight__18daPy_sightPacket_cFv.s"
|
||||
void daPy_sightPacket_c::setSight() {
|
||||
Vec tmp;
|
||||
|
||||
mDoLib_project(&mPos, &tmp);
|
||||
mDoMtx_stack_c::transS(tmp.x, tmp.y, tmp.z);
|
||||
mDoMtx_stack_c::scaleM(32.0f, 32.0f, 32.0f);
|
||||
mDoMtx_stack_c::copy(field_0x14);
|
||||
dComIfGd_set2DXlu(this);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8015F384-8015F398 159CC4 0014+00 0/0 1/1 0/0 .text
|
||||
* setSightImage__18daPy_sightPacket_cFP7ResTIMG */
|
||||
@@ -617,6 +626,7 @@ BOOL daPy_py_c::checkMasterSwordEquip() {
|
||||
if (equipSword == MASTER_SWORD || equipSword == LIGHT_SWORD) {
|
||||
isMasterSword = true;
|
||||
}
|
||||
|
||||
return isMasterSword;
|
||||
}
|
||||
|
||||
@@ -625,7 +635,7 @@ BOOL daPy_py_c::checkMasterSwordEquip() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_py_c::checkWoodShieldEquip() {
|
||||
asm bool daPy_py_c::checkWoodShieldEquip() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/checkWoodShieldEquip__9daPy_py_cFv.s"
|
||||
}
|
||||
@@ -641,6 +651,7 @@ f32 daPy_py_c::getAttentionOffsetY() {
|
||||
if (checkNowWolf()) {
|
||||
return -12.5f;
|
||||
}
|
||||
|
||||
return 57.5f;
|
||||
}
|
||||
|
||||
@@ -678,8 +689,8 @@ void daPy_py_c::setLookPos(cXyz* p_pos) {
|
||||
}
|
||||
|
||||
/* 8015F520-8015F55C 159E60 003C+00 0/0 0/0 4/4 .text setPlayerSe__9daPy_py_cFUl */
|
||||
void daPy_py_c::setPlayerSe(u32 se_id) {
|
||||
daAlink_getAlinkActorClass()->seStartOnlyReverb(se_id);
|
||||
void daPy_py_c::setPlayerSe(u32 i_sfxID) {
|
||||
daAlink_getAlinkActorClass()->seStartOnlyReverb(i_sfxID);
|
||||
}
|
||||
|
||||
/* 8015F55C-8015F60C 159E9C 00B0+00 1/1 0/0 2/2 .text
|
||||
@@ -696,7 +707,8 @@ bool daPy_py_c::linkGrabSubjectNoDraw(fopAc_ac_c* p_ac) {
|
||||
}
|
||||
}
|
||||
|
||||
if (check_carry && dComIfGp_checkCameraAttentionStatus(i_dComIfGp_getPlayerCameraID(0), 2) != 0) {
|
||||
if (check_carry &&
|
||||
dComIfGp_checkCameraAttentionStatus(i_dComIfGp_getPlayerCameraID(0), 2) != 0) {
|
||||
ret = true;
|
||||
}
|
||||
|
||||
@@ -718,8 +730,7 @@ asm bool daPy_py_c::linkGrabSubjectNoDraw(fopAc_ac_c* param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_py_c::wolfGrabSubjectNoDraw(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
asm void daPy_py_c::wolfGrabSubjectNoDraw(fopAc_ac_c* param_0){nofralloc
|
||||
#include "asm/d/a/d_a_player/wolfGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
@@ -735,48 +746,67 @@ bool daPy_py_c::checkRoomRestartStart() {
|
||||
|
||||
if (mode == 4 || mode == 8 || mode == 5) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 8015F698-8015F730 159FD8 0098+00 0/0 2/2 1/1 .text checkCarryStartLightBallA__9daPy_py_cFv */
|
||||
u32 daPy_py_c::checkCarryStartLightBallA() {
|
||||
if (checkRoomRestartStart() || !i_dComIfGp_getStage() || !i_dComIfGp_getStage()->getStagInfo() ||
|
||||
if (checkRoomRestartStart() || !i_dComIfGp_getStage() ||
|
||||
!i_dComIfGp_getStage()->getStagInfo() ||
|
||||
i_dStage_stagInfo_GetSaveTbl(i_dComIfGp_getStage()->getStagInfo()) != 0x17) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return dComIfGs_getLastSceneMode() & 0x100000;
|
||||
}
|
||||
|
||||
/* 8015F730-8015F7C8 15A070 0098+00 0/0 2/2 1/1 .text checkCarryStartLightBallB__9daPy_py_cFv */
|
||||
u32 daPy_py_c::checkCarryStartLightBallB() {
|
||||
if (checkRoomRestartStart() || !i_dComIfGp_getStage() || !i_dComIfGp_getStage()->getStagInfo() ||
|
||||
if (checkRoomRestartStart() || !i_dComIfGp_getStage() ||
|
||||
!i_dComIfGp_getStage()->getStagInfo() ||
|
||||
i_dStage_stagInfo_GetSaveTbl(i_dComIfGp_getStage()->getStagInfo()) != 0x17) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return dComIfGs_getLastSceneMode() & 0x80000;
|
||||
}
|
||||
|
||||
float daPy_py_c::getSpinnerRideSpeed() const {
|
||||
float rideSpeed;
|
||||
f32 daPy_py_c::getSpinnerRideSpeed() const {
|
||||
f32 rideSpeed;
|
||||
|
||||
if (checkSpinnerRide()) {
|
||||
rideSpeed = mSpeedF;
|
||||
} else {
|
||||
rideSpeed = lit_4215[0];
|
||||
}
|
||||
|
||||
return rideSpeed;
|
||||
}
|
||||
|
||||
/* 8015F814-8015F89C 15A154 0088+00 0/0 0/0 1/1 .text checkSpinnerReflectEffect__9daPy_py_cFv */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
bool daPy_py_c::checkSpinnerReflectEffect() {
|
||||
daSpinner_c* spinner = (daSpinner_c*)getSpinnerActor();
|
||||
|
||||
if (spinner != NULL && spinner->reflectAccept()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_py_c::checkSpinnerReflectEffect() {
|
||||
asm bool daPy_py_c::checkSpinnerReflectEffect() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/checkSpinnerReflectEffect__9daPy_py_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8015F89C-8015F8C8 15A1DC 002C+00 0/0 0/0 7/7 .text checkBoomerangCharge__9daPy_py_cFv
|
||||
*/
|
||||
@@ -874,14 +904,3 @@ asm void daPy_addCalcShort(s16* param_0, s16 param_1, s16 param_2, s16 param_3,
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803BA14C-803BA160 01726C 0010+04 0/0 4/4 0/0 .data __vt__18daPy_sightPacket_c */
|
||||
SECTION_DATA extern void* __vt__18daPy_sightPacket_c[4 + 1 /* padding */] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)draw__18daPy_sightPacket_cFv,
|
||||
(void*)__dt__18daPy_sightPacket_cFv,
|
||||
/* padding */
|
||||
NULL,
|
||||
};
|
||||
|
||||
@@ -54,7 +54,7 @@ asm void dBgPlc::getCode(int param_0, sBgPc** param_1) const {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgPlc::getGrpCode(int param_0) const {
|
||||
asm u32 dBgPlc::getGrpCode(int param_0) const {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_plc/getGrpCode__6dBgPlcCFi.s"
|
||||
}
|
||||
|
||||
+2
-2
@@ -568,7 +568,7 @@ int dBgS::GetMonkeyBarsCode(cBgS_PolyInfo const& poly) {
|
||||
|
||||
/* 80074DAC-80074E00 06F6EC 0054+00 0/0 0/0 1/1 .text
|
||||
* GetUnderwaterRoofCode__4dBgSFRC13cBgS_PolyInfo */
|
||||
int dBgS::GetUnderwaterRoofCode(cBgS_PolyInfo const& poly) {
|
||||
u32 dBgS::GetUnderwaterRoofCode(cBgS_PolyInfo const& poly) {
|
||||
int bg_index = poly.GetBgIndex();
|
||||
if (m_chk_element[bg_index].ChkUsed()) {
|
||||
return m_chk_element[bg_index].m_bgw_base_ptr->GetUnderwaterRoofCode(poly.GetPolyIndex());
|
||||
@@ -658,7 +658,7 @@ s32 dBgS::GetRoomPathPntNo(cBgS_PolyInfo const& poly) {
|
||||
}
|
||||
|
||||
/* 80075080-800750D0 06F9C0 0050+00 0/0 2/2 0/0 .text GetGrpSoundId__4dBgSFRC13cBgS_PolyInfo */
|
||||
s32 dBgS::GetGrpSoundId(cBgS_PolyInfo const& poly) {
|
||||
u8 dBgS::GetGrpSoundId(cBgS_PolyInfo const& poly) {
|
||||
int bg_index = poly.GetBgIndex();
|
||||
if (m_chk_element[bg_index].ChkUsed()) {
|
||||
return m_chk_element[bg_index].m_bgw_base_ptr->GetGrpSoundId(poly);
|
||||
|
||||
+675
-547
File diff suppressed because it is too large
Load Diff
+237
-332
@@ -206,14 +206,9 @@ SECTION_DATA extern void* __vt__8dBgWKCol[60] = {
|
||||
};
|
||||
|
||||
/* 8007E6F4-8007E74C 079034 0058+00 0/0 0/0 1/1 .text __ct__8dBgWKColFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgWKCol::dBgWKCol() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/__ct__8dBgWKColFv.s"
|
||||
dBgWKCol::dBgWKCol() {
|
||||
m_pkc_head = NULL;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007E74C-8007E7D0 07908C 0084+00 1/0 0/0 0/0 .text __dt__8dBgWKColFv */
|
||||
#pragma push
|
||||
@@ -237,35 +232,22 @@ asm void dBgWKCol::initKCollision(void* param_0) {
|
||||
#pragma pop
|
||||
|
||||
/* 8007E804-8007E850 079144 004C+00 0/0 0/0 1/1 .text create__8dBgWKColFPvPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::create(void* param_0, void* param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/create__8dBgWKColFPvPv.s"
|
||||
void dBgWKCol::create(void* pprism, void* plc) {
|
||||
ClrDBgWBase();
|
||||
m_pkc_head = (pkcdata*)pprism;
|
||||
m_code.setBase(plc);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007E850-8007E86C 079190 001C+00 1/1 0/0 0/0 .text getTriNrm__8dBgWKColCFP12KC_PrismDataPP3Vec
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::getTriNrm(KC_PrismData* param_0, Vec** param_1) const {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/getTriNrm__8dBgWKColCFP12KC_PrismDataPP3Vec.s"
|
||||
void dBgWKCol::getTriNrm(KC_PrismData* pkc, Vec** nrm) const {
|
||||
*nrm = &m_pkc_head->field_0x4[pkc->field_0x6];
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007E86C-8007E87C 0791AC 0010+00 1/0 0/0 0/0 .text ChkNotReady__8dBgWKColCFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm bool dBgWKCol::ChkNotReady() const {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/ChkNotReady__8dBgWKColCFv.s"
|
||||
bool dBgWKCol::ChkNotReady() const {
|
||||
return m_pkc_head == NULL;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007E87C-8007E884 0791BC 0008+00 1/0 0/0 0/0 .text ChkLock__8dBgWKColCFv */
|
||||
bool dBgWKCol::ChkLock() const {
|
||||
@@ -278,58 +260,53 @@ bool dBgWKCol::ChkMoveBg() const {
|
||||
}
|
||||
|
||||
/* 8007E88C-8007E894 0791CC 0008+00 1/0 0/0 0/0 .text ChkMoveFlag__8dBgWKColCFv */
|
||||
bool dBgWKCol::ChkMoveFlag() const {
|
||||
return false;
|
||||
u32 dBgWKCol::ChkMoveFlag() const {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 8007E894-8007E8C0 0791D4 002C+00 1/0 0/0 0/0 .text GetTriPla__8dBgWKColCFRC13cBgS_PolyInfo */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cM3dGPla dBgWKCol::GetTriPla(cBgS_PolyInfo const& param_0) const {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetTriPla__8dBgWKColCFRC13cBgS_PolyInfo.s"
|
||||
cM3dGPla dBgWKCol::GetTriPla(cBgS_PolyInfo const& poly) const {
|
||||
int poly_index = poly.GetPolyIndex();
|
||||
return GetTriPla(poly_index);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007E8C0-8007E980 079200 00C0+00 3/3 0/0 0/0 .text GetTriPla__8dBgWKColCFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetTriPla(int param_0) const {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetTriPla__8dBgWKColCFi.s"
|
||||
cM3dGPla dBgWKCol::GetTriPla(int poly_index) const {
|
||||
KC_PrismData* pd = getPrismData(poly_index);
|
||||
|
||||
Vec* tri_nrm;
|
||||
getTriNrm(pd, &tri_nrm);
|
||||
|
||||
Vec* tri_pos;
|
||||
getTri1Pos(pd, &tri_pos);
|
||||
PSVECDotProduct(tri_nrm, tri_pos);
|
||||
|
||||
cM3dGPla plane;
|
||||
plane.SetupNP(*tri_nrm, *tri_pos);
|
||||
|
||||
return plane;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007E980-8007E9A4 0792C0 0024+00 1/0 0/0 0/0 .text
|
||||
* GetTriPnt__8dBgWKColCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetTriPnt(cBgS_PolyInfo const& param_0, cXyz* param_1, cXyz* param_2,
|
||||
cXyz* param_3) const {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetTriPnt__8dBgWKColCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz.s"
|
||||
bool dBgWKCol::GetTriPnt(cBgS_PolyInfo const& poly, cXyz* param_1, cXyz* param_2,
|
||||
cXyz* param_3) const {
|
||||
int poly_index = poly.GetPolyIndex();
|
||||
return GetTriPnt(poly_index, param_1, param_2, param_3);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007E9A4-8007E9D4 0792E4 0030+00 3/3 0/0 0/0 .text GetTriPnt__8dBgWKColCFiP3VecP3VecP3Vec */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetTriPnt(int param_0, Vec* param_1, Vec* param_2, Vec* param_3) const {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetTriPnt__8dBgWKColCFiP3VecP3VecP3Vec.s"
|
||||
bool dBgWKCol::GetTriPnt(int poly_index, Vec* param_1, Vec* param_2, Vec* param_3) const {
|
||||
KC_PrismData* pd = getPrismData(poly_index);
|
||||
return GetTriPnt(pd, param_1, param_2, param_3);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007E9D4-8007EB28 079314 0154+00 3/3 0/0 0/0 .text
|
||||
* GetTriPnt__8dBgWKColCFPC12KC_PrismDataP3VecP3VecP3Vec */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetTriPnt(KC_PrismData const* param_0, Vec* param_1, Vec* param_2,
|
||||
asm bool dBgWKCol::GetTriPnt(KC_PrismData const* param_0, Vec* param_1, Vec* param_2,
|
||||
Vec* param_3) const {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetTriPnt__8dBgWKColCFPC12KC_PrismDataP3VecP3VecP3Vec.s"
|
||||
@@ -337,47 +314,37 @@ asm void dBgWKCol::GetTriPnt(KC_PrismData const* param_0, Vec* param_1, Vec* par
|
||||
#pragma pop
|
||||
|
||||
/* 8007EB28-8007EB30 079468 0008+00 1/0 0/0 0/0 .text GetBnd__8dBgWKColCFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetBnd() const {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetBnd__8dBgWKColCFv.s"
|
||||
cM3dGAab* dBgWKCol::GetBnd() const {
|
||||
return (cM3dGAab*)&m_bnd;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007EB30-8007EB6C 079470 003C+00 1/0 0/0 0/0 .text GetGrpInf__8dBgWKColCFRC13cBgS_PolyInfo */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetGrpInf(cBgS_PolyInfo const& param_0) const {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetGrpInf__8dBgWKColCFRC13cBgS_PolyInfo.s"
|
||||
u32 dBgWKCol::GetGrpInf(cBgS_PolyInfo const& poly) const {
|
||||
u16 poly_index = poly.GetPolyIndex();
|
||||
KC_PrismData* pd = getPrismData(poly_index);
|
||||
|
||||
return m_code.getGrpCode(pd->field_0xe);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007EB6C-8007EB70 0794AC 0004+00 1/0 0/0 0/0 .text OffMoveFlag__8dBgWKColFv */
|
||||
void dBgWKCol::OffMoveFlag() {
|
||||
/* empty function */
|
||||
}
|
||||
void dBgWKCol::OffMoveFlag() {}
|
||||
|
||||
/* 8007EB70-8007EBC4 0794B0 0054+00 39/39 0/0 0/0 .text getPolyCode__8dBgWKColCFiP5dBgPc
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::getPolyCode(int param_0, dBgPc* param_1) const {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/getPolyCode__8dBgWKColCFiP5dBgPc.s"
|
||||
void dBgWKCol::getPolyCode(int poly_index, dBgPc* pbgpc) const {
|
||||
KC_PrismData* pd = getPrismData(poly_index);
|
||||
|
||||
sBgPc* code;
|
||||
m_code.getCode(pd->field_0xe, &code);
|
||||
pbgpc->setCode(*code);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007EBC4-8007EE34 079504 0270+00 8/8 0/0 0/0 .text
|
||||
* chkPolyThrough__8dBgWKColCFP5dBgPcP16cBgS_PolyPassChkP15cBgS_GrpPassChkR4cXyz */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::chkPolyThrough(dBgPc* param_0, cBgS_PolyPassChk* param_1,
|
||||
asm bool dBgWKCol::chkPolyThrough(dBgPc* param_0, cBgS_PolyPassChk* param_1,
|
||||
cBgS_GrpPassChk* param_2, cXyz& param_3) const {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/chkPolyThrough__8dBgWKColCFP5dBgPcP16cBgS_PolyPassChkP15cBgS_GrpPassChkR4cXyz.s"
|
||||
@@ -441,18 +408,17 @@ asm void dBgWKCol::ShdwDraw(cBgS_ShdwDraw* param_0) {
|
||||
#pragma pop
|
||||
|
||||
/* 8007FF00-8007FF1C 07A840 001C+00 1/1 0/0 0/0 .text ChkShdwDrawThrough__8dBgWKColFP5dBgPc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::ChkShdwDrawThrough(dBgPc* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/ChkShdwDrawThrough__8dBgWKColFP5dBgPc.s"
|
||||
bool dBgWKCol::ChkShdwDrawThrough(dBgPc* pbgpc) {
|
||||
if (pbgpc->getShdwThrough()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return pbgpc->getArrowThrough();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80424F70-80424F94 051C90 0024+00 1/1 0/0 0/0 .bss vtx_tbl$4582 */
|
||||
static u8 vtx_tbl_4582[36];
|
||||
static Vec vtx_tbl_4582[3];
|
||||
|
||||
/* 8007FF1C-80080330 07A85C 0414+00 1/0 0/0 0/0 .text CaptPoly__8dBgWKColFR13dBgS_CaptPoly */
|
||||
#pragma push
|
||||
@@ -501,7 +467,7 @@ asm void dBgWKCol::WallCorrectSort(dBgS_Acch* param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::WallCorrect(dBgS_Acch* param_0) {
|
||||
asm bool dBgWKCol::WallCorrect(dBgS_Acch* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/WallCorrect__8dBgWKColFP9dBgS_Acch.s"
|
||||
}
|
||||
@@ -530,7 +496,7 @@ asm bool dBgWKCol::SplGrpChk(dBgS_SplGrpChk* param_0) {
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80425384-804253A8 0520A4 0024+00 1/1 0/0 0/0 .bss vtx_tbl$5950 */
|
||||
static u8 vtx_tbl_5950[36];
|
||||
static Vec vtx_tbl_5950[3];
|
||||
|
||||
/* 800824EC-800829AC 07CE2C 04C0+00 1/0 0/0 0/0 .text SphChk__8dBgWKColFP11dBgS_SphChkPv
|
||||
*/
|
||||
@@ -543,358 +509,297 @@ asm bool dBgWKCol::SphChk(dBgS_SphChk* param_0, void* param_1) {
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80452750-80452758 000D50 0008+00 1/1 0/0 0/0 .sdata2 @6099 */
|
||||
SECTION_SDATA2 static f64 lit_6099 = 4503599627370496.0 /* cast u32 to float */;
|
||||
|
||||
/* 800829AC-800829F0 07D2EC 0044+00 1/0 0/0 0/0 .text GetTopUnder__8dBgWKColCFPfPf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetTopUnder(f32* param_0, f32* param_1) const {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetTopUnder__8dBgWKColCFPfPf.s"
|
||||
void dBgWKCol::GetTopUnder(f32* param_0, f32* param_1) const {
|
||||
*param_1 = m_pkc_head->m_area_min_pos.y;
|
||||
*param_0 = *param_1 + (f32)~m_pkc_head->field_0x24;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800829F0-80082A20 07D330 0030+00 1/0 0/0 0/0 .text
|
||||
* GetGrpRoomIndex__8dBgWKColCFRC13cBgS_PolyInfo */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetGrpRoomIndex(cBgS_PolyInfo const& param_0) const {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetGrpRoomIndex__8dBgWKColCFRC13cBgS_PolyInfo.s"
|
||||
s32 dBgWKCol::GetGrpRoomIndex(cBgS_PolyInfo const& poly) const {
|
||||
u16 poly_index = poly.GetPolyIndex();
|
||||
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
return bgpc.getRoom();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082A20-80082A50 07D360 0030+00 1/0 0/0 0/0 .text GetExitId__8dBgWKColFRC13cBgS_PolyInfo */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetExitId(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetExitId__8dBgWKColFRC13cBgS_PolyInfo.s"
|
||||
s32 dBgWKCol::GetExitId(cBgS_PolyInfo const& poly) {
|
||||
u16 poly_index = poly.GetPolyIndex();
|
||||
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
return bgpc.getExit();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082A50-80082A80 07D390 0030+00 1/0 0/0 0/0 .text GetPolyColor__8dBgWKColFRC13cBgS_PolyInfo */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetPolyColor(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetPolyColor__8dBgWKColFRC13cBgS_PolyInfo.s"
|
||||
s32 dBgWKCol::GetPolyColor(cBgS_PolyInfo const& poly) {
|
||||
u16 poly_index = poly.GetPolyIndex();
|
||||
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
return bgpc.getPolyCol();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082A80-80082AB0 07D3C0 0030+00 1/0 0/0 0/0 .text GetHorseNoEntry__8dBgWKColFRC13cBgS_PolyInfo
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetHorseNoEntry(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetHorseNoEntry__8dBgWKColFRC13cBgS_PolyInfo.s"
|
||||
BOOL dBgWKCol::GetHorseNoEntry(cBgS_PolyInfo const& poly) {
|
||||
u16 poly_index = poly.GetPolyIndex();
|
||||
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
return bgpc.getHorseNoEntry();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082AB0-80082AE0 07D3F0 0030+00 1/0 0/0 0/0 .text GetSpecialCode__8dBgWKColFRC13cBgS_PolyInfo
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int dBgWKCol::GetSpecialCode(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetSpecialCode__8dBgWKColFRC13cBgS_PolyInfo.s"
|
||||
int dBgWKCol::GetSpecialCode(cBgS_PolyInfo const& poly) {
|
||||
u16 poly_index = poly.GetPolyIndex();
|
||||
return GetSpecialCode(poly_index);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082AE0-80082B0C 07D420 002C+00 1/0 0/0 0/0 .text GetSpecialCode__8dBgWKColFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int dBgWKCol::GetSpecialCode(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetSpecialCode__8dBgWKColFi.s"
|
||||
int dBgWKCol::GetSpecialCode(int poly_index) {
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
|
||||
return bgpc.getSpl();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082B0C-80082B3C 07D44C 0030+00 1/0 0/0 0/0 .text GetMagnetCode__8dBgWKColFRC13cBgS_PolyInfo
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int dBgWKCol::GetMagnetCode(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetMagnetCode__8dBgWKColFRC13cBgS_PolyInfo.s"
|
||||
int dBgWKCol::GetMagnetCode(cBgS_PolyInfo const& poly) {
|
||||
u16 poly_index = poly.GetPolyIndex();
|
||||
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
return bgpc.getMagnet();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082B3C-80082B6C 07D47C 0030+00 1/0 0/0 0/0 .text
|
||||
* GetMonkeyBarsCode__8dBgWKColFRC13cBgS_PolyInfo */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int dBgWKCol::GetMonkeyBarsCode(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetMonkeyBarsCode__8dBgWKColFRC13cBgS_PolyInfo.s"
|
||||
int dBgWKCol::GetMonkeyBarsCode(cBgS_PolyInfo const& poly) {
|
||||
u16 poly_index = poly.GetPolyIndex();
|
||||
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
return bgpc.getMonkeyBars();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082B6C-80082B98 07D4AC 002C+00 1/0 0/0 0/0 .text GetPolyObjThrough__8dBgWKColFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetPolyObjThrough(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetPolyObjThrough__8dBgWKColFi.s"
|
||||
u32 dBgWKCol::GetPolyObjThrough(int poly_index) {
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
|
||||
return bgpc.getObjThrough();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082B98-80082BC4 07D4D8 002C+00 1/0 0/0 0/0 .text GetPolyCamThrough__8dBgWKColFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetPolyCamThrough(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetPolyCamThrough__8dBgWKColFi.s"
|
||||
u32 dBgWKCol::GetPolyCamThrough(int poly_index) {
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
|
||||
return bgpc.getCamThrough();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082BC4-80082BF0 07D504 002C+00 1/0 0/0 0/0 .text GetPolyLinkThrough__8dBgWKColFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetPolyLinkThrough(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetPolyLinkThrough__8dBgWKColFi.s"
|
||||
u32 dBgWKCol::GetPolyLinkThrough(int poly_index) {
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
|
||||
return bgpc.getLinkThrough();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082BF0-80082C1C 07D530 002C+00 1/0 0/0 0/0 .text GetPolyArrowThrough__8dBgWKColFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetPolyArrowThrough(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetPolyArrowThrough__8dBgWKColFi.s"
|
||||
u32 dBgWKCol::GetPolyArrowThrough(int poly_index) {
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
|
||||
return bgpc.getArrowThrough();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082C1C-80082C48 07D55C 002C+00 1/0 0/0 0/0 .text GetPolyHSStick__8dBgWKColFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm u32 dBgWKCol::GetPolyHSStick(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetPolyHSStick__8dBgWKColFi.s"
|
||||
u32 dBgWKCol::GetPolyHSStick(int poly_index) {
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
|
||||
return bgpc.getHSStick();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082C48-80082C74 07D588 002C+00 1/0 0/0 0/0 .text GetPolyBoomerangThrough__8dBgWKColFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetPolyBoomerangThrough(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetPolyBoomerangThrough__8dBgWKColFi.s"
|
||||
u32 dBgWKCol::GetPolyBoomerangThrough(int poly_index) {
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
|
||||
return bgpc.getBoomerangThrough();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082C74-80082CA0 07D5B4 002C+00 1/0 0/0 0/0 .text GetPolyRopeThrough__8dBgWKColFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetPolyRopeThrough(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetPolyRopeThrough__8dBgWKColFi.s"
|
||||
u32 dBgWKCol::GetPolyRopeThrough(int poly_index) {
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
|
||||
return bgpc.getRopeThrough();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082CA0-80082CCC 07D5E0 002C+00 1/0 0/0 0/0 .text GetPolyBombThrough__8dBgWKColFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetPolyBombThrough(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetPolyBombThrough__8dBgWKColFi.s"
|
||||
u32 dBgWKCol::GetPolyBombThrough(int poly_index) {
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
|
||||
return bgpc.getBombThrough();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082CCC-80082CF8 07D60C 002C+00 1/0 0/0 0/0 .text GetUnderwaterRoofCode__8dBgWKColFi
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int dBgWKCol::GetUnderwaterRoofCode(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetUnderwaterRoofCode__8dBgWKColFi.s"
|
||||
u32 dBgWKCol::GetUnderwaterRoofCode(int poly_index) {
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
|
||||
return bgpc.getUnderwaterRoof();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082CF8-80082D24 07D638 002C+00 1/0 0/0 0/0 .text GetShdwThrough__8dBgWKColFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetShdwThrough(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetShdwThrough__8dBgWKColFi.s"
|
||||
bool dBgWKCol::GetShdwThrough(int poly_index) {
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
|
||||
return bgpc.getShdwThrough();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082D24-80082D54 07D664 0030+00 1/0 0/0 0/0 .text GetLinkNo__8dBgWKColFRC13cBgS_PolyInfo */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetLinkNo(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetLinkNo__8dBgWKColFRC13cBgS_PolyInfo.s"
|
||||
int dBgWKCol::GetLinkNo(cBgS_PolyInfo const& poly) {
|
||||
u16 poly_index = poly.GetPolyIndex();
|
||||
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
return bgpc.getLinkNo();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082D54-80082D84 07D694 0030+00 1/0 0/0 0/0 .text GetWallCode__8dBgWKColFRC13cBgS_PolyInfo */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm s32 dBgWKCol::GetWallCode(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetWallCode__8dBgWKColFRC13cBgS_PolyInfo.s"
|
||||
s32 dBgWKCol::GetWallCode(cBgS_PolyInfo const& poly) {
|
||||
u16 poly_index = poly.GetPolyIndex();
|
||||
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
return bgpc.getWallCode();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082D84-80082DB4 07D6C4 0030+00 1/0 0/0 0/0 .text GetPolyAtt0__8dBgWKColFRC13cBgS_PolyInfo */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int dBgWKCol::GetPolyAtt0(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetPolyAtt0__8dBgWKColFRC13cBgS_PolyInfo.s"
|
||||
int dBgWKCol::GetPolyAtt0(cBgS_PolyInfo const& poly) {
|
||||
u16 poly_index = poly.GetPolyIndex();
|
||||
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
return bgpc.getAtt0Code();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082DB4-80082DE4 07D6F4 0030+00 1/0 0/0 0/0 .text GetPolyAtt1__8dBgWKColFRC13cBgS_PolyInfo */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int dBgWKCol::GetPolyAtt1(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetPolyAtt1__8dBgWKColFRC13cBgS_PolyInfo.s"
|
||||
int dBgWKCol::GetPolyAtt1(cBgS_PolyInfo const& poly) {
|
||||
u16 poly_index = poly.GetPolyIndex();
|
||||
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
return bgpc.getAtt1Code();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082DE4-80082E14 07D724 0030+00 1/0 0/0 0/0 .text GetGroundCode__8dBgWKColFRC13cBgS_PolyInfo
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int dBgWKCol::GetGroundCode(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetGroundCode__8dBgWKColFRC13cBgS_PolyInfo.s"
|
||||
int dBgWKCol::GetGroundCode(cBgS_PolyInfo const& poly) {
|
||||
u16 poly_index = poly.GetPolyIndex();
|
||||
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
return bgpc.getGroundCode();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082E14-80082E40 07D754 002C+00 1/0 0/0 0/0 .text GetIronBallThrough__8dBgWKColFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetIronBallThrough(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetIronBallThrough__8dBgWKColFi.s"
|
||||
u32 dBgWKCol::GetIronBallThrough(int poly_index) {
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
|
||||
return bgpc.getIronBallThrough();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082E40-80082E6C 07D780 002C+00 1/0 0/0 0/0 .text GetAttackThrough__8dBgWKColFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetAttackThrough(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetAttackThrough__8dBgWKColFi.s"
|
||||
u32 dBgWKCol::GetAttackThrough(int poly_index) {
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
|
||||
return bgpc.getAttackThrough();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082E6C-80082E9C 07D7AC 0030+00 1/0 0/0 0/0 .text GetCamMoveBG__8dBgWKColFRC13cBgS_PolyInfo */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetCamMoveBG(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetCamMoveBG__8dBgWKColFRC13cBgS_PolyInfo.s"
|
||||
s32 dBgWKCol::GetCamMoveBG(cBgS_PolyInfo const& poly) {
|
||||
u16 poly_index = poly.GetPolyIndex();
|
||||
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
return bgpc.getCamMoveBG();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082E9C-80082ECC 07D7DC 0030+00 1/0 0/0 0/0 .text GetRoomCamId__8dBgWKColFRC13cBgS_PolyInfo */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetRoomCamId(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetRoomCamId__8dBgWKColFRC13cBgS_PolyInfo.s"
|
||||
s32 dBgWKCol::GetRoomCamId(cBgS_PolyInfo const& poly) {
|
||||
u16 poly_index = poly.GetPolyIndex();
|
||||
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
return bgpc.getRoomCam();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082ECC-80082EFC 07D80C 0030+00 1/0 0/0 0/0 .text GetRoomPathId__8dBgWKColFRC13cBgS_PolyInfo
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetRoomPathId(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetRoomPathId__8dBgWKColFRC13cBgS_PolyInfo.s"
|
||||
s32 dBgWKCol::GetRoomPathId(cBgS_PolyInfo const& poly) {
|
||||
u16 poly_index = poly.GetPolyIndex();
|
||||
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
return bgpc.getRoomPath();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082EFC-80082F2C 07D83C 0030+00 1/0 0/0 0/0 .text
|
||||
* GetRoomPathPntNo__8dBgWKColFRC13cBgS_PolyInfo */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetRoomPathPntNo(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetRoomPathPntNo__8dBgWKColFRC13cBgS_PolyInfo.s"
|
||||
s32 dBgWKCol::GetRoomPathPntNo(cBgS_PolyInfo const& poly) {
|
||||
u16 poly_index = poly.GetPolyIndex();
|
||||
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
return bgpc.getRoomPathPnt();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082F2C-80082F5C 07D86C 0030+00 1/0 0/0 0/0 .text
|
||||
* GetPolyGrpRoomInfId__8dBgWKColFRC13cBgS_PolyInfo */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetPolyGrpRoomInfId(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetPolyGrpRoomInfId__8dBgWKColFRC13cBgS_PolyInfo.s"
|
||||
u8 dBgWKCol::GetPolyGrpRoomInfId(cBgS_PolyInfo const& poly) {
|
||||
u16 poly_index = poly.GetPolyIndex();
|
||||
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
return bgpc.getRoomInf();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082F5C-80082F8C 07D89C 0030+00 1/0 0/0 0/0 .text GetGrpSoundId__8dBgWKColFRC13cBgS_PolyInfo
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetGrpSoundId(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetGrpSoundId__8dBgWKColFRC13cBgS_PolyInfo.s"
|
||||
u8 dBgWKCol::GetGrpSoundId(cBgS_PolyInfo const& poly) {
|
||||
u16 poly_index = poly.GetPolyIndex();
|
||||
|
||||
dBgPc bgpc;
|
||||
getPolyCode(poly_index, &bgpc);
|
||||
return bgpc.getSnd();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80082F8C-80082F90 07D8CC 0004+00 1/0 0/0 0/0 .text
|
||||
* CrrPos__8dBgWKColFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz */
|
||||
void dBgWKCol::CrrPos(cBgS_PolyInfo const& param_0, void* param_1, bool param_2, cXyz* param_3,
|
||||
csXyz* param_4, csXyz* param_5) {
|
||||
/* empty function */
|
||||
}
|
||||
csXyz* param_4, csXyz* param_5) {}
|
||||
|
||||
/* 80082F90-80082F94 07D8D0 0004+00 1/0 0/0 0/0 .text
|
||||
* TransPos__8dBgWKColFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz */
|
||||
void dBgWKCol::TransPos(cBgS_PolyInfo const& param_0, void* param_1, bool param_2, cXyz* param_3,
|
||||
csXyz* param_4, csXyz* param_5) {
|
||||
/* empty function */
|
||||
}
|
||||
csXyz* param_4, csXyz* param_5) {}
|
||||
|
||||
/* 80082F94-80082F98 07D8D4 0004+00 1/0 0/0 0/0 .text
|
||||
* MatrixCrrPos__8dBgWKColFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz */
|
||||
void dBgWKCol::MatrixCrrPos(cBgS_PolyInfo const& param_0, void* param_1, bool param_2,
|
||||
cXyz* param_3, csXyz* param_4, csXyz* param_5) {
|
||||
/* empty function */
|
||||
}
|
||||
cXyz* param_3, csXyz* param_4, csXyz* param_5) {}
|
||||
|
||||
+22
-128
@@ -5,118 +5,6 @@
|
||||
|
||||
#include "d/bg/d_bg_w_sv.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct fopAc_ac_c {};
|
||||
|
||||
struct cBgD_t {};
|
||||
|
||||
struct cBgS_PolyInfo {};
|
||||
|
||||
struct csXyz {};
|
||||
|
||||
struct cXyz {};
|
||||
|
||||
struct dBgWSv {
|
||||
/* 80082F98 */ void Set(cBgD_t*, u32);
|
||||
/* 80083020 */ void CopyBackVtx();
|
||||
/* 8008308C */ void CrrPosWork(cXyz*, int, int, int);
|
||||
/* 80083244 */ void CrrPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*);
|
||||
/* 80083300 */ void TransPosWork(cXyz*, int, int, int);
|
||||
/* 8008351C */ void TransPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*);
|
||||
/* 800835D8 */ void MatrixCrrPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*);
|
||||
/* 800835DC */ ~dBgWSv();
|
||||
};
|
||||
|
||||
struct cBgS_GrpPassChk {};
|
||||
|
||||
struct cBgS_PolyPassChk {};
|
||||
|
||||
struct dBgS_SplGrpChk {};
|
||||
|
||||
struct dBgS_Acch {};
|
||||
|
||||
struct dBgS_SphChk {};
|
||||
|
||||
struct dBgS_RoofChk {};
|
||||
|
||||
struct dBgS_CaptPoly {};
|
||||
|
||||
struct dBgW {
|
||||
/* 8007B3AC */ void GetExitId(cBgS_PolyInfo const&);
|
||||
/* 8007B3D8 */ void GetPolyColor(cBgS_PolyInfo const&);
|
||||
/* 8007B404 */ void GetHorseNoEntry(cBgS_PolyInfo const&);
|
||||
/* 8007B430 */ int GetSpecialCode(cBgS_PolyInfo const&);
|
||||
/* 8007B460 */ int GetSpecialCode(int);
|
||||
/* 8007B488 */ void GetMagnetCode(cBgS_PolyInfo const&);
|
||||
/* 8007B4B4 */ int GetMonkeyBarsCode(cBgS_PolyInfo const&);
|
||||
/* 8007B4E0 */ void GetPolyObjThrough(int);
|
||||
/* 8007B504 */ void GetPolyCamThrough(int);
|
||||
/* 8007B52C */ void GetPolyLinkThrough(int);
|
||||
/* 8007B550 */ void GetPolyArrowThrough(int);
|
||||
/* 8007B574 */ void GetPolyHSStick(int);
|
||||
/* 8007B598 */ void GetPolyBoomerangThrough(int);
|
||||
/* 8007B5BC */ void GetPolyRopeThrough(int);
|
||||
/* 8007B5E0 */ void GetPolyBombThrough(int);
|
||||
/* 8007B604 */ void GetShdwThrough(int);
|
||||
/* 8007B630 */ int GetUnderwaterRoofCode(int);
|
||||
/* 8007B6AC */ void GetLinkNo(cBgS_PolyInfo const&);
|
||||
/* 8007B6D8 */ void GetWallCode(cBgS_PolyInfo const&);
|
||||
/* 8007B704 */ void GetPolyAtt0(cBgS_PolyInfo const&);
|
||||
/* 8007B734 */ void GetPolyAtt1(cBgS_PolyInfo const&);
|
||||
/* 8007B760 */ int GetGroundCode(cBgS_PolyInfo const&);
|
||||
/* 8007B7DC */ void GetIronBallThrough(int);
|
||||
/* 8007B800 */ void GetAttackThrough(int);
|
||||
/* 8007B87C */ void GetCamMoveBG(cBgS_PolyInfo const&);
|
||||
/* 8007B8A8 */ void GetRoomCamId(cBgS_PolyInfo const&);
|
||||
/* 8007B8D8 */ void GetRoomPathId(cBgS_PolyInfo const&);
|
||||
/* 8007B904 */ void GetRoomPathPntNo(cBgS_PolyInfo const&);
|
||||
/* 8007C484 */ void WallCorrect(dBgS_Acch*);
|
||||
/* 8007C910 */ void WallCorrectSort(dBgS_Acch*);
|
||||
/* 8007D470 */ void RoofChk(dBgS_RoofChk*);
|
||||
/* 8007D830 */ bool SplGrpChk(dBgS_SplGrpChk*);
|
||||
/* 8007DAF8 */ void CaptPoly(dBgS_CaptPoly&);
|
||||
/* 8007DF00 */ void SphChk(dBgS_SphChk*, void*);
|
||||
/* 8007DF28 */ void GetPolyGrpRoomInfId(cBgS_PolyInfo const&);
|
||||
/* 8007DF58 */ void GetGrpSoundId(cBgS_PolyInfo const&);
|
||||
/* 8007E02C */ void ChkPolyThrough(int, cBgS_PolyPassChk*);
|
||||
/* 8007E360 */ void ChkShdwDrawThrough(int, cBgS_PolyPassChk*);
|
||||
/* 8007E3D8 */ void ChkGrpThrough(int, cBgS_GrpPassChk*, int);
|
||||
/* 8007E444 */ void CallRideCallBack(fopAc_ac_c*, fopAc_ac_c*);
|
||||
/* 8007E474 */ void CallArrowStickCallBack(fopAc_ac_c*, fopAc_ac_c*, cXyz&);
|
||||
/* 8007E4A4 */ void OffMoveFlag();
|
||||
/* 8007E4B4 */ void ChkMoveFlag() const;
|
||||
};
|
||||
|
||||
struct cBgS_ShdwDraw {};
|
||||
|
||||
struct cBgS_LinChk {};
|
||||
|
||||
struct cBgS_GndChk {};
|
||||
|
||||
struct cBgW {
|
||||
/* 8007933C */ ~cBgW();
|
||||
/* 80079564 */ void CalcPlane();
|
||||
/* 800797BC */ void ClassifyPlane();
|
||||
/* 80079EEC */ void ChkMemoryError();
|
||||
/* 80079F38 */ void Set(cBgD_t*, u32, f32 (*)[3][4]);
|
||||
/* 8007A658 */ bool LineCheck(cBgS_LinChk*);
|
||||
/* 8007AB9C */ bool GroundCross(cBgS_GndChk*);
|
||||
/* 8007B084 */ void ShdwDraw(cBgS_ShdwDraw*);
|
||||
/* 8007B0E4 */ void GetGrpRoomIndex(cBgS_PolyInfo const&) const;
|
||||
/* 8007B164 */ void GetBnd() const;
|
||||
/* 8007B1B4 */ void GetTriPnt(cBgS_PolyInfo const&, cXyz*, cXyz*, cXyz*) const;
|
||||
/* 8007B240 */ void GetTopUnder(f32*, f32*) const;
|
||||
/* 8007B270 */ void GetTriPla(cBgS_PolyInfo const&) const;
|
||||
/* 8007B2B0 */ void GetGrpInf(cBgS_PolyInfo const&) const;
|
||||
/* 8007B948 */ bool ChkNotReady() const;
|
||||
/* 8007B958 */ void ChkLock() const;
|
||||
/* 8007B964 */ void ChkMoveBg() const;
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
@@ -201,31 +89,36 @@ extern "C" void __dl__FPv();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" extern void* __vt__4dBgW[65];
|
||||
extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 80082F98-80083020 07D8D8 0088+00 0/0 0/0 2/2 .text Set__6dBgWSvFP6cBgD_tUl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWSv::Set(cBgD_t* param_0, u32 param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_sv/Set__6dBgWSvFP6cBgD_tUl.s"
|
||||
u8 dBgWSv::Set(cBgD_t* pbgd, u32 param_1) {
|
||||
if (cBgW::Set(pbgd, 99, NULL)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
field_0xc4 = param_1;
|
||||
if (field_0xc4 & 1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
field_0xc0 = new Vec[pm_bgd->m_v_num];
|
||||
return field_0xc0 == NULL;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80083020-8008308C 07D960 006C+00 0/0 0/0 3/3 .text CopyBackVtx__6dBgWSvFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWSv::CopyBackVtx() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_sv/CopyBackVtx__6dBgWSvFv.s"
|
||||
void dBgWSv::CopyBackVtx() {
|
||||
if (field_0xc0 == NULL || pm_vtx_tbl == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (int i = 0; i < pm_bgd->m_v_num; i++) {
|
||||
field_0xc0[i] = pm_vtx_tbl[i];
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8008308C-80083244 07D9CC 01B8+00 1/1 0/0 0/0 .text CrrPosWork__6dBgWSvFP4cXyziii */
|
||||
#pragma push
|
||||
@@ -366,7 +259,8 @@ SECTION_DATA extern void* __vt__6dBgWSv[65 + 1 /* padding */] = {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgWSv::~dBgWSv() {
|
||||
// asm dBgWSv::~dBgWSv() {
|
||||
extern "C" asm void __dt__6dBgWSvFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_sv/__dt__6dBgWSvFv.s"
|
||||
}
|
||||
|
||||
@@ -46,8 +46,14 @@ dCcMassS_Obj::dCcMassS_Obj() {}
|
||||
void dCcMassS_Mng::Ct() {
|
||||
field_0x202 = 0;
|
||||
mResultCam = 0;
|
||||
mCamTopPos.set(0, -1000000000.0f, 0);
|
||||
mCamBottomPos.set(0, -1000000000.0f, 0);
|
||||
mCamTopPos.x = 0.0f;
|
||||
mCamTopPos.y = -1000000000.0f;
|
||||
mCamTopPos.z = 0.0f;
|
||||
|
||||
mCamBottomPos.x = 0.0f;
|
||||
mCamBottomPos.y = -1000000000.0f;
|
||||
mCamBottomPos.z = 0.0f;
|
||||
|
||||
Clear();
|
||||
}
|
||||
|
||||
@@ -98,9 +104,14 @@ void dCcMassS_Mng::Prepare() {
|
||||
mDivideArea.CalcDivideInfo(&mDivideInfo, mCpsAttr.GetWorkAab(), 0);
|
||||
}
|
||||
|
||||
mCamTopPos.set(0, -1000000000.0f, 0);
|
||||
mCamTopPos.x = 0.0f;
|
||||
mCamTopPos.y = -1000000000.0f;
|
||||
mCamTopPos.z = 0.0f;
|
||||
mCamTopDist = 1000000000.0f;
|
||||
mCamBottomPos.set(0, -1000000000.0f, 0);
|
||||
|
||||
mCamBottomPos.x = 0.0f;
|
||||
mCamBottomPos.y = -1000000000.0f;
|
||||
mCamBottomPos.z = 0.0f;
|
||||
mCamBottomDist = 1000000000.0f;
|
||||
}
|
||||
|
||||
|
||||
+148
-194
@@ -4,11 +4,13 @@
|
||||
//
|
||||
|
||||
#include "d/com/d_com_static.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/d_demo.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.h"
|
||||
#include "rel/d/a/d_a_movie_player/d_a_movie_player.h"
|
||||
#include "rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
@@ -27,11 +29,13 @@ struct daTagStream_c {
|
||||
};
|
||||
|
||||
struct daTagMist_c {
|
||||
/* 80031CF0 */ void getPlayerNo();
|
||||
/* 80031CF0 */ static u8 getPlayerNo();
|
||||
|
||||
static u8 mPlayerNo;
|
||||
};
|
||||
|
||||
struct daSetBgObj_c {
|
||||
/* 80031870 */ void getArcName(fopAc_ac_c*);
|
||||
/* 80031870 */ static const char* getArcName(fopAc_ac_c*);
|
||||
};
|
||||
|
||||
struct daObjMovebox {
|
||||
@@ -48,15 +52,6 @@ struct daMirror_c {
|
||||
static u8 m_myObj[4];
|
||||
};
|
||||
|
||||
struct daMP_c {
|
||||
/* 80031A78 */ void daMP_c_Get_MovieRestFrame();
|
||||
/* 80031AA4 */ void daMP_c_Set_PercentMovieVolume(f32);
|
||||
/* 80031AD0 */ void daMP_c_THPPlayerPlay();
|
||||
/* 80031B24 */ void daMP_c_THPPlayerPause();
|
||||
|
||||
static u8 m_myObj[4];
|
||||
};
|
||||
|
||||
struct daGrass_c {
|
||||
/* 800319C8 */ void deleteRoomGrass(int);
|
||||
/* 80031A20 */ void deleteRoomFlower(int);
|
||||
@@ -67,7 +62,7 @@ struct daGrass_c {
|
||||
};
|
||||
|
||||
struct daDsh_c {
|
||||
static u32 OPEN_SIZE;
|
||||
static f32 OPEN_SIZE;
|
||||
static f32 OPEN_ACCEL;
|
||||
static f32 OPEN_SPEED;
|
||||
static f32 OPEN_BOUND_SPEED;
|
||||
@@ -86,10 +81,6 @@ struct dFlower_packet_c {
|
||||
static u8 m_deleteRoom[12];
|
||||
};
|
||||
|
||||
struct dDemo_c {
|
||||
static u8 m_status[4];
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
@@ -205,6 +196,7 @@ extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */];
|
||||
extern "C" u8 m_status__7dDemo_c[4];
|
||||
extern "C" extern u8 mPlayerNo__11daTagMist_c[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
@@ -212,67 +204,102 @@ extern "C" u8 m_status__7dDemo_c[4];
|
||||
|
||||
/* 80030F14-80030FBC 02B854 00A8+00 1/1 0/0 0/0 .text
|
||||
* set__Q27daSus_c6data_cFScRC4cXyzRC4cXyzUcUcUc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daSus_c::data_c::set(s8 param_0, cXyz const& param_1, cXyz const& param_2, u8 param_3,
|
||||
u8 param_4, u8 param_5) {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/set__Q27daSus_c6data_cFScRC4cXyzRC4cXyzUcUcUc.s"
|
||||
void daSus_c::data_c::set(s8 i_roomNo, cXyz const& param_1, cXyz const& param_2, u8 param_3,
|
||||
u8 param_4, u8 i_type) {
|
||||
mRoomNo = i_roomNo;
|
||||
field_0x8.set(param_1.x - param_2.x, param_1.y, param_1.z - param_2.z);
|
||||
field_0x14.set(param_1.x + param_2.x, param_1.y + param_2.y, param_1.z + param_2.z);
|
||||
field_0x2 = param_3;
|
||||
field_0x1 = param_4 != 0;
|
||||
field_0x3 = isSwitch() == false;
|
||||
mType = i_type;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80030FBC-80030FCC 02B8FC 0010+00 3/3 0/0 0/0 .text reset__Q27daSus_c6data_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daSus_c::data_c::reset() {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/reset__Q27daSus_c6data_cFv.s"
|
||||
daSus_c::data_c* daSus_c::data_c::reset() {
|
||||
mRoomNo = -1;
|
||||
return mpNext;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80030FCC-80031038 02B90C 006C+00 2/2 0/0 0/0 .text isSwitch__Q27daSus_c6data_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daSus_c::data_c::isSwitch() {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/isSwitch__Q27daSus_c6data_cFv.s"
|
||||
u8 daSus_c::data_c::isSwitch() {
|
||||
if (field_0x1 & 1) {
|
||||
return dComIfGs_isSwitch(field_0x2, mRoomNo);
|
||||
} else {
|
||||
return dComIfGs_isSwitch(field_0x2, mRoomNo) == false;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80031038-800310C8 02B978 0090+00 2/2 0/0 0/0 .text check__Q27daSus_c6data_cFRC4cXyz */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daSus_c::data_c::check(cXyz const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/check__Q27daSus_c6data_cFRC4cXyz.s"
|
||||
bool daSus_c::data_c::check(cXyz const& i_pos) {
|
||||
if (field_0x3 != 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((field_0x8.x <= i_pos.x && i_pos.x <= field_0x14.x) &&
|
||||
(field_0x8.y <= i_pos.y && i_pos.y <= field_0x14.y) &&
|
||||
(field_0x8.z <= i_pos.z && i_pos.z <= field_0x14.z)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800310C8-80031150 02BA08 0088+00 1/1 0/0 0/0 .text check__Q27daSus_c6data_cFP10fopAc_ac_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daSus_c::data_c::check(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/check__Q27daSus_c6data_cFP10fopAc_ac_c.s"
|
||||
u8 daSus_c::data_c::check(fopAc_ac_c* i_actor) {
|
||||
if (field_0x3) {
|
||||
return 0x80;
|
||||
}
|
||||
|
||||
u8 tmp = 0x80;
|
||||
|
||||
if (check(i_actor->orig.pos)) {
|
||||
tmp |= 1;
|
||||
}
|
||||
|
||||
if (check(i_actor->current.pos)) {
|
||||
tmp |= 2;
|
||||
return tmp;
|
||||
}
|
||||
|
||||
return tmp;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80031150-80031190 02BA90 0040+00 1/1 0/0 0/0 .text execute__Q27daSus_c6data_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daSus_c::data_c::execute() {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/execute__Q27daSus_c6data_cFv.s"
|
||||
void daSus_c::data_c::execute() {
|
||||
u8 sw = isSwitch();
|
||||
if (sw != field_0x3) {
|
||||
field_0x3 = sw;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80031190-800311FC 02BAD0 006C+00 1/1 0/0 0/0 .text add__Q27daSus_c6room_cFPQ27daSus_c6data_c */
|
||||
// instruction reorder
|
||||
#ifdef NONMATCHING
|
||||
void daSus_c::room_c::add(daSus_c::data_c* i_data) {
|
||||
if (mpData == NULL) {
|
||||
mpData = i_data;
|
||||
i_data->setNext(NULL);
|
||||
return;
|
||||
}
|
||||
|
||||
if (i_data->getType() == 0) {
|
||||
i_data->setNext(mpData);
|
||||
mpData = i_data;
|
||||
return;
|
||||
}
|
||||
|
||||
daSus_c::data_c* data1 = mpData;
|
||||
daSus_c::data_c* data2 = data1->getNext();
|
||||
while (data1->getType() == 0 && data2 != NULL) {
|
||||
data1 = data2;
|
||||
data2 = data2->getNext();
|
||||
}
|
||||
|
||||
i_data->setNext(data1->getNext());
|
||||
data1->setNext(i_data);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -281,16 +308,14 @@ asm void daSus_c::room_c::add(daSus_c::data_c* param_0) {
|
||||
#include "asm/d/com/d_com_static/add__Q27daSus_c6room_cFPQ27daSus_c6data_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 800311FC-80031248 02BB3C 004C+00 0/0 0/0 1/1 .text reset__Q27daSus_c6room_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daSus_c::room_c::reset() {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/reset__Q27daSus_c6room_cFv.s"
|
||||
void daSus_c::room_c::reset() {
|
||||
while (mpData != NULL && mpData->getType() == 0) {
|
||||
mpData = mpData->reset();
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80423FF0-80423FFC 050D10 000C+00 1/1 0/0 0/0 .bss @3840 */
|
||||
@@ -304,9 +329,11 @@ u8 daSus_c::mRoom[256];
|
||||
|
||||
/* 80450D88-80450D8C -00001 0004+00 1/1 0/0 2/2 .sbss None */
|
||||
/* 80450D88 0002+00 data_80450D88 m_count__9daArrow_c */
|
||||
extern s16 m_count__9daArrow_c;
|
||||
s16 m_count__9daArrow_c;
|
||||
|
||||
/* 80450D8A 0002+00 data_80450D8A mSetTop__7daSus_c */
|
||||
extern u8 struct_80450D88[4];
|
||||
u8 struct_80450D88[4];
|
||||
s16 daSus_c::mSetTop;
|
||||
|
||||
/* 80031248-800313BC 02BB88 0174+00 0/0 0/0 1/1 .text newData__7daSus_cFScRC4cXyzRC4cXyzUcUcUc */
|
||||
#pragma push
|
||||
@@ -333,7 +360,7 @@ asm void daSus_c::reset() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm bool daSus_c::check(s8 param_0, cXyz const& param_1) {
|
||||
asm bool daSus_c::check(s8 i_roomNo, cXyz const& i_pos) {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/check__7daSus_cFScRC4cXyz.s"
|
||||
}
|
||||
@@ -360,102 +387,55 @@ asm void daSus_c::execute() {
|
||||
#pragma pop
|
||||
|
||||
/* 8003160C-80031648 02BF4C 003C+00 0/0 0/0 1/1 .text daNpcMsg_setEvtNum__FUc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daNpcMsg_setEvtNum(u8 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/daNpcMsg_setEvtNum__FUc.s"
|
||||
int daNpcMsg_setEvtNum(u8 iEvtNum) {
|
||||
dComIfGs_setTmpReg(0xFDFF, iEvtNum);
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803790B0-803790B0 005710 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_803790B0 = "F_SP103";
|
||||
#pragma pop
|
||||
|
||||
/* 80031648-800316A8 02BF88 0060+00 0/0 0/0 6/6 .text daNpcKakashi_chkSwdTutorialStage__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daNpcKakashi_chkSwdTutorialStage() {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/daNpcKakashi_chkSwdTutorialStage__Fv.s"
|
||||
BOOL daNpcKakashi_chkSwdTutorialStage() {
|
||||
return !strcmp(dComIfGp_getStartStageName(), "F_SP103") && dComIfG_play_c::getLayerNo(0) == 8;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800316A8-800316E0 02BFE8 0038+00 0/0 0/0 3/3 .text daNpcKakashi_setSwdTutorialStep__FUc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daNpcKakashi_setSwdTutorialStep(u8 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/daNpcKakashi_setSwdTutorialStep__FUc.s"
|
||||
void daNpcKakashi_setSwdTutorialStep(u8 iEvtNum) {
|
||||
dComIfGs_setTmpReg(0xFF0F, iEvtNum);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800316E0-80031718 02C020 0038+00 0/0 1/1 4/4 .text daNpcKakashi_getSwdTutorialStep__Fv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int daNpcKakashi_getSwdTutorialStep() {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/daNpcKakashi_getSwdTutorialStep__Fv.s"
|
||||
int daNpcKakashi_getSwdTutorialStep() {
|
||||
return dComIfGs_getTmpReg(0xFF0F);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80031718-80031754 02C058 003C+00 0/0 1/1 0/0 .text daNpcKakashi_getSwdTutorialResult__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daNpcKakashi_getSwdTutorialResult() {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/daNpcKakashi_getSwdTutorialResult__Fv.s"
|
||||
bool daNpcKakashi_getSwdTutorialResult() {
|
||||
return dComIfGs_isTmpBit(0x40);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80031754-800317A4 02C094 0050+00 0/0 0/0 1/1 .text daNpcKakashi_setSwdTutorialResult__Fb */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daNpcKakashi_setSwdTutorialResult(bool param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/daNpcKakashi_setSwdTutorialResult__Fb.s"
|
||||
void daNpcKakashi_setSwdTutorialResult(bool param_0) {
|
||||
if (param_0) {
|
||||
dComIfGs_onTmpBit(0x40);
|
||||
} else {
|
||||
dComIfGs_offTmpBit(0x40);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800317A4-800317DC 02C0E4 0038+00 0/0 1/1 1/1 .text daNpcKakashi_getSuccessCount__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daNpcKakashi_getSuccessCount() {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/daNpcKakashi_getSuccessCount__Fv.s"
|
||||
int daNpcKakashi_getSuccessCount() {
|
||||
return dComIfGs_getTmpReg(0xFEFF);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800317DC-80031838 02C11C 005C+00 0/0 0/0 1/1 .text daNpcKakashi_incSuccessCount__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daNpcKakashi_incSuccessCount() {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/daNpcKakashi_incSuccessCount__Fv.s"
|
||||
void daNpcKakashi_incSuccessCount() {
|
||||
dComIfGs_setTmpReg(0xFEFF, dComIfGs_getTmpReg(0xFEFF) + 1);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80031838-80031870 02C178 0038+00 0/0 0/0 4/4 .text daNpcKakashi_clrSuccessCount__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daNpcKakashi_clrSuccessCount() {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/daNpcKakashi_clrSuccessCount__Fv.s"
|
||||
void daNpcKakashi_clrSuccessCount() {
|
||||
dComIfGs_setTmpReg(0xFEFF, 0);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803790B0-803790B0 005710 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
@@ -480,19 +460,14 @@ u8 daYkgr_c::m_path[4];
|
||||
/* 80450D98-80450D9C 000298 0004+00 0/0 1/1 2/2 .sbss m_emitter__8daYkgr_c */
|
||||
u8 daYkgr_c::m_emitter[4];
|
||||
|
||||
/* 80450D9C-80450DA4 00029C 0008+00 1/1 0/0 0/0 .sbss arcName$4309 */
|
||||
static u8 arcName[8];
|
||||
|
||||
/* 80031870-800318B4 02C1B0 0044+00 0/0 0/0 19/19 .text getArcName__12daSetBgObj_cFP10fopAc_ac_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daSetBgObj_c::getArcName(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/getArcName__12daSetBgObj_cFP10fopAc_ac_c.s"
|
||||
const char* daSetBgObj_c::getArcName(fopAc_ac_c* param_0) {
|
||||
static char arcName[8];
|
||||
|
||||
sprintf(arcName, "@bg%04x", (u16)fopAcM_GetParam(param_0));
|
||||
return arcName;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451D28-80451D30 -00001 0008+00 0/0 0/0 3/3 .sdata2 M_dir_base__Q212daObjMovebox5Act_c
|
||||
@@ -503,7 +478,7 @@ SECTION_SDATA2 void* daObjMovebox::Act_c::M_dir_base[2] = {
|
||||
};
|
||||
|
||||
/* 80451D30-80451D34 000330 0004+00 0/0 0/0 3/3 .sdata2 OPEN_SIZE__7daDsh_c */
|
||||
SECTION_SDATA2 u32 daDsh_c::OPEN_SIZE = 0x43870CCD;
|
||||
SECTION_SDATA2 f32 daDsh_c::OPEN_SIZE = 270.1f;
|
||||
|
||||
/* 80451D34-80451D38 000334 0004+00 0/0 0/0 1/1 .sdata2 OPEN_ACCEL__7daDsh_c */
|
||||
SECTION_SDATA2 f32 daDsh_c::OPEN_ACCEL = 10.0f;
|
||||
@@ -515,7 +490,7 @@ SECTION_SDATA2 f32 daDsh_c::OPEN_SPEED = -40.0f;
|
||||
SECTION_SDATA2 f32 daDsh_c::OPEN_BOUND_SPEED = -30.0f;
|
||||
|
||||
/* 80451D40-80451D44 000340 0004+00 0/0 0/0 1/1 .sdata2 OPEN_BOUND_RATIO__7daDsh_c */
|
||||
SECTION_SDATA2 f32 daDsh_c::OPEN_BOUND_RATIO = -2.0f / 5.0f;
|
||||
SECTION_SDATA2 f32 daDsh_c::OPEN_BOUND_RATIO = -0.4f;
|
||||
|
||||
/* 80451D44-80451D48 000344 0004+00 0/0 0/0 1/1 .sdata2 CLOSE_ACCEL__7daDsh_c */
|
||||
SECTION_SDATA2 f32 daDsh_c::CLOSE_ACCEL = 10.0f;
|
||||
@@ -527,7 +502,7 @@ SECTION_SDATA2 f32 daDsh_c::CLOSE_SPEED = 40.0f;
|
||||
SECTION_SDATA2 f32 daDsh_c::CLOSE_BOUND_SPEED = 30.0f;
|
||||
|
||||
/* 80451D50-80451D54 000350 0004+00 0/0 0/0 1/1 .sdata2 CLOSE_BOUND_RATIO__7daDsh_c */
|
||||
SECTION_SDATA2 f32 daDsh_c::CLOSE_BOUND_RATIO = -2.0f / 5.0f;
|
||||
SECTION_SDATA2 f32 daDsh_c::CLOSE_BOUND_RATIO = -0.4f;
|
||||
|
||||
/* 80451D54-80451D58 000354 0004+00 1/1 0/0 0/0 .sdata2 @4338 */
|
||||
SECTION_SDATA2 static u8 lit_4338[4] = {
|
||||
@@ -617,47 +592,33 @@ asm void daGrass_c::deleteRoomFlower(int param_0) {
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450DB8-80450DBC 0002B8 0004+00 4/4 0/0 2/2 .sbss m_myObj__6daMP_c */
|
||||
u8 daMP_c::m_myObj[4];
|
||||
daMP_c* daMP_c::m_myObj;
|
||||
|
||||
/* 80031A78-80031AA4 02C3B8 002C+00 0/0 0/0 1/1 .text daMP_c_Get_MovieRestFrame__6daMP_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daMP_c::daMP_c_Get_MovieRestFrame() {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/daMP_c_Get_MovieRestFrame__6daMP_cFv.s"
|
||||
int daMP_c::daMP_c_Get_MovieRestFrame() {
|
||||
return m_myObj->mpGetMovieRestFrame();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80031AA4-80031AD0 02C3E4 002C+00 0/0 0/0 1/1 .text daMP_c_Set_PercentMovieVolume__6daMP_cFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daMP_c::daMP_c_Set_PercentMovieVolume(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/daMP_c_Set_PercentMovieVolume__6daMP_cFf.s"
|
||||
void daMP_c::daMP_c_Set_PercentMovieVolume(f32 i_volume) {
|
||||
m_myObj->mpSetPercentMovieVol(i_volume);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80031AD0-80031B24 02C410 0054+00 0/0 1/1 1/1 .text daMP_c_THPPlayerPlay__6daMP_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daMP_c::daMP_c_THPPlayerPlay() {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/daMP_c_THPPlayerPlay__6daMP_cFv.s"
|
||||
int daMP_c::daMP_c_THPPlayerPlay() {
|
||||
if (m_myObj == NULL) {
|
||||
dDemo_c::onStatus(1);
|
||||
return 0;
|
||||
} else {
|
||||
dDemo_c::offStatus(1);
|
||||
return m_myObj->mpTHPPlay();
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80031B24-80031B50 02C464 002C+00 0/0 0/0 1/1 .text daMP_c_THPPlayerPause__6daMP_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daMP_c::daMP_c_THPPlayerPause() {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/daMP_c_THPPlayerPause__6daMP_cFv.s"
|
||||
void daMP_c::daMP_c_THPPlayerPause() {
|
||||
m_myObj->mpTHPPause();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450DBC-80450DC0 0002BC 0004+00 1/1 0/0 3/3 .sbss mTagMagne__12daTagMagne_c */
|
||||
@@ -671,8 +632,7 @@ int daTagMagne_c::checkMagnetCode(cBgS_PolyInfo& poly) {
|
||||
}
|
||||
|
||||
int magCode = dComIfG_Bgsp().GetMagnetCode(poly);
|
||||
if ((magCode == 1 && mTagMagne->checkMagneA()) ||
|
||||
(magCode == 2 && mTagMagne->checkMagneB()) ||
|
||||
if ((magCode == 1 && mTagMagne->checkMagneA()) || (magCode == 2 && mTagMagne->checkMagneB()) ||
|
||||
(magCode == 3 && mTagMagne->checkMagneC())) {
|
||||
return 1;
|
||||
}
|
||||
@@ -710,21 +670,15 @@ int daTagMagne_c::checkMagneC() {
|
||||
/* ############################################################################################## */
|
||||
/* 80450DC0-80450DC4 -00001 0004+00 4/4 0/0 2/2 .sbss None */
|
||||
/* 80450DC0 0001+00 data_80450DC0 None */
|
||||
extern u8 struct_80450DC0;
|
||||
u8 struct_80450DC0;
|
||||
u8 daTagMist_c::mPlayerNo;
|
||||
|
||||
/* 80450DC1 0003+00 data_80450DC1 None */
|
||||
bool daObjCarry_c::mSaveFlag;
|
||||
|
||||
/* 80031CF0-80031CF8 02C630 0008+00 0/0 1/1 0/0 .text getPlayerNo__11daTagMist_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daTagMist_c::getPlayerNo() {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_static/getPlayerNo__11daTagMist_cFv.s"
|
||||
u8 daTagMist_c::getPlayerNo() {
|
||||
return mPlayerNo;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80031CF8-80031D04 02C638 000C+00 0/0 1/1 0/0 .text clrSaveFlag__12daObjCarry_cFv */
|
||||
void daObjCarry_c::clrSaveFlag() {
|
||||
|
||||
+1330
-391
File diff suppressed because it is too large
Load Diff
+329
-346
@@ -5,10 +5,10 @@
|
||||
|
||||
#include "d/d_demo.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/msg/d_msg_object.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "rel/d/a/d_a_movie_player/d_a_movie_player.h"
|
||||
#include "d/msg/d_msg_object.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
@@ -506,37 +506,21 @@ SECTION_DATA extern void* data_803A7BF4[9] = {
|
||||
namespace {
|
||||
/* 80037DE4-80037E44 032724 0060+00 1/0 0/0 0/0 .text
|
||||
* __dt__Q220@unnamed@d_demo_cpp@24jstudio_tAdaptor_messageFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm jstudio_tAdaptor_message::~jstudio_tAdaptor_message() {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/func_80037DE4.s"
|
||||
}
|
||||
#pragma pop
|
||||
jstudio_tAdaptor_message::~jstudio_tAdaptor_message() {}
|
||||
|
||||
/* 80037E44-80037E74 032784 0030+00 1/0 0/0 0/0 .text
|
||||
* adaptor_do_MESSAGE__Q220@unnamed@d_demo_cpp@24jstudio_tAdaptor_messageFQ37JStudio4data15TEOperationDataPCvUl
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void jstudio_tAdaptor_message::adaptor_do_MESSAGE(JStudio::data::TEOperationData param_0, const void* param_1, u32 param_2) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/func_80037E44.s"
|
||||
void jstudio_tAdaptor_message::adaptor_do_MESSAGE(JStudio::data::TEOperationData param_0,
|
||||
const void* pContent, u32 uSize) {
|
||||
if (param_0 == JStudio::data::UNK_0x19) {
|
||||
dMsgObject_setDemoMessage(*(u32*)pContent);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80037E74-80037ED4 0327B4 0060+00 1/0 0/0 0/0 .text
|
||||
* __dt__Q220@unnamed@d_demo_cpp@29jstudio_tCreateObject_messageFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm jstudio_tCreateObject_message::~jstudio_tCreateObject_message() {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/func_80037E74.s"
|
||||
}
|
||||
#pragma pop
|
||||
jstudio_tCreateObject_message::~jstudio_tCreateObject_message() {}
|
||||
|
||||
/* 80037ED4-80038020 032814 014C+00 1/0 0/0 0/0 .text
|
||||
* create__Q220@unnamed@d_demo_cpp@29jstudio_tCreateObject_messageFPPQ27JStudio7TObjectRCQ47JStudio3stb4data20TParse_TBlock_object
|
||||
@@ -544,7 +528,9 @@ asm jstudio_tCreateObject_message::~jstudio_tCreateObject_message() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void jstudio_tCreateObject_message::create(JStudio::TObject** param_0, const JStudio::stb::data::TParse_TBlock_object& param_1) {
|
||||
asm void
|
||||
jstudio_tCreateObject_message::create(JStudio::TObject** param_0,
|
||||
const JStudio::stb::data::TParse_TBlock_object& param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/func_80037ED4.s"
|
||||
}
|
||||
@@ -611,6 +597,18 @@ SECTION_SDATA2 static u8 lit_4040[4] = {
|
||||
SECTION_SDATA2 static f32 lit_4041 = 1.0f;
|
||||
|
||||
/* 80038020-80038098 032960 0078+00 1/1 0/0 0/0 .text __ct__13dDemo_actor_cFv */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
dDemo_actor_c::dDemo_actor_c() {
|
||||
mFlags = 0;
|
||||
mTrans.set(0.0f, 0.0f, 0.0f);
|
||||
mScale.set(1.0f, 1.0f, 1.0f);
|
||||
mRotate.set(0, 0, 0);
|
||||
mModel = NULL;
|
||||
mAnmFrameMax = __float_max[0];
|
||||
mTexAnmFrameMax = __float_max[0];
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -619,8 +617,24 @@ asm dDemo_actor_c::dDemo_actor_c() {
|
||||
#include "asm/d/d_demo/__ct__13dDemo_actor_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80038098-80038128 0329D8 0090+00 1/0 0/0 0/0 .text __dt__13dDemo_actor_cFv */
|
||||
// matches with vtable data
|
||||
#ifdef NONMATCHING
|
||||
dDemo_actor_c::~dDemo_actor_c() {
|
||||
fopAc_ac_c* actor = getActor();
|
||||
if (actor != NULL) {
|
||||
actor->mDemoActorId = 0;
|
||||
}
|
||||
|
||||
mActorId = -1;
|
||||
mOldAnmId = -1;
|
||||
mBtpId = -1;
|
||||
mBtkId = -1;
|
||||
mBrkId = -1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -630,26 +644,26 @@ extern "C" asm void __dt__13dDemo_actor_cFv() {
|
||||
#include "asm/d/d_demo/__dt__13dDemo_actor_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80038128-8003815C 032A68 0034+00 1/1 0/0 0/0 .text getActor__13dDemo_actor_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_actor_c::getActor() {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/getActor__13dDemo_actor_cFv.s"
|
||||
fopAc_ac_c* dDemo_actor_c::getActor() {
|
||||
return fopAcM_SearchByID(mActorId);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8003815C-8003819C 032A9C 0040+00 1/1 1/1 0/0 .text setActor__13dDemo_actor_cFP10fopAc_ac_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_actor_c::setActor(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/setActor__13dDemo_actor_cFP10fopAc_ac_c.s"
|
||||
void dDemo_actor_c::setActor(fopAc_ac_c* pActor) {
|
||||
if (pActor == NULL) {
|
||||
mActorId = -1;
|
||||
} else {
|
||||
mActorId = fopAcM_GetID(pActor);
|
||||
}
|
||||
|
||||
mOldAnmId = -1;
|
||||
mBtpId = -1;
|
||||
mBtkId = -1;
|
||||
mBrkId = -1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451DB8-80451DC0 0003B8 0008+00 4/4 0/0 0/0 .sdata2 @4127 */
|
||||
@@ -659,7 +673,7 @@ SECTION_SDATA2 static f64 lit_4127 = 4503601774854144.0 /* cast s32 to float */;
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_actor_c::getPrm_Morf() {
|
||||
asm f32 dDemo_actor_c::getPrm_Morf() {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/getPrm_Morf__13dDemo_actor_cFv.s"
|
||||
}
|
||||
@@ -729,7 +743,7 @@ const u8* dDemo_c::m_branchData;
|
||||
static u8 struct_80450E48[4];
|
||||
|
||||
/* 80450E4C-80450E50 00034C 0004+00 1/1 0/0 0/0 .sbss it$4206 */
|
||||
static u8 it[4];
|
||||
static int it;
|
||||
|
||||
/* 80038338-80038490 032C78 0158+00 0/0 1/1 5/5 .text getDemoIDData__13dDemo_actor_cFPiPiPiPUsPUc
|
||||
*/
|
||||
@@ -747,7 +761,7 @@ asm void dDemo_actor_c::getDemoIDData(int* param_0, int* param_1, int* param_2,
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dDemo_getJaiPointer(char const* param_0, u32 param_1, int param_2, u16* param_3) {
|
||||
static asm void* dDemo_getJaiPointer(char const* param_0, u32 param_1, int param_2, u16* param_3) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/dDemo_getJaiPointer__FPCcUliPUs.s"
|
||||
}
|
||||
@@ -759,20 +773,93 @@ SECTION_SDATA2 static f32 lit_4152 = -1.0f;
|
||||
|
||||
/* 80038518-800387A8 032E58 0290+00 0/0 0/0 2/2 .text
|
||||
* dDemo_setDemoData__FP10fopAc_ac_cUcP14mDoExt_McaMorfPCciPUsUlSc */
|
||||
// reg alloc
|
||||
#ifdef NONMATCHING
|
||||
int dDemo_setDemoData(fopAc_ac_c* param_0, u8 param_1, mDoExt_McaMorf* param_2, char const* param_3,
|
||||
int param_4, u16* param_5, u32 param_6, s8 param_7) {
|
||||
dDemo_actor_c* demo_actor = dDemo_c::getActor(param_0->mDemoActorId);
|
||||
|
||||
if (demo_actor == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
u32 flags = demo_actor->checkEnable(param_1);
|
||||
if (flags & 2) {
|
||||
param_0->current.pos = demo_actor->getTrans();
|
||||
param_0->next.pos = param_0->current.pos;
|
||||
}
|
||||
|
||||
if (flags & 8) {
|
||||
param_0->mCollisionRot = demo_actor->getRatate();
|
||||
}
|
||||
|
||||
if (flags & 4) {
|
||||
param_0->mScale = demo_actor->getScale();
|
||||
}
|
||||
|
||||
if (flags & 0x80) {
|
||||
param_0->mGravity = demo_actor->getPrm_Morf();
|
||||
}
|
||||
|
||||
if (param_2 == NULL) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
demo_actor->setModel(param_2->getModel());
|
||||
|
||||
if (flags & 0x20) {
|
||||
u32 anmID = demo_actor->getAnmId();
|
||||
|
||||
if (anmID != demo_actor->getOldAnmId()) {
|
||||
const char* a_name;
|
||||
if (anmID & 0x10000) {
|
||||
a_name = dStage_roomControl_c::getDemoArcName();
|
||||
} else {
|
||||
a_name = param_3;
|
||||
}
|
||||
|
||||
demo_actor->setOldAnmId(anmID);
|
||||
|
||||
J3DAnmTransform* i_key = (J3DAnmTransform*)dComIfG_getObjectIDRes(a_name, anmID);
|
||||
void* ptr = dDemo_getJaiPointer(a_name, anmID, param_4, param_5);
|
||||
|
||||
param_2->setAnm(i_key, -1, demo_actor->getPrm_Morf(), 1.0f, 0.0f, -1.0f, ptr);
|
||||
demo_actor->setAnmFrameMax(param_2->getEndFrame());
|
||||
}
|
||||
}
|
||||
|
||||
if (flags & 0x40) {
|
||||
f32 anm_frame = demo_actor->getAnmFrame();
|
||||
|
||||
if (anm_frame > 1.0f) {
|
||||
param_2->setFrame(anm_frame - 1.0f);
|
||||
param_2->play(¶m_0->current.pos, param_6, param_7);
|
||||
} else {
|
||||
param_2->setFrame(anm_frame);
|
||||
}
|
||||
} else {
|
||||
param_2->play(¶m_0->current.pos, param_6, param_7);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_setDemoData(fopAc_ac_c* param_0, u8 param_1, mDoExt_McaMorf* param_2,
|
||||
char const* param_3, int param_4, u16* param_5, u32 param_6,
|
||||
char const* a_name, int param_4, u16* param_5, u32 param_6,
|
||||
s8 param_7) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/dDemo_setDemoData__FP10fopAc_ac_cUcP14mDoExt_McaMorfPCciPUsUlSc.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 800387A8-800387EC 0330E8 0044+00 1/1 0/0 0/0 .text branchFile__FPCc */
|
||||
static void branchFile(char const* resName) {
|
||||
dDemo_c::setBranchData((u8*)dComIfG_getObjectRes(dStage_roomControl_c::getDemoArcName(), resName));
|
||||
dDemo_c::setBranchData(
|
||||
(u8*)dComIfG_getObjectRes(dStage_roomControl_c::getDemoArcName(), resName));
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
@@ -814,258 +901,205 @@ asm void dDemo_actor_c::JSGSetTranslation(Vec const& param_0) {
|
||||
#pragma pop
|
||||
|
||||
/* 80038980-800389A8 0332C0 0028+00 1/0 0/0 0/0 .text JSGSetScaling__13dDemo_actor_cFRC3Vec */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_actor_c::JSGSetScaling(Vec const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetScaling__13dDemo_actor_cFRC3Vec.s"
|
||||
void dDemo_actor_c::JSGSetScaling(Vec const& i_scale) {
|
||||
mScale = i_scale;
|
||||
onEnable(0x4);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451DCC-80451DD0 0003CC 0004+00 1/1 0/0 0/0 .sdata2 @4567 */
|
||||
SECTION_SDATA2 static f32 lit_4567 = 182.04444885253906f;
|
||||
|
||||
/* 800389A8-80038A0C 0332E8 0064+00 1/0 0/0 0/0 .text JSGSetRotation__13dDemo_actor_cFRC3Vec */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_actor_c::JSGSetRotation(Vec const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetRotation__13dDemo_actor_cFRC3Vec.s"
|
||||
void dDemo_actor_c::JSGSetRotation(Vec const& i_rotate) {
|
||||
mRotate.x = i_rotate.x * 182.04444885253906f;
|
||||
mRotate.y = i_rotate.y * 182.04444885253906f;
|
||||
mRotate.z = i_rotate.z * 182.04444885253906f;
|
||||
onEnable(0x8);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038A0C-80038A20 03334C 0014+00 1/0 0/0 0/0 .text JSGSetShape__13dDemo_actor_cFUl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_actor_c::JSGSetShape(u32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetShape__13dDemo_actor_cFUl.s"
|
||||
void dDemo_actor_c::JSGSetShape(u32 i_shape) {
|
||||
mShape = i_shape;
|
||||
onEnable(0x10);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038A20-80038A40 033360 0020+00 1/0 0/0 0/0 .text JSGSetAnimation__13dDemo_actor_cFUl
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_actor_c::JSGSetAnimation(u32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetAnimation__13dDemo_actor_cFUl.s"
|
||||
void dDemo_actor_c::JSGSetAnimation(u32 i_anmID) {
|
||||
mAnmId = i_anmID;
|
||||
mAnmFrameMax = __float_max[0];
|
||||
onEnable(0x20);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038A40-80038A54 033380 0014+00 1/0 0/0 0/0 .text JSGSetAnimationFrame__13dDemo_actor_cFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_actor_c::JSGSetAnimationFrame(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetAnimationFrame__13dDemo_actor_cFf.s"
|
||||
void dDemo_actor_c::JSGSetAnimationFrame(f32 i_frame) {
|
||||
mAnmFrame = i_frame;
|
||||
onEnable(0x40);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038A54-80038A68 033394 0014+00 1/0 0/0 0/0 .text JSGSetAnimationTransition__13dDemo_actor_cFf
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_actor_c::JSGSetAnimationTransition(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetAnimationTransition__13dDemo_actor_cFf.s"
|
||||
void dDemo_actor_c::JSGSetAnimationTransition(f32 i_trans) {
|
||||
mAnmTransition = i_trans;
|
||||
onEnable(0x80);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038A68-80038A7C 0333A8 0014+00 1/0 0/0 0/0 .text JSGSetTextureAnimation__13dDemo_actor_cFUl
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_actor_c::JSGSetTextureAnimation(u32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetTextureAnimation__13dDemo_actor_cFUl.s"
|
||||
void dDemo_actor_c::JSGSetTextureAnimation(u32 i_anm) {
|
||||
mTexAnm = i_anm;
|
||||
onEnable(0x100);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038A7C-80038A90 0333BC 0014+00 1/0 0/0 0/0 .text
|
||||
* JSGSetTextureAnimationFrame__13dDemo_actor_cFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_actor_c::JSGSetTextureAnimationFrame(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetTextureAnimationFrame__13dDemo_actor_cFf.s"
|
||||
void dDemo_actor_c::JSGSetTextureAnimationFrame(f32 i_frame) {
|
||||
mTexAnmFrame = i_frame;
|
||||
onEnable(0x200);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038A90-80038AC4 0333D0 0034+00 8/8 0/0 0/0 .text getView__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void getView() {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/getView__Fv.s"
|
||||
static view_class* getView() {
|
||||
if (dComIfGp_getWindowNum() == 0) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int camID = dComIfGp_getWindow(0)->getCameraID();
|
||||
return dComIfGp_getCamera(camID);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038AC4-80038AF8 033404 0034+00 1/0 0/0 0/0 .text JSGGetProjectionNear__14dDemo_camera_cCFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm f32 dDemo_camera_c::JSGGetProjectionNear() const {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGGetProjectionNear__14dDemo_camera_cCFv.s"
|
||||
f32 dDemo_camera_c::JSGGetProjectionNear() const {
|
||||
view_class* view = getView();
|
||||
|
||||
if (view == NULL) {
|
||||
return FLOAT_LABEL(lit_4040);
|
||||
}
|
||||
|
||||
return view->mNear;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038AF8-80038B0C 033438 0014+00 1/0 0/0 0/0 .text JSGSetProjectionNear__14dDemo_camera_cFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_camera_c::JSGSetProjectionNear(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetProjectionNear__14dDemo_camera_cFf.s"
|
||||
void dDemo_camera_c::JSGSetProjectionNear(f32 i_projNear) {
|
||||
mProjNear = i_projNear;
|
||||
onEnable(0x1);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038B0C-80038B40 03344C 0034+00 1/0 0/0 0/0 .text JSGGetProjectionFar__14dDemo_camera_cCFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm f32 dDemo_camera_c::JSGGetProjectionFar() const {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGGetProjectionFar__14dDemo_camera_cCFv.s"
|
||||
f32 dDemo_camera_c::JSGGetProjectionFar() const {
|
||||
view_class* view = getView();
|
||||
|
||||
if (view == NULL) {
|
||||
return lit_4041;
|
||||
}
|
||||
|
||||
return view->mFar;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038B40-80038B54 033480 0014+00 1/0 0/0 0/0 .text JSGSetProjectionFar__14dDemo_camera_cFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_camera_c::JSGSetProjectionFar(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetProjectionFar__14dDemo_camera_cFf.s"
|
||||
void dDemo_camera_c::JSGSetProjectionFar(f32 i_projFar) {
|
||||
mProjFar = i_projFar;
|
||||
onEnable(0x2);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451DD0-80451DD4 0003D0 0004+00 1/1 0/0 0/0 .sdata2 @4642 */
|
||||
SECTION_SDATA2 static f32 lit_4642 = 60.0f;
|
||||
|
||||
/* 80038B54-80038B88 033494 0034+00 1/0 0/0 0/0 .text JSGGetProjectionFovy__14dDemo_camera_cCFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm f32 dDemo_camera_c::JSGGetProjectionFovy() const {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGGetProjectionFovy__14dDemo_camera_cCFv.s"
|
||||
f32 dDemo_camera_c::JSGGetProjectionFovy() const {
|
||||
view_class* view = getView();
|
||||
|
||||
if (view == NULL) {
|
||||
return 60.0f;
|
||||
}
|
||||
|
||||
return view->mFovy;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038B88-80038B9C 0334C8 0014+00 1/0 0/0 0/0 .text JSGSetProjectionFovy__14dDemo_camera_cFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_camera_c::JSGSetProjectionFovy(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetProjectionFovy__14dDemo_camera_cFf.s"
|
||||
void dDemo_camera_c::JSGSetProjectionFovy(f32 i_projFovy) {
|
||||
mProjFovy = i_projFovy;
|
||||
onEnable(0x4);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451DD4-80451DD8 0003D4 0004+00 1/1 0/0 0/0 .sdata2 @4655 */
|
||||
SECTION_SDATA2 static f32 lit_4655 = 19.0f / 14.0f;
|
||||
|
||||
/* 80038B9C-80038BD0 0334DC 0034+00 1/0 0/0 0/0 .text JSGGetProjectionAspect__14dDemo_camera_cCFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm f32 dDemo_camera_c::JSGGetProjectionAspect() const {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGGetProjectionAspect__14dDemo_camera_cCFv.s"
|
||||
f32 dDemo_camera_c::JSGGetProjectionAspect() const {
|
||||
view_class* view = getView();
|
||||
|
||||
if (view == NULL) {
|
||||
return 1.3571428f;
|
||||
}
|
||||
|
||||
return view->mAspect;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038BD0-80038BE4 033510 0014+00 1/0 0/0 0/0 .text JSGSetProjectionAspect__14dDemo_camera_cFf
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_camera_c::JSGSetProjectionAspect(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetProjectionAspect__14dDemo_camera_cFf.s"
|
||||
void dDemo_camera_c::JSGSetProjectionAspect(f32 i_aspect) {
|
||||
mProjAspect = i_aspect;
|
||||
onEnable(0x8);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038BE4-80038C44 033524 0060+00 1/0 0/0 0/0 .text JSGGetViewPosition__14dDemo_camera_cCFP3Vec
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_camera_c::JSGGetViewPosition(Vec* param_0) const {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGGetViewPosition__14dDemo_camera_cCFP3Vec.s"
|
||||
void dDemo_camera_c::JSGGetViewPosition(Vec* o_position) const {
|
||||
view_class* view = getView();
|
||||
|
||||
if (view == NULL) {
|
||||
f32 tmp_0 = FLOAT_LABEL(lit_4040);
|
||||
o_position->x = tmp_0;
|
||||
o_position->y = tmp_0;
|
||||
o_position->z = tmp_0;
|
||||
} else {
|
||||
*o_position = view->mLookat.mEye;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038C44-80038C6C 033584 0028+00 1/0 0/0 0/0 .text JSGSetViewPosition__14dDemo_camera_cFRC3Vec
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_camera_c::JSGSetViewPosition(Vec const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetViewPosition__14dDemo_camera_cFRC3Vec.s"
|
||||
void dDemo_camera_c::JSGSetViewPosition(Vec const& i_position) {
|
||||
mViewPos = i_position;
|
||||
onEnable(0x10);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038C6C-80038CD0 0335AC 0064+00 1/0 0/0 0/0 .text JSGGetViewUpVector__14dDemo_camera_cCFP3Vec
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_camera_c::JSGGetViewUpVector(Vec* param_0) const {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGGetViewUpVector__14dDemo_camera_cCFP3Vec.s"
|
||||
void dDemo_camera_c::JSGGetViewUpVector(Vec* o_upVec) const {
|
||||
view_class* view = getView();
|
||||
|
||||
if (view == NULL) {
|
||||
f32 tmp_0 = FLOAT_LABEL(lit_4040);
|
||||
o_upVec->x = tmp_0;
|
||||
o_upVec->y = lit_4041;
|
||||
o_upVec->z = tmp_0;
|
||||
} else {
|
||||
*o_upVec = view->mLookat.mUp;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038CD0-80038CF8 033610 0028+00 1/0 0/0 0/0 .text JSGSetViewUpVector__14dDemo_camera_cFRC3Vec
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_camera_c::JSGSetViewUpVector(Vec const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetViewUpVector__14dDemo_camera_cFRC3Vec.s"
|
||||
void dDemo_camera_c::JSGSetViewUpVector(Vec const& i_upVec) {
|
||||
mViewUpVector = i_upVec;
|
||||
onEnable(0x20);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038CF8-80038D5C 033638 0064+00 1/0 0/0 0/0 .text
|
||||
* JSGGetViewTargetPosition__14dDemo_camera_cCFP3Vec */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_camera_c::JSGGetViewTargetPosition(Vec* param_0) const {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGGetViewTargetPosition__14dDemo_camera_cCFP3Vec.s"
|
||||
void dDemo_camera_c::JSGGetViewTargetPosition(Vec* o_targetPos) const {
|
||||
view_class* view = getView();
|
||||
|
||||
if (view == NULL) {
|
||||
f32 tmp_0 = FLOAT_LABEL(lit_4040);
|
||||
o_targetPos->x = tmp_0;
|
||||
o_targetPos->y = tmp_0;
|
||||
o_targetPos->z = lit_4041;
|
||||
} else {
|
||||
*o_targetPos = view->mLookat.mCenter;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038D5C-80038D84 03369C 0028+00 1/0 0/0 0/0 .text
|
||||
* JSGSetViewTargetPosition__14dDemo_camera_cFRC3Vec */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_camera_c::JSGSetViewTargetPosition(Vec const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetViewTargetPosition__14dDemo_camera_cFRC3Vec.s"
|
||||
void dDemo_camera_c::JSGSetViewTargetPosition(Vec const& i_targetPos) {
|
||||
mViewTargetVector = i_targetPos;
|
||||
onEnable(0x40);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451DD8-80451DE0 0003D8 0004+04 2/2 0/0 0/0 .sdata2 @4710 */
|
||||
@@ -1077,6 +1111,18 @@ SECTION_SDATA2 static f32 lit_4710[1 + 1 /* padding */] = {
|
||||
|
||||
/* 80038D84-80038DDC 0336C4 0058+00 1/0 0/0 0/0 .text JSGGetViewRoll__14dDemo_camera_cCFv
|
||||
*/
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
f32 dDemo_camera_c::JSGGetViewRoll() const {
|
||||
view_class* view = getView();
|
||||
|
||||
if (view == NULL) {
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
return view->mBank * 0.0054931640625f;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -1085,131 +1131,87 @@ asm f32 dDemo_camera_c::JSGGetViewRoll() const {
|
||||
#include "asm/d/d_demo/JSGGetViewRoll__14dDemo_camera_cCFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80038DDC-80038DF0 03371C 0014+00 1/0 0/0 0/0 .text JSGSetViewRoll__14dDemo_camera_cFf
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_camera_c::JSGSetViewRoll(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetViewRoll__14dDemo_camera_cFf.s"
|
||||
void dDemo_camera_c::JSGSetViewRoll(f32 i_roll) {
|
||||
mViewRoll = i_roll;
|
||||
onEnable(0x80);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038DF0-80038E20 033730 0030+00 1/0 0/0 0/0 .text JSGSetColor__15dDemo_ambient_cF8_GXColor */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_ambient_c::JSGSetColor(_GXColor param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetColor__15dDemo_ambient_cF8_GXColor.s"
|
||||
void dDemo_ambient_c::JSGSetColor(GXColor i_color) {
|
||||
mColor = i_color;
|
||||
onEnable(0x1);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038E20-80038E34 033760 0014+00 1/0 0/0 0/0 .text
|
||||
* JSGSetLightType__13dDemo_light_cFQ26JStage7TELight */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_light_c::JSGSetLightType(JStage::TELight param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetLightType__13dDemo_light_cFQ26JStage7TELight.s"
|
||||
void dDemo_light_c::JSGSetLightType(JStage::TELight i_lightType) {
|
||||
mLightType = i_lightType;
|
||||
onEnable(0x1);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038E34-80038E5C 033774 0028+00 1/0 0/0 0/0 .text JSGSetPosition__13dDemo_light_cFRC3Vec */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_light_c::JSGSetPosition(Vec const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetPosition__13dDemo_light_cFRC3Vec.s"
|
||||
void dDemo_light_c::JSGSetPosition(Vec const& i_pos) {
|
||||
mPosition = i_pos;
|
||||
onEnable(0x2);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038E5C-80038E8C 03379C 0030+00 1/0 0/0 0/0 .text JSGSetColor__13dDemo_light_cF8_GXColor */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_light_c::JSGSetColor(_GXColor param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetColor__13dDemo_light_cF8_GXColor.s"
|
||||
void dDemo_light_c::JSGSetColor(GXColor i_color) {
|
||||
mColor = i_color;
|
||||
onEnable(0x4);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038E8C-80038EA8 0337CC 001C+00 1/0 0/0 0/0 .text
|
||||
* JSGSetDistanceAttenuation__13dDemo_light_cFff13_GXDistAttnFn */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_light_c::JSGSetDistanceAttenuation(f32 param_0, f32 param_1, _GXDistAttnFn param_2) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetDistanceAttenuation__13dDemo_light_cFff13_GXDistAttnFn.s"
|
||||
void dDemo_light_c::JSGSetDistanceAttenuation(f32 param_0, f32 param_1, GXDistAttnFn i_distAttenFn) {
|
||||
field_0x24 = param_0;
|
||||
field_0x28 = param_1;
|
||||
mDistAttenFn = i_distAttenFn;
|
||||
onEnable(0x8);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038EA8-80038EC0 0337E8 0018+00 1/0 0/0 0/0 .text
|
||||
* JSGSetAngleAttenuation__13dDemo_light_cFf9_GXSpotFn */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_light_c::JSGSetAngleAttenuation(f32 param_0, _GXSpotFn param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetAngleAttenuation__13dDemo_light_cFf9_GXSpotFn.s"
|
||||
void dDemo_light_c::JSGSetAngleAttenuation(f32 param_0, GXSpotFn i_spotFn) {
|
||||
field_0x2c = param_0;
|
||||
mSpotFn = i_spotFn;
|
||||
onEnable(0x10);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038EC0-80038EE8 033800 0028+00 1/0 0/0 0/0 .text JSGSetDirection__13dDemo_light_cFRC3Vec */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_light_c::JSGSetDirection(Vec const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetDirection__13dDemo_light_cFRC3Vec.s"
|
||||
void dDemo_light_c::JSGSetDirection(Vec const& i_direction) {
|
||||
mDirection = i_direction;
|
||||
onEnable(0x20);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038EE8-80038EFC 033828 0014+00 1/0 0/0 0/0 .text
|
||||
* JSGSetFogFunction__11dDemo_fog_cF10_GXFogType */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_fog_c::JSGSetFogFunction(_GXFogType param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetFogFunction__11dDemo_fog_cF10_GXFogType.s"
|
||||
void dDemo_fog_c::JSGSetFogFunction(GXFogType i_fogType) {
|
||||
mFogType = i_fogType;
|
||||
onEnable(0x1);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038EFC-80038F10 03383C 0014+00 1/0 0/0 0/0 .text JSGSetStartZ__11dDemo_fog_cFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_fog_c::JSGSetStartZ(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetStartZ__11dDemo_fog_cFf.s"
|
||||
void dDemo_fog_c::JSGSetStartZ(f32 i_startZ) {
|
||||
mStartZ = i_startZ;
|
||||
onEnable(0x2);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038F10-80038F24 033850 0014+00 1/0 0/0 0/0 .text JSGSetEndZ__11dDemo_fog_cFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_fog_c::JSGSetEndZ(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetEndZ__11dDemo_fog_cFf.s"
|
||||
void dDemo_fog_c::JSGSetEndZ(f32 i_endZ) {
|
||||
mEndZ = i_endZ;
|
||||
onEnable(0x4);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038F24-80038F54 033864 0030+00 1/0 0/0 0/0 .text JSGSetColor__11dDemo_fog_cF8_GXColor */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_fog_c::JSGSetColor(_GXColor param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGSetColor__11dDemo_fog_cF8_GXColor.s"
|
||||
void dDemo_fog_c::JSGSetColor(GXColor i_color) {
|
||||
mColor = i_color;
|
||||
onEnable(0x8);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80038F54-80038F70 033894 001C+00 1/1 0/0 0/0 .text __ct__14dDemo_object_cFv */
|
||||
dDemo_object_c::dDemo_object_c() {
|
||||
@@ -1386,7 +1388,7 @@ extern "C" asm void __dt__15dDemo_ambient_cFv() {
|
||||
/* 80039528-80039678 033E68 0150+00 1/0 0/0 0/0 .text
|
||||
* JSGFindObject__14dDemo_system_cCFPPQ26JStage7TObjectPCcQ26JStage8TEObject */
|
||||
bool dDemo_system_c::JSGFindObject(JStage::TObject** p_TObj, char const* actorName,
|
||||
JStage::TEObject objType) const {
|
||||
JStage::TEObject objType) const {
|
||||
if (mpObject == NULL) {
|
||||
return true;
|
||||
}
|
||||
@@ -1396,7 +1398,8 @@ bool dDemo_system_c::JSGFindObject(JStage::TObject** p_TObj, char const* actorNa
|
||||
|
||||
if (actor == NULL) {
|
||||
if (objType == JStage::TOBJ_ACTOR && !strncmp(actorName, "d_act", 5)) {
|
||||
actor = (fopAc_ac_c*)fopAcM_fastCreate(actorName, 0, NULL, -1, NULL, NULL, NULL, NULL);
|
||||
actor =
|
||||
(fopAc_ac_c*)fopAcM_fastCreate(actorName, 0, NULL, -1, NULL, NULL, NULL, NULL);
|
||||
if (actor == NULL) {
|
||||
return true;
|
||||
}
|
||||
@@ -1506,7 +1509,7 @@ int dDemo_c::start(u8 const* p_data, cXyz* p_translation, f32 rotationY) {
|
||||
if (m_data == NULL) {
|
||||
m_control->setSuspend(0);
|
||||
}
|
||||
|
||||
|
||||
m_control->forward(0);
|
||||
m_translation = p_translation;
|
||||
|
||||
@@ -1617,6 +1620,14 @@ void dDemo_c::reset() {
|
||||
}
|
||||
|
||||
/* 80039F1C-80039F9C 03485C 0080+00 1/0 0/0 0/0 .text emitter_create__16dDemo_particle_cFUl */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void dDemo_particle_c::emitter_create(u32 param_0) {
|
||||
cXyz tmp(0.0f, 0.0f, 0.0f);
|
||||
int stayNo = dComIfGp_roomControl_getStayNo();
|
||||
dComIfGp_particle_set(param_0, &tmp, NULL, NULL, 0xFF, NULL, stayNo, NULL, NULL, NULL);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -1625,6 +1636,7 @@ asm void dDemo_particle_c::emitter_create(u32 param_0) {
|
||||
#include "asm/d/d_demo/emitter_create__16dDemo_particle_cFUl.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80039F9C-80039FFC 0348DC 0060+00 1/0 0/0 0/0 .text __dt__16dDemo_particle_cFv */
|
||||
#pragma push
|
||||
@@ -1650,67 +1662,38 @@ extern "C" asm void __dt__14dDemo_camera_cFv() {
|
||||
|
||||
/* 8003A05C-8003A088 03499C 002C+00 1/0 0/0 0/0 .text JSGFindNodeID__13dDemo_actor_cCFPCc
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_actor_c::JSGFindNodeID(char const* param_0) const {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGFindNodeID__13dDemo_actor_cCFPCc.s"
|
||||
s32 dDemo_actor_c::JSGFindNodeID(char const* param_0) const {
|
||||
return mModel->getModelData()->getJointName()->getIndex(param_0);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8003A088-8003A0C8 0349C8 0040+00 1/0 0/0 0/0 .text
|
||||
* JSGGetNodeTransformation__13dDemo_actor_cCFUlPA4_f */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_actor_c::JSGGetNodeTransformation(u32 param_0, f32 (*param_1)[4]) const {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGGetNodeTransformation__13dDemo_actor_cCFUlPA4_f.s"
|
||||
int dDemo_actor_c::JSGGetNodeTransformation(u32 param_0, Mtx param_1) const {
|
||||
PSMTXCopy(mModel->i_getAnmMtx((u16)param_0), param_1);
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8003A0C8-8003A0D0 034A08 0008+00 1/0 0/0 0/0 .text JSGGetAnimationFrameMax__13dDemo_actor_cCFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm f32 dDemo_actor_c::JSGGetAnimationFrameMax() const {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGGetAnimationFrameMax__13dDemo_actor_cCFv.s"
|
||||
f32 dDemo_actor_c::JSGGetAnimationFrameMax() const {
|
||||
return mAnmFrameMax;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8003A0D0-8003A0D8 034A10 0008+00 1/0 0/0 0/0 .text
|
||||
* JSGGetTextureAnimationFrameMax__13dDemo_actor_cCFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm f32 dDemo_actor_c::JSGGetTextureAnimationFrameMax() const {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGGetTextureAnimationFrameMax__13dDemo_actor_cCFv.s"
|
||||
f32 dDemo_actor_c::JSGGetTextureAnimationFrameMax() const {
|
||||
return mTexAnmFrameMax;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8003A0D8-8003A0F4 034A18 001C+00 1/0 0/0 0/0 .text JSGGetTranslation__13dDemo_actor_cCFP3Vec */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_actor_c::JSGGetTranslation(Vec* param_0) const {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGGetTranslation__13dDemo_actor_cCFP3Vec.s"
|
||||
void dDemo_actor_c::JSGGetTranslation(Vec* o_trans) const {
|
||||
*o_trans = mTrans;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8003A0F4-8003A110 034A34 001C+00 1/0 0/0 0/0 .text JSGGetScaling__13dDemo_actor_cCFP3Vec */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDemo_actor_c::JSGGetScaling(Vec* param_0) const {
|
||||
nofralloc
|
||||
#include "asm/d/d_demo/JSGGetScaling__13dDemo_actor_cCFP3Vec.s"
|
||||
void dDemo_actor_c::JSGGetScaling(Vec* o_scale) const {
|
||||
*o_scale = mScale;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8003A110-8003A188 034A50 0078+00 1/0 0/0 0/0 .text JSGGetRotation__13dDemo_actor_cCFP3Vec */
|
||||
#pragma push
|
||||
|
||||
@@ -201,11 +201,6 @@ extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs();
|
||||
extern "C" void draw__13J3DDrawBufferCFv();
|
||||
extern "C" void GXClearVtxDesc();
|
||||
extern "C" void GXPixModeSync();
|
||||
extern "C" void GXGetTexObjWidth();
|
||||
extern "C" void GXGetTexObjHeight();
|
||||
extern "C" void GXGetTexObjWrapS();
|
||||
extern "C" void GXGetTexObjWrapT();
|
||||
extern "C" void GXGetTexObjTlut();
|
||||
extern "C" void __destroy_arr();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savefpr_26();
|
||||
@@ -240,7 +235,6 @@ extern "C" extern u32 g_blackColor;
|
||||
extern "C" extern u32 g_whiteColor;
|
||||
extern "C" f32 mSystemFar__14mDoLib_clipper;
|
||||
extern "C" f32 mFovyRate__14mDoLib_clipper;
|
||||
extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */];
|
||||
extern "C" u8 sOldVcdVatCmd__8J3DShape[4];
|
||||
|
||||
//
|
||||
|
||||
+23
-31
@@ -357,49 +357,41 @@ asm u32 dLib_getExpandSizeFromAramArchive(JKRAramArchive* param_0, char const* p
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450DD8-80450DDC 0002D8 0004+00 2/2 0/0 0/0 .sbss m_diffTime__11dLib_time_c */
|
||||
u8 dLib_time_c::m_diffTime[4];
|
||||
|
||||
/* 80450DDC-80450DE0 0002DC 0004+00 2/2 0/0 0/0 .sbss None */
|
||||
static u8 data_80450DDC[4];
|
||||
OSTime dLib_time_c::m_diffTime;
|
||||
|
||||
/* 80450DE0-80450DE4 0002E0 0004+00 3/3 0/0 0/0 .sbss m_stopTime__11dLib_time_c */
|
||||
u8 dLib_time_c::m_stopTime[4];
|
||||
|
||||
/* 80450DE4-80450DE8 0002E4 0004+00 3/3 0/0 0/0 .sbss None */
|
||||
static u8 data_80450DE4[4];
|
||||
OSTime dLib_time_c::m_stopTime;
|
||||
|
||||
/* 80450DE8-80450DF0 0002E8 0008+00 3/3 0/0 0/0 .sbss None */
|
||||
static u8 data_80450DE8[8];
|
||||
bool dLib_time_c::m_timeStopped;
|
||||
|
||||
/* 80032804-80032880 02D144 007C+00 0/0 8/8 0/0 .text getTime__11dLib_time_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dLib_time_c::getTime() {
|
||||
nofralloc
|
||||
#include "asm/d/d_lib/getTime__11dLib_time_cFv.s"
|
||||
OSTime dLib_time_c::getTime() {
|
||||
if (!m_timeStopped) {
|
||||
return OSGetTime() - m_diffTime;
|
||||
}
|
||||
|
||||
OSTime time = OSGetTime();
|
||||
m_diffTime += (time - m_stopTime);
|
||||
m_stopTime = time;
|
||||
return time - m_diffTime;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80032880-800328BC 02D1C0 003C+00 0/0 1/1 0/0 .text stopTime__11dLib_time_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dLib_time_c::stopTime() {
|
||||
nofralloc
|
||||
#include "asm/d/d_lib/stopTime__11dLib_time_cFv.s"
|
||||
void dLib_time_c::stopTime() {
|
||||
if (!m_timeStopped) {
|
||||
m_stopTime = OSGetTime();
|
||||
m_timeStopped = true;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800328BC-80032918 02D1FC 005C+00 0/0 1/1 0/0 .text startTime__11dLib_time_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dLib_time_c::startTime() {
|
||||
nofralloc
|
||||
#include "asm/d/d_lib/startTime__11dLib_time_cFv.s"
|
||||
void dLib_time_c::startTime() {
|
||||
if (m_timeStopped) {
|
||||
m_diffTime += OSGetTime() - m_stopTime;
|
||||
m_timeStopped = false;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450DF0-80450DF8 -00001 0008+00 0/0 4/4 0/0 .sbss None */
|
||||
@@ -408,4 +400,4 @@ asm void dLib_time_c::startTime() {
|
||||
/* 80450DF2 0001+00 data_80450DF2 None */
|
||||
/* 80450DF3 0005+00 data_80450DF3 None */
|
||||
extern u8 struct_80450DF0[8];
|
||||
u8 struct_80450DF0[8];
|
||||
u8 struct_80450DF0[8] ALIGN_DECL(8);
|
||||
|
||||
@@ -50,7 +50,7 @@ extern "C" void setDefault__12dVibration_cFv();
|
||||
extern "C" void Init__12dVibration_cFv();
|
||||
extern "C" void Pause__12dVibration_cFv();
|
||||
extern "C" void Remove__12dVibration_cFv();
|
||||
extern "C" extern u8 data_80450F58[8];
|
||||
extern "C" extern u8 on_final_boss_stg[8];
|
||||
|
||||
//
|
||||
// External References:
|
||||
@@ -243,9 +243,4 @@ asm void dVibration_c::Remove() {
|
||||
nofralloc
|
||||
#include "asm/d/d_vibration/Remove__12dVibration_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450F58-80450F60 000458 0008+00 0/0 2/2 0/0 .sbss None */
|
||||
extern u8 data_80450F58[8];
|
||||
u8 data_80450F58[8];
|
||||
#pragma pop
|
||||
@@ -825,9 +825,9 @@ void dEvDtStaff_c::specialProcSound() {
|
||||
case 'RIDD':
|
||||
int* typeP = dComIfGp_evmng_getMyIntegerP(staffId, "Type");
|
||||
if (typeP != NULL && *typeP == 1) {
|
||||
mDoAud_seStart(0xC, NULL, 0, 0);
|
||||
mDoAud_seStart(Z2SE_READ_RIDDLE_A, NULL, 0, 0);
|
||||
} else {
|
||||
mDoAud_seStart(0xD, NULL, 0, 0);
|
||||
mDoAud_seStart(Z2SE_READ_RIDDLE_B, NULL, 0, 0);
|
||||
}
|
||||
break;
|
||||
case 'BGMS':
|
||||
@@ -1087,7 +1087,7 @@ void dEvDtStaff_c::specialProcDirector() {
|
||||
if (soundP != NULL) {
|
||||
switch (*soundP) {
|
||||
case 0:
|
||||
mDoAud_seStart(0, NULL, 0, 0);
|
||||
mDoAud_seStart(Z2SE_SY_DUMMY, NULL, 0, 0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1836,7 +1836,7 @@ asm void dMsgObject_c::isMsgSend() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgObject_c::isMouthCheck() {
|
||||
asm bool dMsgObject_c::isMouthCheck() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/isMouthCheck__12dMsgObject_cFv.s"
|
||||
}
|
||||
|
||||
@@ -626,7 +626,7 @@ void dPa_followEcallBack::end() {
|
||||
/* ############################################################################################## */
|
||||
/* 80450E90-80450E94 000390 0004+00 2/2 1/1 11/11 .sbss mEcallback__18dPa_modelEcallBack
|
||||
*/
|
||||
u8 dPa_modelEcallBack::mEcallback[4];
|
||||
dPa_modelEcallBack* dPa_modelEcallBack::mEcallback;
|
||||
|
||||
/* 80450E94-80450E98 000394 0004+00 2/2 0/0 0/0 .sbss mPcallback__18dPa_modelEcallBack */
|
||||
u8 dPa_modelEcallBack::mPcallback[4];
|
||||
|
||||
@@ -15,17 +15,6 @@
|
||||
#include "d/s/d_s_play.h"
|
||||
#include "d/d_demo.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct fopEn_enemy_c {
|
||||
/* 80019404 */ void initBallModel();
|
||||
/* 800194FC */ void checkBallModelDraw();
|
||||
/* 80019520 */ void setBallModelEffect(dKy_tevstr_c*);
|
||||
/* 800196A0 */ void drawBallModel(dKy_tevstr_c*);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
@@ -1764,7 +1764,7 @@ void fopAcM_myRoomSearchEnemy(s8 roomNo) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void fopAcM_myRoomSearchEnemy(s8 param_0) {
|
||||
asm fopAc_ac_c* fopAcM_myRoomSearchEnemy(s8 param_0) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor_mng/fopAcM_myRoomSearchEnemy__FSc.s"
|
||||
}
|
||||
|
||||
@@ -401,9 +401,6 @@ extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
|
||||
extern "C" void JMAEulerToQuat__FsssP10Quaternion();
|
||||
extern "C" void JMAQuatLerp__FPC10QuaternionPC10QuaternionfP10Quaternion();
|
||||
extern "C" void GXClearVtxDesc();
|
||||
extern "C" void GXGetTexObjWidth();
|
||||
extern "C" void GXGetTexObjHeight();
|
||||
extern "C" void GXSetTexCoordScaleManually();
|
||||
extern "C" void __construct_new_array();
|
||||
extern "C" void _savegpr_15();
|
||||
extern "C" void _savegpr_18();
|
||||
|
||||
Reference in New Issue
Block a user