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
This commit is contained in:
TakaRikka
2022-11-11 10:09:48 -08:00
committed by GitHub
parent f03b959831
commit 1114b13da8
665 changed files with 14863 additions and 30502 deletions
+447 -285
View File
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -126,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.mIdleAnmSpeed);
mUpperFrameCtrl[2].setRate(daAlinkHIO_boom_c0::m.mIdleAnmSpeed);
}
}
}
@@ -168,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) {
+1 -1
View File
@@ -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"
}
+5 -5
View File
@@ -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;
+8 -8
View File
@@ -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,7 +128,7 @@ 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 */
@@ -283,13 +283,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 +316,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 +477,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 +666,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 +883,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;
+5 -5
View File
@@ -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
View File
@@ -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, &current.pos, fopAcM_GetRoomNo(this), &mCollisionRot, NULL, -1);
id = fopAcM_create(PROC_OBJ_TKS, 0, &current.pos, fopAcM_GetRoomNo(this), &mCollisionRot,
NULL, -1);
} else {
id = fopAcM_create(PROC_NPC_TKC, 2, &current.pos, fopAcM_GetRoomNo(this), &mCollisionRot, NULL, -1);
id = fopAcM_create(PROC_NPC_TKC, 2, &current.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();
}
+6 -6
View File
@@ -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"
}
+1 -1
View File
@@ -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"
}
+1 -1
View File
@@ -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;
}
}
+1 -1
View File
@@ -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"
}
File diff suppressed because it is too large Load Diff
+22 -22
View File
@@ -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;
}
}
+2 -2
View File
@@ -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"
}
+3 -3
View File
@@ -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;
}
+2 -2
View File
@@ -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);
+2 -2
View File
@@ -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 */
+15 -14
View File
@@ -485,16 +485,16 @@ void* daPy_anmHeap_c::loadData(u16 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;
}
@@ -505,29 +505,29 @@ void* daPy_anmHeap_c::loadDataIdx(u16 id) {
/* 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;
@@ -635,7 +635,8 @@ BOOL daPy_py_c::checkMasterSwordEquip() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daPy_py_c::checkWoodShieldEquip(){nofralloc
asm bool daPy_py_c::checkWoodShieldEquip() {
nofralloc
#include "asm/d/a/d_a_player/checkWoodShieldEquip__9daPy_py_cFv.s"
}
#pragma pop
+1 -1
View File
@@ -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
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+237 -332
View File
@@ -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
View File
@@ -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"
}
+15 -4
View File
@@ -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;
}
+1 -1
View File
@@ -360,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"
}
-6
View File
@@ -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];
//
+1 -1
View File
@@ -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"
}
-3
View File
@@ -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();