j2d / map_path work, d_drawlist / d_attention cleanup (#208)

* work on fop actor / actor mng, daalink, d_a_obj_item

* d_a_title mostly decompiled

* daalink / d_event / JMessage / dmsg_out_font work

* msg_scrn_base / msg_scrn_boss

* some work on mDo machine, d_menu_save, d_tresure, and various

* remove asm

* progress

* finish d_menu_save / d_pane_class_alpha / d_pane_class / rename some data

* rename more data

* remove asm / progress

* match all of d_pane_class

* fixes / some dKankyo doc

* bunch of j2d work. d_drawlist / d_attention cleanup

* progress / asm

* cleanup wip

* decompile JStage

* setup some more JStudio structs

* set up d_demo classes

* some d_demo work

* cleanup dolphin os stuff

* some initial dEvent documentation

* some At collision documentation

* match JUTConsole::doDraw

* dbgs work / split up some of d_a_alink into .inc files

* d_a_alink_spinner work
This commit is contained in:
TakaRikka
2022-08-30 14:22:17 -07:00
committed by GitHub
parent bc30d007e1
commit f8979749e3
613 changed files with 30182 additions and 40087 deletions
+3 -3
View File
@@ -220,7 +220,7 @@ bool DynamicModuleControl::do_load() {
s32 i = 0;
while (true) {
if (mModule != NULL) {
JKRFree(mModule);
i_JKRFree(mModule);
mModule = NULL;
}
char buffer[64];
@@ -338,7 +338,7 @@ BOOL DynamicModuleControl::do_load_async() {
*/
bool DynamicModuleControl::do_unload() {
if (mModule != NULL) {
JKRFree(mModule);
i_JKRFree(mModule);
mModule = NULL;
}
return true;
@@ -467,7 +467,7 @@ bool DynamicModuleControl::do_unlink() {
}
sAllocBytes = sAllocBytes - getModuleSize();
if (mBss != NULL) {
JKRFree(mBss);
i_JKRFree(mBss);
mBss = NULL;
}
do_unload();
+313 -19213
View File
File diff suppressed because it is too large Load Diff
+39
View File
@@ -0,0 +1,39 @@
/* 80140B88-80140B98 13B4C8 0010+00 1/1 0/0 0/0 .text __ct__12daAlinkHIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daAlinkHIO_c::daAlinkHIO_c() {
nofralloc
#include "asm/d/a/d_a_alink/__ct__12daAlinkHIO_cFv.s"
}
#pragma pop
/* 80140B98-80140BD4 13B4D8 003C+00 1/1 0/0 0/0 .text __dt__17daAlinkHIO_wolf_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daAlinkHIO_wolf_c::~daAlinkHIO_wolf_c() {
nofralloc
#include "asm/d/a/d_a_alink/__dt__17daAlinkHIO_wolf_cFv.s"
}
#pragma pop
/* 80140BD4-80140C10 13B514 003C+00 1/1 0/0 0/0 .text __dt__16daAlinkHIO_cut_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daAlinkHIO_cut_c::~daAlinkHIO_cut_c() {
nofralloc
#include "asm/d/a/d_a_alink/__dt__16daAlinkHIO_cut_cFv.s"
}
#pragma pop
/* 80140C10-80140C80 13B550 0070+00 1/0 0/0 0/0 .text __dt__12daAlinkHIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daAlinkHIO_c::~daAlinkHIO_c() {
nofralloc
#include "asm/d/a/d_a_alink/__dt__12daAlinkHIO_cFv.s"
}
#pragma pop
File diff suppressed because it is too large Load Diff
+69
View File
@@ -0,0 +1,69 @@
/* 800E3760-800E3770 0DE0A0 0010+00 0/0 0/0 7/7 .text getBombExplodeTime__9daAlink_cCFv
*/
s16 daAlink_c::getBombExplodeTime() const {
return daAlinkHIO_bomb_c0::m.mExplodeTime;
}
/* 800E3770-800E3780 0DE0B0 0010+00 0/0 0/0 2/2 .text getBombGravity__9daAlink_cCFv */
f32 daAlink_c::getBombGravity() const {
return daAlinkHIO_bomb_c0::m.mGravity;
}
/* 800E3780-800E3790 0DE0C0 0010+00 0/0 0/0 2/2 .text getBombMaxFallSpeed__9daAlink_cCFv
*/
f32 daAlink_c::getBombMaxFallSpeed() const {
return daAlinkHIO_bomb_c0::m.mMaxFallSpeed;
}
/* 800E3790-800E37A0 0DE0D0 0010+00 0/0 0/0 1/1 .text getBombBoundRate__9daAlink_cCFv */
f32 daAlink_c::getBombBoundRate() const {
return daAlinkHIO_bomb_c0::m.mBoundRate;
}
/* 800E37A0-800E37B0 0DE0E0 0010+00 0/0 0/0 1/1 .text getBombStopSpeedY__9daAlink_cCFv */
f32 daAlink_c::getBombStopSpeedY() const {
return daAlinkHIO_bomb_c0::m.mStopSpeedY;
}
/* 800E37B0-800E37C0 0DE0F0 0010+00 0/0 0/0 1/1 .text getBombMaxSpeedY__9daAlink_cCFv */
f32 daAlink_c::getBombMaxSpeedY() const {
return daAlinkHIO_bomb_c0::m.mMaxSpeedY;
}
/* 800E37C0-800E37D0 0DE100 0010+00 0/0 0/0 1/1 .text getBombEffScale__9daAlink_cCFv */
f32 daAlink_c::getBombEffScale() const {
return daAlinkHIO_bomb_c0::m.mEffScale;
}
/* 800E37D0-800E37E0 0DE110 0010+00 0/0 0/0 1/1 .text getBombAtR__9daAlink_cCFv */
f32 daAlink_c::getBombAtR() const {
return daAlinkHIO_bomb_c0::m.mAtRadius;
}
/* 800E37E0-800E37F0 0DE120 0010+00 0/0 0/0 1/1 .text getEnemyBombColorR__9daAlink_cCFv
*/
s16 daAlink_c::getEnemyBombColorR() const {
return daAlinkHIO_bomb_c0::m.mEnemyBombColorR;
}
/* 800E37F0-800E3800 0DE130 0010+00 0/0 0/0 2/2 .text getBombWaterGravity__9daAlink_cCFv
*/
f32 daAlink_c::getBombWaterGravity() const {
return daAlinkHIO_bomb_c0::m.mWaterGravity;
}
/* 800E3800-800E3810 0DE140 0010+00 0/0 0/0 2/2 .text getBombWaterMaxFallSpeed__9daAlink_cCFv */
f32 daAlink_c::getBombWaterMaxFallSpeed() const {
return daAlinkHIO_bomb_c0::m.mWaterMaxFallSpeed;
}
/* 800E3810-800E3820 0DE150 0010+00 0/0 0/0 1/1 .text
* getBombExplodeWaterEffectLimit__9daAlink_cCFv */
f32 daAlink_c::getBombExplodeWaterEffectLimit() const {
return daAlinkHIO_bomb_c0::m.mExplodeWaterEffectLimit;
}
/* 800E3820-800E3830 0DE160 0010+00 0/0 0/0 1/1 .text getBombInsectLimitAngle__9daAlink_cCFv */
s16 daAlink_c::getBombInsectLimitAngle() const {
return daAlinkHIO_bomb_c0::m.mBombInsectLimitAngle;
}
+316
View File
@@ -0,0 +1,316 @@
/* 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);
}
/* 800E0010-800E00B0 0DA950 00A0+00 0/0 0/0 1/1 .text getBoomSpeed__9daAlink_cFv */
// small regalloc
#ifdef NONMATCHING
f32 daAlink_c::getBoomSpeed() {
f32 speed;
if (checkBoomerangChargeEndWait()) {
speed = daAlinkHIO_boom_c0::m.field_0x38;
} else {
speed = daAlinkHIO_boom_c0::m.field_0x34;
}
if (i_checkModeFlg(0x400) && mRideAcKeep.getActor() != NULL && mSpeedF > FLOAT_LABEL(lit_6108)) {
speed += mSpeedF;
}
return speed;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm f32 daAlink_c::getBoomSpeed() {
nofralloc
#include "asm/d/a/d_a_alink/getBoomSpeed__9daAlink_cFv.s"
}
#pragma pop
#endif
/* 800E00B0-800E00C0 0DA9F0 0010+00 0/0 0/0 1/1 .text getBoomCatchSpeed__9daAlink_cCFv */
f32 daAlink_c::getBoomCatchSpeed() const {
return daAlinkHIO_boom_c0::m.mCatchSpeed;
}
/* 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;
} else {
return daAlinkHIO_boom_c0::m.field_0x3c;
}
}
/* 800E011C-800E0190 0DAA5C 0074+00 1/1 0/0 2/2 .text getBoomLockMax__9daAlink_cFv */
f32 daAlink_c::getBoomLockMax() {
f32 max = getBoomFlyMax();
if (checkBossBabaRoom()) {
return lit_12475;
} else if (daAlinkHIO_boom_c0::m.field_0x44 > max) {
return daAlinkHIO_boom_c0::m.field_0x44;
} else {
return max;
}
}
/* 800E0190-800E01A0 0DAAD0 0010+00 0/0 0/0 1/1 .text getBoomBgThroughTime__9daAlink_cCFv
*/
s16 daAlink_c::getBoomBgThroughTime() const {
return daAlinkHIO_boom_c0::m.mBgThroughTime;
}
/* 800E01A0-800E01CC 0DAAE0 002C+00 1/1 0/0 0/0 .text checkBossBabaRoom__9daAlink_cFv */
bool daAlink_c::checkBossBabaRoom() {
return checkStageName("D_MN05A");
}
/* 800E01CC-800E0210 0DAB0C 0044+00 0/0 1/1 0/0 .text
* cancelBoomerangLock__9daAlink_cFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::cancelBoomerangLock(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/cancelBoomerangLock__9daAlink_cFP10fopAc_ac_c.s"
}
#pragma pop
/* 800E0210-800E0244 0DAB50 0034+00 2/2 0/0 0/0 .text getBoomerangActor__9daAlink_cFv */
fopAc_ac_c* daAlink_c::getBoomerangActor() {
if (mThrowBoomerangAcKeep.getID() != 0xFFFFFFFF) {
return mThrowBoomerangAcKeep.getActor();
}
if (mEquipItem == BOOMERANG) {
return mItemAcKeep.getActor();
}
return NULL;
}
/* 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"
}
#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) {
nofralloc
#include "asm/d/a/d_a_alink/checkBoomerangCarry__9daAlink_cFP10fopAc_ac_c.s"
}
#pragma pop
/* 800E03D0-800E0440 0DAD10 0070+00 6/6 0/0 0/0 .text initBoomerangUpperAnimeSpeed__9daAlink_cFi
*/
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);
} else {
mFrameCtrl2[2].setRate(daAlinkHIO_boom_c0::m.field_0x2c);
}
}
}
/* 800E0440-800E04AC 0DAD80 006C+00 9/9 0/0 0/0 .text checkBoomerangAnime__9daAlink_cCFv
*/
BOOL daAlink_c::checkBoomerangAnime() const {
return checkBoomerangReadyAnime() || checkBoomerangThrowAnime();
}
/* 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"
}
#pragma pop
/* 800E04E8-800E055C 0DAE28 0074+00 1/1 0/0 0/0 .text setBoomerangReadyQuake__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setBoomerangReadyQuake() {
nofralloc
#include "asm/d/a/d_a_alink/setBoomerangReadyQuake__9daAlink_cFv.s"
}
#pragma pop
/* 800E055C-800E05E8 0DAE9C 008C+00 2/2 0/0 0/0 .text setBoomerangReadyAnime__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setBoomerangReadyAnime() {
nofralloc
#include "asm/d/a/d_a_alink/setBoomerangReadyAnime__9daAlink_cFv.s"
}
#pragma pop
/* 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);
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);
setFacePriBck(0xE8);
field_0x2f97 = 254;
if (mEquipItem != COPY_ROD) {
seStartOnlyReverb(JA_SE_LK_BOOM_CATCH);
}
}
/* 800E06B8-800E08C4 0DAFF8 020C+00 1/1 0/0 0/0 .text throwBoomerang__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::throwBoomerang() {
nofralloc
#include "asm/d/a/d_a_alink/throwBoomerang__9daAlink_cFv.s"
}
#pragma pop
/* 800E08C4-800E0A9C 0DB204 01D8+00 0/0 0/0 1/1 .text returnBoomerang__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::returnBoomerang(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/returnBoomerang__9daAlink_cFi.s"
}
#pragma pop
/* 800E0A9C-800E0B58 0DB3DC 00BC+00 2/2 0/0 0/0 .text checkUpperItemActionBoomerang__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkUpperItemActionBoomerang() {
nofralloc
#include "asm/d/a/d_a_alink/checkUpperItemActionBoomerang__9daAlink_cFv.s"
}
#pragma pop
/* 800E0B58-800E0BE4 0DB498 008C+00 1/1 0/0 0/0 .text
* checkUpperItemActionBoomerangFly__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkUpperItemActionBoomerangFly() {
nofralloc
#include "asm/d/a/d_a_alink/checkUpperItemActionBoomerangFly__9daAlink_cFv.s"
}
#pragma pop
/* 800E0BE4-800E0D8C 0DB524 01A8+00 4/4 0/0 0/0 .text checkNextActionBoomerang__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkNextActionBoomerang() {
nofralloc
#include "asm/d/a/d_a_alink/checkNextActionBoomerang__9daAlink_cFv.s"
}
#pragma pop
/* 800E0D8C-800E0E64 0DB6CC 00D8+00 1/1 0/0 0/0 .text checkBoomerangCatchAction__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkBoomerangCatchAction() {
nofralloc
#include "asm/d/a/d_a_alink/checkBoomerangCatchAction__9daAlink_cFv.s"
}
#pragma pop
/* 800E0E64-800E0F10 0DB7A4 00AC+00 3/3 0/0 0/0 .text setBoomerangSight__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setBoomerangSight() {
nofralloc
#include "asm/d/a/d_a_alink/setBoomerangSight__9daAlink_cFv.s"
}
#pragma pop
/* 800E0F10-800E0FA0 0DB850 0090+00 1/1 0/0 0/0 .text procBoomerangSubjectInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoomerangSubjectInit() {
nofralloc
#include "asm/d/a/d_a_alink/procBoomerangSubjectInit__9daAlink_cFv.s"
}
#pragma pop
/* 800E0FA0-800E1060 0DB8E0 00C0+00 1/0 0/0 0/0 .text procBoomerangSubject__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoomerangSubject() {
nofralloc
#include "asm/d/a/d_a_alink/procBoomerangSubject__9daAlink_cFv.s"
}
#pragma pop
/* 800E1060-800E10F4 0DB9A0 0094+00 1/1 0/0 0/0 .text procBoomerangMoveInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoomerangMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procBoomerangMoveInit__9daAlink_cFv.s"
}
#pragma pop
/* 800E10F4-800E11D8 0DBA34 00E4+00 1/0 0/0 0/0 .text procBoomerangMove__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoomerangMove() {
nofralloc
#include "asm/d/a/d_a_alink/procBoomerangMove__9daAlink_cFv.s"
}
#pragma pop
/* 800E11D8-800E1248 0DBB18 0070+00 1/1 0/0 0/0 .text procBoomerangCatchInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoomerangCatchInit() {
nofralloc
#include "asm/d/a/d_a_alink/procBoomerangCatchInit__9daAlink_cFv.s"
}
#pragma pop
/* 800E1248-800E12E0 0DBB88 0098+00 1/0 0/0 0/0 .text procBoomerangCatch__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoomerangCatch() {
nofralloc
#include "asm/d/a/d_a_alink/procBoomerangCatch__9daAlink_cFv.s"
}
#pragma pop
+163
View File
@@ -0,0 +1,163 @@
/* 8010E48C-8010E52C 108DCC 00A0+00 1/1 0/0 0/0 .text bottleModelCallBack__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::bottleModelCallBack() {
nofralloc
#include "asm/d/a/d_a_alink/bottleModelCallBack__9daAlink_cFv.s"
}
#pragma pop
/* 8010E52C-8010E568 108E6C 003C+00 1/1 0/0 0/0 .text daAlink_bottleModelCallBack__FP8J3DJointi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daAlink_bottleModelCallBack(J3DJoint* param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/daAlink_bottleModelCallBack__FP8J3DJointi.s"
}
#pragma pop
/* 8010E568-8010E584 108EA8 001C+00 1/0 0/0 0/0 .text getBottleOpenAppearItem__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm s32 daAlink_c::getBottleOpenAppearItem() const {
nofralloc
#include "asm/d/a/d_a_alink/getBottleOpenAppearItem__9daAlink_cCFv.s"
}
#pragma pop
/* 8010E584-8010E5D8 108EC4 0054+00 2/2 0/0 0/0 .text checkOilBottleItemNotGet__9daAlink_cFUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkOilBottleItemNotGet(u16 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkOilBottleItemNotGet__9daAlink_cFUs.s"
}
#pragma pop
/* 8010E5D8-8010EAC4 108F18 04EC+00 7/7 0/0 0/0 .text setBottleModel__9daAlink_cFUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setBottleModel(u16 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setBottleModel__9daAlink_cFUs.s"
}
#pragma pop
/* 8010EAC4-8010F45C 109404 0998+00 3/3 0/0 0/0 .text commonBottleDrink__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::commonBottleDrink(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/commonBottleDrink__9daAlink_cFi.s"
}
#pragma pop
/* 8010F45C-8010F54C 109D9C 00F0+00 2/2 0/0 0/0 .text makeFairy__9daAlink_cFP4cXyzUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::makeFairy(cXyz* param_0, u32 param_1) {
nofralloc
#include "asm/d/a/d_a_alink/makeFairy__9daAlink_cFP4cXyzUl.s"
}
#pragma pop
/* 8010F54C-8010F698 109E8C 014C+00 2/2 0/0 0/0 .text procBottleDrinkInit__9daAlink_cFUs
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBottleDrinkInit(u16 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procBottleDrinkInit__9daAlink_cFUs.s"
}
#pragma pop
/* 8010F698-8010F6F4 109FD8 005C+00 1/0 0/0 0/0 .text procBottleDrink__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBottleDrink() {
nofralloc
#include "asm/d/a/d_a_alink/procBottleDrink__9daAlink_cFv.s"
}
#pragma pop
/* 8010F6F4-8010F8E4 10A034 01F0+00 1/1 0/0 0/0 .text procBottleOpenInit__9daAlink_cFUs
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBottleOpenInit(u16 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procBottleOpenInit__9daAlink_cFUs.s"
}
#pragma pop
/* 8010F8E4-8010FC38 10A224 0354+00 1/0 0/0 0/0 .text procBottleOpen__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBottleOpen() {
nofralloc
#include "asm/d/a/d_a_alink/procBottleOpen__9daAlink_cFv.s"
}
#pragma pop
/* 8010FC38-8010FF58 10A578 0320+00 4/4 0/0 0/0 .text
* procBottleSwingInit__9daAlink_cFP10fopAc_ac_ci */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBottleSwingInit(fopAc_ac_c* param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/procBottleSwingInit__9daAlink_cFP10fopAc_ac_ci.s"
}
#pragma pop
/* 8010FF58-801102D0 10A898 0378+00 1/0 0/0 0/0 .text procBottleSwing__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBottleSwing() {
nofralloc
#include "asm/d/a/d_a_alink/procBottleSwing__9daAlink_cFv.s"
}
#pragma pop
/* 801102D0-80110518 10AC10 0248+00 2/2 0/0 0/0 .text procBottleGetInit__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBottleGetInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procBottleGetInit__9daAlink_cFi.s"
}
#pragma pop
/* 80110518-80110648 10AE58 0130+00 1/0 0/0 0/0 .text procBottleGet__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBottleGet() {
nofralloc
#include "asm/d/a/d_a_alink/procBottleGet__9daAlink_cFv.s"
}
#pragma pop
/* 80110648-80110654 10AF88 000C+00 0/0 1/0 0/0 .text Insect_Release__9dInsect_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dInsect_c::Insect_Release() {
nofralloc
#include "asm/d/a/d_a_alink/Insect_Release__9dInsect_cFv.s"
}
#pragma pop
+314
View File
@@ -0,0 +1,314 @@
/* 800DE64C-800DE740 0D8F8C 00F4+00 1/1 0/0 2/2 .text getArrowFlyData__9daAlink_cCFPfPfi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getArrowFlyData(f32* param_0, f32* param_1, int param_2) const {
nofralloc
#include "asm/d/a/d_a_alink/getArrowFlyData__9daAlink_cCFPfPfi.s"
}
#pragma pop
/* 800DE740-800DE750 0D9080 0010+00 0/0 0/0 1/1 .text getArrowIncAtR__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getArrowIncAtR() const {
nofralloc
#include "asm/d/a/d_a_alink/getArrowIncAtR__9daAlink_cCFv.s"
}
#pragma pop
/* 800DE750-800DE760 0D9090 0010+00 0/0 0/0 1/1 .text getBombArrowFlyExplodeTime__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getBombArrowFlyExplodeTime() const {
nofralloc
#include "asm/d/a/d_a_alink/getBombArrowFlyExplodeTime__9daAlink_cCFv.s"
}
#pragma pop
/* 800DE760-800DE770 0D90A0 0010+00 0/0 0/0 1/1 .text getArrowIncAtMaxStart__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getArrowIncAtMaxStart() const {
nofralloc
#include "asm/d/a/d_a_alink/getArrowIncAtMaxStart__9daAlink_cCFv.s"
}
#pragma pop
/* 800DE770-800DE780 0D90B0 0010+00 0/0 0/0 1/1 .text getArrowIncAtMax__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getArrowIncAtMax() const {
nofralloc
#include "asm/d/a/d_a_alink/getArrowIncAtMax__9daAlink_cCFv.s"
}
#pragma pop
/* 800DE780-800DE7D4 0D90C0 0054+00 10/10 0/0 0/0 .text checkBowAndSlingItem__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL daAlink_c::checkBowAndSlingItem(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkBowAndSlingItem__9daAlink_cFi.s"
}
#pragma pop
/* 800DE7D4-800DE884 0D9114 00B0+00 1/1 0/0 0/0 .text setSlingModel__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setSlingModel() {
nofralloc
#include "asm/d/a/d_a_alink/setSlingModel__9daAlink_cFv.s"
}
#pragma pop
/* 800DE884-800DE990 0D91C4 010C+00 0/0 1/1 1/1 .text checkBowCameraArrowPosP__9daAlink_cFPsPs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkBowCameraArrowPosP(s16* param_0, s16* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/checkBowCameraArrowPosP__9daAlink_cFPsPs.s"
}
#pragma pop
/* 800DE990-800DE9B8 0D92D0 0028+00 1/0 0/0 0/0 .text checkArrowChargeEnd__9daAlink_cCFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::checkArrowChargeEnd() const {
nofralloc
#include "asm/d/a/d_a_alink/checkArrowChargeEnd__9daAlink_cCFv.s"
}
#pragma pop
/* 800DE9B8-800DE9E8 0D92F8 0030+00 3/3 0/0 0/0 .text checkBowReadyAnime__9daAlink_cCFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkBowReadyAnime() const {
nofralloc
#include "asm/d/a/d_a_alink/checkBowReadyAnime__9daAlink_cCFv.s"
}
#pragma pop
/* 800DE9E8-800DEA3C 0D9328 0054+00 16/16 0/0 0/0 .text checkBowAnime__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkBowAnime() const {
nofralloc
#include "asm/d/a/d_a_alink/checkBowAnime__9daAlink_cCFv.s"
}
#pragma pop
/* 800DEA3C-800DEAE4 0D937C 00A8+00 2/2 0/0 0/0 .text makeArrow__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::makeArrow() {
nofralloc
#include "asm/d/a/d_a_alink/makeArrow__9daAlink_cFv.s"
}
#pragma pop
/* 800DEAE4-800DEB8C 0D9424 00A8+00 3/3 0/0 0/0 .text deleteArrow__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::deleteArrow() {
nofralloc
#include "asm/d/a/d_a_alink/deleteArrow__9daAlink_cFv.s"
}
#pragma pop
/* 800DEB8C-800DEBC8 0D94CC 003C+00 6/6 0/0 0/0 .text setBowOrSlingStatus__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setBowOrSlingStatus() {
nofralloc
#include "asm/d/a/d_a_alink/setBowOrSlingStatus__9daAlink_cFv.s"
}
#pragma pop
/* 800DEBC8-800DED88 0D9508 01C0+00 1/1 0/0 0/0 .text changeArrowType__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::changeArrowType() {
nofralloc
#include "asm/d/a/d_a_alink/changeArrowType__9daAlink_cFv.s"
}
#pragma pop
/* 800DED88-800DEE1C 0D96C8 0094+00 1/1 0/0 0/0 .text cancelBowMoveRideNotAtn__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::cancelBowMoveRideNotAtn() {
nofralloc
#include "asm/d/a/d_a_alink/cancelBowMoveRideNotAtn__9daAlink_cFv.s"
}
#pragma pop
/* 800DEE1C-800DEEDC 0D975C 00C0+00 3/3 0/0 0/0 .text cancelBowMove__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::cancelBowMove() {
nofralloc
#include "asm/d/a/d_a_alink/cancelBowMove__9daAlink_cFv.s"
}
#pragma pop
/* 800DEEDC-800DEFB8 0D981C 00DC+00 3/3 0/0 0/0 .text setBowReadyAnime__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setBowReadyAnime() {
nofralloc
#include "asm/d/a/d_a_alink/setBowReadyAnime__9daAlink_cFv.s"
}
#pragma pop
/* 800DEFB8-800DF0BC 0D98F8 0104+00 2/2 0/0 0/0 .text setBowReloadAnime__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setBowReloadAnime() {
nofralloc
#include "asm/d/a/d_a_alink/setBowReloadAnime__9daAlink_cFv.s"
}
#pragma pop
/* 800DF0BC-800DF798 0D99FC 06DC+00 2/2 0/0 0/0 .text checkUpperItemActionBow__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkUpperItemActionBow() {
nofralloc
#include "asm/d/a/d_a_alink/checkUpperItemActionBow__9daAlink_cFv.s"
}
#pragma pop
/* 800DF798-800DF814 0DA0D8 007C+00 1/1 0/0 0/0 .text checkUpperItemActionBowFly__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkUpperItemActionBowFly() {
nofralloc
#include "asm/d/a/d_a_alink/checkUpperItemActionBowFly__9daAlink_cFv.s"
}
#pragma pop
/* 800DF814-800DFAE8 0DA154 02D4+00 4/4 0/0 0/0 .text checkNextActionBow__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkNextActionBow() {
nofralloc
#include "asm/d/a/d_a_alink/checkNextActionBow__9daAlink_cFv.s"
}
#pragma pop
/* 800DFAE8-800DFBC8 0DA428 00E0+00 1/1 0/0 0/0 .text setBowModel__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setBowModel() {
nofralloc
#include "asm/d/a/d_a_alink/setBowModel__9daAlink_cFv.s"
}
#pragma pop
/* 800DFBC8-800DFC28 0DA508 0060+00 4/4 0/0 0/0 .text checkBowGrabLeftHand__9daAlink_cCFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::checkBowGrabLeftHand() const {
nofralloc
#include "asm/d/a/d_a_alink/checkBowGrabLeftHand__9daAlink_cCFv.s"
}
#pragma pop
/* 800DFC28-800DFC70 0DA568 0048+00 6/6 0/0 0/0 .text setBowHangAnime__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setBowHangAnime() {
nofralloc
#include "asm/d/a/d_a_alink/setBowHangAnime__9daAlink_cFv.s"
}
#pragma pop
/* 800DFC70-800DFCD8 0DA5B0 0068+00 3/3 0/0 0/0 .text setBowNormalAnime__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setBowNormalAnime() {
nofralloc
#include "asm/d/a/d_a_alink/setBowNormalAnime__9daAlink_cFv.s"
}
#pragma pop
/* 800DFCD8-800DFD6C 0DA618 0094+00 3/3 0/0 0/0 .text setBowSight__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setBowSight() {
nofralloc
#include "asm/d/a/d_a_alink/setBowSight__9daAlink_cFv.s"
}
#pragma pop
/* 800DFD6C-800DFDDC 0DA6AC 0070+00 1/1 0/0 0/0 .text procBowSubjectInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBowSubjectInit() {
nofralloc
#include "asm/d/a/d_a_alink/procBowSubjectInit__9daAlink_cFv.s"
}
#pragma pop
/* 800DFDDC-800DFE3C 0DA71C 0060+00 1/0 0/0 0/0 .text procBowSubject__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBowSubject() {
nofralloc
#include "asm/d/a/d_a_alink/procBowSubject__9daAlink_cFv.s"
}
#pragma pop
/* 800DFE3C-800DFEC0 0DA77C 0084+00 1/1 0/0 0/0 .text procBowMoveInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBowMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procBowMoveInit__9daAlink_cFv.s"
}
#pragma pop
/* 800DFEC0-800DFFE0 0DA800 0120+00 1/0 0/0 0/0 .text procBowMove__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBowMove() {
nofralloc
#include "asm/d/a/d_a_alink/procBowMove__9daAlink_cFv.s"
}
#pragma pop
+747
View File
@@ -0,0 +1,747 @@
/* 800F3BB0-800F3BDC 0EE4F0 002C+00 1/1 0/0 2/2 .text getCanoeMaxSpeed__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getCanoeMaxSpeed() const {
nofralloc
#include "asm/d/a/d_a_alink/getCanoeMaxSpeed__9daAlink_cCFv.s"
}
#pragma pop
/* 800F3BDC-800F3BEC 0EE51C 0010+00 0/0 0/0 1/1 .text getCanoeBackMaxSpeed__9daAlink_cCFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getCanoeBackMaxSpeed() const {
nofralloc
#include "asm/d/a/d_a_alink/getCanoeBackMaxSpeed__9daAlink_cCFv.s"
}
#pragma pop
/* 800F3BEC-800F3C18 0EE52C 002C+00 0/0 0/0 1/1 .text getCanoeCres__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getCanoeCres() const {
nofralloc
#include "asm/d/a/d_a_alink/getCanoeCres__9daAlink_cCFv.s"
}
#pragma pop
/* 800F3C18-800F3C44 0EE558 002C+00 2/2 0/0 0/0 .text getCanoeSpeedRate__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getCanoeSpeedRate() const {
nofralloc
#include "asm/d/a/d_a_alink/getCanoeSpeedRate__9daAlink_cCFv.s"
}
#pragma pop
/* 800F3C44-800F3CCC 0EE584 0088+00 0/0 0/0 1/1 .text getCanoeMaxRotSpeed__9daAlink_cCFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getCanoeMaxRotSpeed() const {
nofralloc
#include "asm/d/a/d_a_alink/getCanoeMaxRotSpeed__9daAlink_cCFv.s"
}
#pragma pop
/* 800F3CCC-800F3CD8 0EE60C 000C+00 1/1 0/0 1/1 .text getCanoeLocalPaddleTop__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getCanoeLocalPaddleTop() {
nofralloc
#include "asm/d/a/d_a_alink/getCanoeLocalPaddleTop__9daAlink_cFv.s"
}
#pragma pop
/* 800F3CD8-800F3CF8 0EE618 0020+00 3/3 0/0 0/0 .text daAlink_searchCanoe__FP10fopAc_ac_cPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void* daAlink_searchCanoe(fopAc_ac_c* param_0, void* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/daAlink_searchCanoe__FP10fopAc_ac_cPv.s"
}
#pragma pop
/* 800F3CF8-800F3D58 0EE638 0060+00 0/0 2/2 0/0 .text checkCanoeRideTandem__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkCanoeRideTandem() {
nofralloc
#include "asm/d/a/d_a_alink/checkCanoeRideTandem__9daAlink_cFv.s"
}
#pragma pop
/* 800F3D58-800F3DA0 0EE698 0048+00 7/7 0/0 0/0 .text checkFishingRodAndLureItem__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkFishingRodAndLureItem() const {
nofralloc
#include "asm/d/a/d_a_alink/checkFishingRodAndLureItem__9daAlink_cCFv.s"
}
#pragma pop
/* 800F3DA0-800F3DFC 0EE6E0 005C+00 4/4 0/0 0/0 .text initFishingRodHand__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::initFishingRodHand() {
nofralloc
#include "asm/d/a/d_a_alink/initFishingRodHand__9daAlink_cFv.s"
}
#pragma pop
/* 800F3DFC-800F3E4C 0EE73C 0050+00 1/1 0/0 1/1 .text getCanoePaddleMatrix__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getCanoePaddleMatrix() {
nofralloc
#include "asm/d/a/d_a_alink/getCanoePaddleMatrix__9daAlink_cFv.s"
}
#pragma pop
/* 800F3E4C-800F3EB8 0EE78C 006C+00 0/0 0/0 4/4 .text
* checkFishingRodGrab__9daAlink_cCFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkFishingRodGrab(fopAc_ac_c* param_0) const {
nofralloc
#include "asm/d/a/d_a_alink/checkFishingRodGrab__9daAlink_cCFP10fopAc_ac_c.s"
}
#pragma pop
/* 800F3EB8-800F3F38 0EE7F8 0080+00 0/0 0/0 2/2 .text
* checkCanoePaddleGrab__9daAlink_cCFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkCanoePaddleGrab(fopAc_ac_c* param_0) const {
nofralloc
#include "asm/d/a/d_a_alink/checkCanoePaddleGrab__9daAlink_cCFP10fopAc_ac_c.s"
}
#pragma pop
/* 800F3F38-800F3FC4 0EE878 008C+00 0/0 0/0 1/1 .text checkCanoeFishingRodGrabOrPut__9daAlink_cCFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkCanoeFishingRodGrabOrPut() const {
nofralloc
#include "asm/d/a/d_a_alink/checkCanoeFishingRodGrabOrPut__9daAlink_cCFv.s"
}
#pragma pop
/* 800F3FC4-800F4008 0EE904 0044+00 2/2 0/0 0/0 .text initCanoeRide__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::initCanoeRide() {
nofralloc
#include "asm/d/a/d_a_alink/initCanoeRide__9daAlink_cFv.s"
}
#pragma pop
/* 800F4008-800F40E4 0EE948 00DC+00 2/2 0/0 0/0 .text checkCanoeJumpRide__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL daAlink_c::checkCanoeJumpRide() {
nofralloc
#include "asm/d/a/d_a_alink/checkCanoeJumpRide__9daAlink_cFv.s"
}
#pragma pop
/* 800F40E4-800F4140 0EEA24 005C+00 2/2 0/0 0/0 .text setArmReelAnime__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setArmReelAnime() {
nofralloc
#include "asm/d/a/d_a_alink/setArmReelAnime__9daAlink_cFv.s"
}
#pragma pop
/* 800F4140-800F4490 0EEA80 0350+00 1/1 0/0 0/0 .text setFishingWaitAction__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setFishingWaitAction() {
nofralloc
#include "asm/d/a/d_a_alink/setFishingWaitAction__9daAlink_cFv.s"
}
#pragma pop
/* 800F4490-800F4564 0EEDD0 00D4+00 3/3 0/0 0/0 .text setFishGetFace__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setFishGetFace() {
nofralloc
#include "asm/d/a/d_a_alink/setFishGetFace__9daAlink_cFv.s"
}
#pragma pop
/* 800F4564-800F459C 0EEEA4 0038+00 3/3 0/0 0/0 .text
* setRideCanoeBasePos__9daAlink_cFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setRideCanoeBasePos(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setRideCanoeBasePos__9daAlink_cFP10fopAc_ac_c.s"
}
#pragma pop
/* 800F459C-800F47D8 0EEEDC 023C+00 20/20 0/0 0/0 .text setSyncCanoePos__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setSyncCanoePos() {
nofralloc
#include "asm/d/a/d_a_alink/setSyncCanoePos__9daAlink_cFv.s"
}
#pragma pop
/* 800F47D8-800F4924 0EF118 014C+00 19/19 0/0 0/0 .text canoeCommon__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::canoeCommon() {
nofralloc
#include "asm/d/a/d_a_alink/canoeCommon__9daAlink_cFv.s"
}
#pragma pop
/* 800F4924-800F4A50 0EF264 012C+00 10/10 0/0 0/0 .text checkNextActionCanoe__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkNextActionCanoe() {
nofralloc
#include "asm/d/a/d_a_alink/checkNextActionCanoe__9daAlink_cFv.s"
}
#pragma pop
/* 800F4A50-800F4B90 0EF390 0140+00 2/2 0/0 0/0 .text procCanoeRideInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeRideInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeRideInit__9daAlink_cFv.s"
}
#pragma pop
/* 800F4B90-800F4C78 0EF4D0 00E8+00 1/0 0/0 0/0 .text procCanoeRide__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeRide() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeRide__9daAlink_cFv.s"
}
#pragma pop
/* 800F4C78-800F4D84 0EF5B8 010C+00 4/4 0/0 0/0 .text
* procCanoeJumpRideInit__9daAlink_cFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeJumpRideInit(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeJumpRideInit__9daAlink_cFP10fopAc_ac_c.s"
}
#pragma pop
/* 800F4D84-800F4DF8 0EF6C4 0074+00 1/0 0/0 0/0 .text procCanoeJumpRide__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeJumpRide() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeJumpRide__9daAlink_cFv.s"
}
#pragma pop
/* 800F4DF8-800F5048 0EF738 0250+00 2/2 0/0 0/0 .text procCanoeGetOffInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeGetOffInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeGetOffInit__9daAlink_cFv.s"
}
#pragma pop
/* 800F5048-800F51E4 0EF988 019C+00 1/1 0/0 0/0 .text procCanoeGetOff__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeGetOff() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeGetOff__9daAlink_cFv.s"
}
#pragma pop
/* 800F51E4-800F542C 0EFB24 0248+00 15/15 0/0 0/0 .text procCanoeWaitInit__9daAlink_cFi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeWaitInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeWaitInit__9daAlink_cFi.s"
}
#pragma pop
/* 800F542C-800F571C 0EFD6C 02F0+00 1/0 0/0 0/0 .text procCanoeWait__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeWait() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeWait__9daAlink_cFv.s"
}
#pragma pop
/* 800F571C-800F5A1C 0F005C 0300+00 3/3 0/0 0/0 .text procCanoeRowInit__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeRowInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeRowInit__9daAlink_cFi.s"
}
#pragma pop
/* 800F5A1C-800F5D04 0F035C 02E8+00 1/0 0/0 0/0 .text procCanoeRow__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeRow() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeRow__9daAlink_cFv.s"
}
#pragma pop
/* 800F5D04-800F5DB8 0F0644 00B4+00 1/1 0/0 0/0 .text procCanoePaddleShiftInit__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoePaddleShiftInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCanoePaddleShiftInit__9daAlink_cFi.s"
}
#pragma pop
/* 800F5DB8-800F5EA8 0F06F8 00F0+00 1/0 0/0 0/0 .text procCanoePaddleShift__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoePaddleShift() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoePaddleShift__9daAlink_cFv.s"
}
#pragma pop
/* 800F5EA8-800F5FEC 0F07E8 0144+00 3/3 0/0 0/0 .text procCanoePaddlePutInit__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoePaddlePutInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCanoePaddlePutInit__9daAlink_cFi.s"
}
#pragma pop
/* 800F5FEC-800F6140 0F092C 0154+00 1/0 0/0 0/0 .text procCanoePaddlePut__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoePaddlePut() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoePaddlePut__9daAlink_cFv.s"
}
#pragma pop
/* 800F6140-800F6188 0F0A80 0048+00 2/2 0/0 0/0 .text procCanoePaddleGrabInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoePaddleGrabInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoePaddleGrabInit__9daAlink_cFv.s"
}
#pragma pop
/* 800F6188-800F6320 0F0AC8 0198+00 1/0 0/0 0/0 .text procCanoePaddleGrab__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoePaddleGrab() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoePaddleGrab__9daAlink_cFv.s"
}
#pragma pop
/* 800F6320-800F6394 0F0C60 0074+00 1/1 0/0 0/0 .text procCanoeRodGrabInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeRodGrabInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeRodGrabInit__9daAlink_cFv.s"
}
#pragma pop
/* 800F6394-800F6464 0F0CD4 00D0+00 1/0 0/0 0/0 .text procCanoeRodGrab__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeRodGrab() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeRodGrab__9daAlink_cFv.s"
}
#pragma pop
/* 800F6464-800F659C 0F0DA4 0138+00 6/6 0/0 0/0 .text procCanoeFishingWaitInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeFishingWaitInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeFishingWaitInit__9daAlink_cFv.s"
}
#pragma pop
/* 800F659C-800F67C0 0F0EDC 0224+00 1/0 0/0 0/0 .text procCanoeFishingWait__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeFishingWait() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeFishingWait__9daAlink_cFv.s"
}
#pragma pop
/* 800F67C0-800F6874 0F1100 00B4+00 1/1 0/0 0/0 .text procCanoeFishingReelInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeFishingReelInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeFishingReelInit__9daAlink_cFv.s"
}
#pragma pop
/* 800F6874-800F69D4 0F11B4 0160+00 1/0 0/0 0/0 .text procCanoeFishingReel__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeFishingReel() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeFishingReel__9daAlink_cFv.s"
}
#pragma pop
/* 800F69D4-800F6A70 0F1314 009C+00 1/1 0/0 0/0 .text procCanoeFishingGetInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeFishingGetInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeFishingGetInit__9daAlink_cFv.s"
}
#pragma pop
/* 800F6A70-800F6BEC 0F13B0 017C+00 1/0 0/0 0/0 .text procCanoeFishingGet__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeFishingGet() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeFishingGet__9daAlink_cFv.s"
}
#pragma pop
/* 800F6BEC-800F6C30 0F152C 0044+00 1/1 0/0 0/0 .text procCanoeSubjectivityInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeSubjectivityInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeSubjectivityInit__9daAlink_cFv.s"
}
#pragma pop
/* 800F6C30-800F6D10 0F1570 00E0+00 1/0 0/0 0/0 .text procCanoeSubjectivity__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeSubjectivity() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeSubjectivity__9daAlink_cFv.s"
}
#pragma pop
/* 800F6D10-800F6D64 0F1650 0054+00 1/1 0/0 0/0 .text procCanoeBowSubjectInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeBowSubjectInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeBowSubjectInit__9daAlink_cFv.s"
}
#pragma pop
/* 800F6D64-800F6DF0 0F16A4 008C+00 1/0 0/0 0/0 .text procCanoeBowSubject__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeBowSubject() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeBowSubject__9daAlink_cFv.s"
}
#pragma pop
/* 800F6DF0-800F6E44 0F1730 0054+00 1/1 0/0 0/0 .text procCanoeBowMoveInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeBowMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeBowMoveInit__9daAlink_cFv.s"
}
#pragma pop
/* 800F6E44-800F6EB0 0F1784 006C+00 1/0 0/0 0/0 .text procCanoeBowMove__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeBowMove() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeBowMove__9daAlink_cFv.s"
}
#pragma pop
/* 800F6EB0-800F6EFC 0F17F0 004C+00 2/2 0/0 0/0 .text procCanoeGrabMoveInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeGrabMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeGrabMoveInit__9daAlink_cFv.s"
}
#pragma pop
/* 800F6EFC-800F6FA4 0F183C 00A8+00 1/0 0/0 0/0 .text procCanoeGrabMove__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeGrabMove() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeGrabMove__9daAlink_cFv.s"
}
#pragma pop
/* 800F6FA4-800F7010 0F18E4 006C+00 1/1 0/0 0/0 .text procCanoeBoomerangSubjectInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeBoomerangSubjectInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeBoomerangSubjectInit__9daAlink_cFv.s"
}
#pragma pop
/* 800F7010-800F70F0 0F1950 00E0+00 1/0 0/0 0/0 .text procCanoeBoomerangSubject__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeBoomerangSubject() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeBoomerangSubject__9daAlink_cFv.s"
}
#pragma pop
/* 800F70F0-800F715C 0F1A30 006C+00 1/1 0/0 0/0 .text procCanoeBoomerangMoveInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeBoomerangMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeBoomerangMoveInit__9daAlink_cFv.s"
}
#pragma pop
/* 800F715C-800F7208 0F1A9C 00AC+00 1/0 0/0 0/0 .text procCanoeBoomerangMove__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeBoomerangMove() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeBoomerangMove__9daAlink_cFv.s"
}
#pragma pop
/* 800F7208-800F7274 0F1B48 006C+00 1/1 0/0 0/0 .text procCanoeHookshotSubjectInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeHookshotSubjectInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeHookshotSubjectInit__9daAlink_cFv.s"
}
#pragma pop
/* 800F7274-800F731C 0F1BB4 00A8+00 1/0 0/0 0/0 .text procCanoeHookshotSubject__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeHookshotSubject() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeHookshotSubject__9daAlink_cFv.s"
}
#pragma pop
/* 800F731C-800F7388 0F1C5C 006C+00 1/1 0/0 0/0 .text procCanoeHookshotMoveInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeHookshotMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeHookshotMoveInit__9daAlink_cFv.s"
}
#pragma pop
/* 800F7388-800F7404 0F1CC8 007C+00 1/0 0/0 0/0 .text procCanoeHookshotMove__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeHookshotMove() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeHookshotMove__9daAlink_cFv.s"
}
#pragma pop
/* 800F7404-800F7550 0F1D44 014C+00 1/1 0/0 0/0 .text procCanoeBottleDrinkInit__9daAlink_cFUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeBottleDrinkInit(u16 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeBottleDrinkInit__9daAlink_cFUs.s"
}
#pragma pop
/* 800F7550-800F75BC 0F1E90 006C+00 1/0 0/0 0/0 .text procCanoeBottleDrink__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeBottleDrink() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeBottleDrink__9daAlink_cFv.s"
}
#pragma pop
/* 800F75BC-800F7684 0F1EFC 00C8+00 1/1 0/0 0/0 .text procCanoeKandelaarPourInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeKandelaarPourInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeKandelaarPourInit__9daAlink_cFv.s"
}
#pragma pop
/* 800F7684-800F7708 0F1FC4 0084+00 1/0 0/0 0/0 .text procCanoeKandelaarPour__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeKandelaarPour() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeKandelaarPour__9daAlink_cFv.s"
}
#pragma pop
/* 800F7708-800F7760 0F2048 0058+00 2/2 0/0 0/0 .text setGroundFishingRodActor__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setGroundFishingRodActor() {
nofralloc
#include "asm/d/a/d_a_alink/setGroundFishingRodActor__9daAlink_cFv.s"
}
#pragma pop
/* 800F7760-800F7814 0F20A0 00B4+00 1/1 0/0 0/0 .text procFishingCastInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procFishingCastInit() {
nofralloc
#include "asm/d/a/d_a_alink/procFishingCastInit__9daAlink_cFv.s"
}
#pragma pop
/* 800F7814-800F7988 0F2154 0174+00 1/0 0/0 0/0 .text procFishingCast__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procFishingCast() {
nofralloc
#include "asm/d/a/d_a_alink/procFishingCast__9daAlink_cFv.s"
}
#pragma pop
/* 800F7988-800F7AA8 0F22C8 0120+00 1/1 0/0 0/0 .text procFishingFoodInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procFishingFoodInit() {
nofralloc
#include "asm/d/a/d_a_alink/procFishingFoodInit__9daAlink_cFv.s"
}
#pragma pop
/* 800F7AA8-800F7C50 0F23E8 01A8+00 1/0 0/0 0/0 .text procFishingFood__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procFishingFood() {
nofralloc
#include "asm/d/a/d_a_alink/procFishingFood__9daAlink_cFv.s"
}
#pragma pop
+339
View File
@@ -0,0 +1,339 @@
/* 800E12E0-800E1310 0DBC20 0030+00 1/1 0/0 0/0 .text checkLv6BossRoom__9daAlink_cFv */
BOOL daAlink_c::checkLv6BossRoom() {
return checkStageName("D_MN06A");
}
/* 800E1310-800E1320 0DBC50 0010+00 0/0 0/0 1/1 .text getCopyRodBallSpeed__9daAlink_cCFv
*/
f32 daAlink_c::getCopyRodBallSpeed() const {
return daAlinkHIO_copyRod_c0::m.mBallSpeed;
}
/* 800E1320-800E1330 0DBC60 0010+00 0/0 0/0 1/1 .text getCopyRodBallReturnSpeed__9daAlink_cCFv */
f32 daAlink_c::getCopyRodBallReturnSpeed() const {
return daAlinkHIO_copyRod_c0::m.mBallReturnSpeed;
}
/* 800E1330-800E1374 0DBC70 0044+00 3/3 0/0 2/2 .text getCopyRodBallDisMax__9daAlink_cCFv
*/
f32 daAlink_c::getCopyRodBallDisMax() const {
if (checkLv6BossRoom()) {
return daAlinkHIO_copyRod_c0::m.mBossBallMaxDistance;
}
return daAlinkHIO_copyRod_c0::m.mBallMaxDistance;
}
/* 800E1374-800E1390 0DBCB4 001C+00 6/6 0/0 7/7 .text getCopyRodControllActor__9daAlink_cFv */
fopAc_ac_c* daAlink_c::getCopyRodControllActor() {
if (mCopyRodAcKeep.getActor() != NULL) {
return static_cast<daCrod_c*>(mCopyRodAcKeep.getActor())->getControllActor();
}
return NULL;
}
/* 800E1390-800E13AC 0DBCD0 001C+00 0/0 4/4 1/1 .text getCopyRodCameraActor__9daAlink_cFv
*/
fopAc_ac_c* daAlink_c::getCopyRodCameraActor() {
if (mCopyRodAcKeep.getActor() != NULL) {
return static_cast<daCrod_c*>(mCopyRodAcKeep.getActor())->getCameraActor();
}
return NULL;
}
/* 800E13AC-800E1408 0DBCEC 005C+00 2/2 0/0 0/0 .text initCopyRodUpperAnimeSpeed__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::initCopyRodUpperAnimeSpeed(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/initCopyRodUpperAnimeSpeed__9daAlink_cFi.s"
}
#pragma pop
/* void daAlink_c::initCopyRodUpperAnimeSpeed(int param_0) {
if (checkCopyRodThrowAnime()) {
if (param_1 == 0) {
mFrameCtrl2[2].setRate();
}
f32 tmp = FLOAT_LABEL(lit_6108);
mFrameCtrl2[2].setRate(tmp);
mFrameCtrl2[2].setFrame(tmp);
}
} */
/* 800E1408-800E145C 0DBD48 0054+00 2/2 0/0 0/0 .text checkForestOldCentury__9daAlink_cFv
*/
BOOL daAlink_c::checkForestOldCentury() {
return checkStageName("F_SP117") && dComIfGp_roomControl_getStayNo() == 2;
}
/* 800E145C-800E1530 0DBD9C 00D4+00 1/0 0/0 0/0 .text checkCopyRodTopUse__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL daAlink_c::checkCopyRodTopUse() {
nofralloc
#include "asm/d/a/d_a_alink/checkCopyRodTopUse__9daAlink_cFv.s"
}
#pragma pop
/* 800E1530-800E158C 0DBE70 005C+00 4/4 0/0 0/0 .text checkCopyRodAnime__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkCopyRodAnime() const {
nofralloc
#include "asm/d/a/d_a_alink/checkCopyRodAnime__9daAlink_cCFv.s"
}
#pragma pop
/* 800E158C-800E15FC 0DBECC 0070+00 2/2 0/0 0/0 .text setCopyRodControllAnime__9daAlink_cFv */
void daAlink_c::setCopyRodControllAnime() {
if (checkNoUpperAnime() && getCopyRodControllActor()) {
setUpperAnimeBaseSpeed(0x202, FLOAT_LABEL(lit_6108), lit_6109);
field_0x2f96 = 2;
field_0x2f97 = 5;
field_0x33e8 = FLOAT_LABEL(lit_6108);
}
}
/* 800E15FC-800E1748 0DBF3C 014C+00 1/1 0/0 0/0 .text
* setCopyRodControllUpperSpeedRate__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setCopyRodControllUpperSpeedRate() {
nofralloc
#include "asm/d/a/d_a_alink/setCopyRodControllUpperSpeedRate__9daAlink_cFv.s"
}
#pragma pop
/* 800E1748-800E1840 0DC088 00F8+00 2/2 0/0 0/0 .text setCopyRodModel__9daAlink_cFv */
void daAlink_c::setCopyRodModel() {
JKRHeap* heap = setItemHeap();
J3DModelData* mdl_data = loadAramBmd(0x315, 0x5400);
mHeldItemModel = initModel(mdl_data, 0x80000, 0x1000000);
field_0x0724 = loadAramItemBrk(0x323, mHeldItemModel);
mDoExt_setCurrentHeap(heap);
field_0x0724->setFrame(FLOAT_LABEL(lit_6108));
field_0x2f94 = 2;
field_0x122C[0].SetAtSpl(dCcG_At_Spl_UNK_0);
field_0x122C[0].SetAtAtp(0);
field_0x122C[0].SetAtSe(20);
field_0x122C[0].SetAtHitMark(1);
field_0x122C[0].OnAtSetBit();
field_0x122C[0].SetAtHitCallback(NULL);
field_0x122C[0].SetAtMtrl(0);
mHeldItemModel->i_setBaseTRMtx(field_0x0650->i_getAnmMtx(field_0x30c0));
mHeldItemModel->calc();
}
/* 800E1840-800E191C 0DC180 00DC+00 2/2 0/0 0/0 .text setCopyRodReadyAnime__9daAlink_cFv
*/
// regalloc
#ifdef NONMATCHING
void daAlink_c::setCopyRodReadyAnime() {
f32 tmp;
if (i_checkAttentionLock()) {
tmp = daAlinkHIO_boom_c0::m.valc;
} else {
tmp = FLOAT_LABEL(lit_6108);
}
setUpperAnimeBaseSpeed(0x54, tmp, lit_6109);
if (checkCopyRodTopUse()) {
seStartSwordCut(Z2SE_AL_COPYROD_READY);
} else {
seStartSwordCut(Z2SE_AL_COPYROD_READY_OFF);
}
field_0x122C[0].SetR(lit_8676);
field_0x122C[0].SetAtType(0x1000000);
initLockAt();
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setCopyRodReadyAnime() {
nofralloc
#include "asm/d/a/d_a_alink/setCopyRodReadyAnime__9daAlink_cFv.s"
}
#pragma pop
#endif
/* 800E191C-800E1A30 0DC25C 0114+00 1/1 0/0 0/0 .text throwCopyRod__9daAlink_cFv */
void daAlink_c::throwCopyRod() {
daCrod_c* copy_rod = static_cast<daCrod_c*>(mItemAcKeep.getActor());
i_onNoResetFlg1(FLG1_UNK_10000);
if (checkCopyRodTopUse()) {
copy_rod->setThrow();
mCopyRodAcKeep = mItemAcKeep;
i_onNoResetFlg3(COPY_ROD_THROW_AFTER);
mItemAcKeep.clearData();
}
dComIfGp_clearPlayerStatus0(0, 0x80);
mFastShotTime = -1;
voiceStart(Z2SE_AL_V_ATTACK_S);
seStartSwordCut(Z2SE_AL_COPYROD_SWING);
if (mLinkAcch.ChkGroundHit()) {
if (checkZeroSpeedF()) {
field_0x2f98 = 3;
procAtnActorWaitInit();
} else {
procAtnActorMoveInit();
}
field_0x2060->initOldFrameMorf(FLOAT_LABEL(lit_6108), 0, 35);
}
}
/* 800E1A30-800E1ADC 0DC370 00AC+00 0/0 0/0 1/1 .text returnCopyRod__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::returnCopyRod() {
nofralloc
#include "asm/d/a/d_a_alink/returnCopyRod__9daAlink_cFv.s"
}
#pragma pop
/* void daAlink_c::returnCopyRod() {
i_offNoResetFlg3(COPY_ROD_THROW_AFTER);
if (mEquipItem == 0x46) {
mItemAcKeep = mCopyRodAcKeep;
i_onNoResetFlg0(FLG0_UNK_20);
cXyz tmp(0, 1, 0);
dComIfGp_getVibration().StartShock(1, 1, tmp);
}
mCopyRodAcKeep.clearData();
} */
/* 800E1ADC-800E1BB4 0DC41C 00D8+00 2/2 0/0 0/0 .text checkUpperItemActionCopyRod__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkUpperItemActionCopyRod() {
nofralloc
#include "asm/d/a/d_a_alink/checkUpperItemActionCopyRod__9daAlink_cFv.s"
}
#pragma pop
/* 800E1BB4-800E1C44 0DC4F4 0090+00 1/1 0/0 0/0 .text checkUpperItemActionCopyRodFly__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkUpperItemActionCopyRodFly() {
nofralloc
#include "asm/d/a/d_a_alink/checkUpperItemActionCopyRodFly__9daAlink_cFv.s"
}
#pragma pop
/* 800E1C44-800E1D6C 0DC584 0128+00 2/2 0/0 0/0 .text checkNextActionCopyRod__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkNextActionCopyRod() {
nofralloc
#include "asm/d/a/d_a_alink/checkNextActionCopyRod__9daAlink_cFv.s"
}
#pragma pop
/* 800E1D6C-800E1E20 0DC6AC 00B4+00 1/1 0/0 0/0 .text setCopyRodSight__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setCopyRodSight() {
nofralloc
#include "asm/d/a/d_a_alink/setCopyRodSight__9daAlink_cFv.s"
}
#pragma pop
/* 800E1E20-800E1EB0 0DC760 0090+00 1/1 0/0 0/0 .text procCopyRodSubjectInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCopyRodSubjectInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCopyRodSubjectInit__9daAlink_cFv.s"
}
#pragma pop
/* 800E1EB0-800E1F68 0DC7F0 00B8+00 1/0 0/0 0/0 .text procCopyRodSubject__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCopyRodSubject() {
nofralloc
#include "asm/d/a/d_a_alink/procCopyRodSubject__9daAlink_cFv.s"
}
#pragma pop
/* 800E1F68-800E1FFC 0DC8A8 0094+00 1/1 0/0 0/0 .text procCopyRodMoveInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCopyRodMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCopyRodMoveInit__9daAlink_cFv.s"
}
#pragma pop
/* 800E1FFC-800E20C8 0DC93C 00CC+00 1/0 0/0 0/0 .text procCopyRodMove__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCopyRodMove() {
nofralloc
#include "asm/d/a/d_a_alink/procCopyRodMove__9daAlink_cFv.s"
}
#pragma pop
/* 800E20C8-800E21FC 0DCA08 0134+00 1/1 0/0 0/0 .text procCopyRodSwingInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCopyRodSwingInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCopyRodSwingInit__9daAlink_cFv.s"
}
#pragma pop
/* 800E21FC-800E2308 0DCB3C 010C+00 1/0 0/0 0/0 .text procCopyRodSwing__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCopyRodSwing() {
nofralloc
#include "asm/d/a/d_a_alink/procCopyRodSwing__9daAlink_cFv.s"
}
#pragma pop
/* 800E2308-800E23A4 0DCC48 009C+00 1/0 0/0 0/0 .text procCopyRodReviveInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCopyRodReviveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCopyRodReviveInit__9daAlink_cFv.s"
}
#pragma pop
/* 800E23A4-800E23FC 0DCCE4 0058+00 1/0 0/0 0/0 .text procCopyRodRevive__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCopyRodRevive() {
nofralloc
#include "asm/d/a/d_a_alink/procCopyRodRevive__9daAlink_cFv.s"
}
#pragma pop
+238
View File
@@ -0,0 +1,238 @@
/* 800F7C50-800F7C74 0F2590 0024+00 2/2 0/0 0/0 .text getCrawlMoveAnmSpeed__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getCrawlMoveAnmSpeed() {
nofralloc
#include "asm/d/a/d_a_alink/getCrawlMoveAnmSpeed__9daAlink_cFv.s"
}
#pragma pop
/* 800F7C74-800F7CE8 0F25B4 0074+00 2/2 0/0 0/0 .text getCrawlMoveSpeed__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getCrawlMoveSpeed() {
nofralloc
#include "asm/d/a/d_a_alink/getCrawlMoveSpeed__9daAlink_cFv.s"
}
#pragma pop
/* 800F7CE8-800F7E48 0F2628 0160+00 4/4 0/0 0/0 .text setCrawlMoveDirectionArrow__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setCrawlMoveDirectionArrow() {
nofralloc
#include "asm/d/a/d_a_alink/setCrawlMoveDirectionArrow__9daAlink_cFv.s"
}
#pragma pop
/* 800F7E48-800F81C0 0F2788 0378+00 2/2 0/0 0/0 .text changeCrawlAutoMoveProc__9daAlink_cFP4cXyz
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::changeCrawlAutoMoveProc(cXyz* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/changeCrawlAutoMoveProc__9daAlink_cFP4cXyz.s"
}
#pragma pop
/* 800F81C0-800F85C0 0F2B00 0400+00 2/2 0/0 0/0 .text
* getCrawlMoveVec__9daAlink_cFP4cXyzP4cXyzP4cXyziiPUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getCrawlMoveVec(cXyz* param_0, cXyz* param_1, cXyz* param_2, int param_3,
int param_4, u8* param_5) {
nofralloc
#include "asm/d/a/d_a_alink/getCrawlMoveVec__9daAlink_cFP4cXyzP4cXyzP4cXyziiPUc.s"
}
#pragma pop
/* 800F85C0-800F8700 0F2F00 0140+00 2/2 0/0 0/0 .text crawlBgCheck__9daAlink_cFP4cXyzP4cXyzi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::crawlBgCheck(cXyz* param_0, cXyz* param_1, int param_2) {
nofralloc
#include "asm/d/a/d_a_alink/crawlBgCheck__9daAlink_cFP4cXyzP4cXyzi.s"
}
#pragma pop
/* 800F8700-800F88F8 0F3040 01F8+00 2/2 0/0 0/0 .text
* checkCrawlSideWall__9daAlink_cFP4cXyzP4cXyzP4cXyzP4cXyzPsPs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkCrawlSideWall(cXyz* param_0, cXyz* param_1, cXyz* param_2, cXyz* param_3,
s16* param_4, s16* param_5) {
nofralloc
#include "asm/d/a/d_a_alink/checkCrawlSideWall__9daAlink_cFP4cXyzP4cXyzP4cXyzP4cXyzPsPs.s"
}
#pragma pop
/* 800F88F8-800F89E0 0F3238 00E8+00 6/6 0/0 0/0 .text decideCrawlDoStatus__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::decideCrawlDoStatus() {
nofralloc
#include "asm/d/a/d_a_alink/decideCrawlDoStatus__9daAlink_cFv.s"
}
#pragma pop
/* 800F89E0-800F8A50 0F3320 0070+00 3/3 0/0 0/0 .text checkNotCrawlStand__9daAlink_cFP4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkNotCrawlStand(cXyz* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkNotCrawlStand__9daAlink_cFP4cXyz.s"
}
#pragma pop
/* 800F8A50-800F8B00 0F3390 00B0+00 2/2 0/0 0/0 .text checkNotCrawlStand__9daAlink_cFP4cXyzP4cXyz
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkNotCrawlStand(cXyz* param_0, cXyz* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/checkNotCrawlStand__9daAlink_cFP4cXyzP4cXyz.s"
}
#pragma pop
/* 800F8B00-800F8D04 0F3440 0204+00 2/2 0/0 0/0 .text
* checkCrawlInHoll__9daAlink_cFP4cXyzP4cXyzP4cXyzi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkCrawlInHoll(cXyz* param_0, cXyz* param_1, cXyz* param_2, int param_3) {
nofralloc
#include "asm/d/a/d_a_alink/checkCrawlInHoll__9daAlink_cFP4cXyzP4cXyzP4cXyzi.s"
}
#pragma pop
/* 800F8D04-800F8DBC 0F3644 00B8+00 2/2 0/0 0/0 .text setCrawlMoveHoll__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setCrawlMoveHoll() {
nofralloc
#include "asm/d/a/d_a_alink/setCrawlMoveHoll__9daAlink_cFv.s"
}
#pragma pop
/* 800F8DBC-800F8F08 0F36FC 014C+00 1/1 0/0 0/0 .text setCrawlMoveAngle__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setCrawlMoveAngle() {
nofralloc
#include "asm/d/a/d_a_alink/setCrawlMoveAngle__9daAlink_cFv.s"
}
#pragma pop
/* 800F8F08-800F8F84 0F3848 007C+00 6/6 0/0 0/0 .text stopHalfMoveAnime__9daAlink_cFf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::stopHalfMoveAnime(f32 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/stopHalfMoveAnime__9daAlink_cFf.s"
}
#pragma pop
/* 800F8F84-800F9210 0F38C4 028C+00 2/2 0/0 0/0 .text setCrawlAutoMoveAimPos__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setCrawlAutoMoveAimPos() {
nofralloc
#include "asm/d/a/d_a_alink/setCrawlAutoMoveAimPos__9daAlink_cFv.s"
}
#pragma pop
/* 800F9210-800F9384 0F3B50 0174+00 2/2 0/0 0/0 .text procCrawlStartInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCrawlStartInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCrawlStartInit__9daAlink_cFv.s"
}
#pragma pop
/* 800F9384-800F9474 0F3CC4 00F0+00 1/0 0/0 0/0 .text procCrawlStart__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCrawlStart() {
nofralloc
#include "asm/d/a/d_a_alink/procCrawlStart__9daAlink_cFv.s"
}
#pragma pop
/* 800F9474-800F95B8 0F3DB4 0144+00 3/3 0/0 0/0 .text procCrawlMoveInit__9daAlink_cFss */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCrawlMoveInit(s16 param_0, s16 param_1) {
nofralloc
#include "asm/d/a/d_a_alink/procCrawlMoveInit__9daAlink_cFss.s"
}
#pragma pop
/* 800F95B8-800F99FC 0F3EF8 0444+00 1/0 0/0 0/0 .text procCrawlMove__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCrawlMove() {
nofralloc
#include "asm/d/a/d_a_alink/procCrawlMove__9daAlink_cFv.s"
}
#pragma pop
/* 800F99FC-800F9ABC 0F433C 00C0+00 1/1 0/0 0/0 .text procCrawlAutoMoveInit__9daAlink_cFiP4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCrawlAutoMoveInit(int param_0, cXyz* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/procCrawlAutoMoveInit__9daAlink_cFiP4cXyz.s"
}
#pragma pop
/* 800F9ABC-800F9D7C 0F43FC 02C0+00 1/0 0/0 0/0 .text procCrawlAutoMove__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCrawlAutoMove() {
nofralloc
#include "asm/d/a/d_a_alink/procCrawlAutoMove__9daAlink_cFv.s"
}
#pragma pop
/* 800F9D7C-800F9F30 0F46BC 01B4+00 1/1 0/0 0/0 .text procCrawlEndInit__9daAlink_cFiss */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCrawlEndInit(int param_0, s16 param_1, s16 param_2) {
nofralloc
#include "asm/d/a/d_a_alink/procCrawlEndInit__9daAlink_cFiss.s"
}
#pragma pop
/* 800F9F30-800F9FDC 0F4870 00AC+00 1/0 0/0 0/0 .text procCrawlEnd__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCrawlEnd() {
nofralloc
#include "asm/d/a/d_a_alink/procCrawlEnd__9daAlink_cFv.s"
}
#pragma pop
+985
View File
@@ -0,0 +1,985 @@
/* 800D0D38-800D0E08 0CB678 00D0+00 1/1 0/0 0/0 .text daAlink_searchNightStalker__FP10fopAc_ac_cPv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daAlink_searchNightStalker(fopAc_ac_c* param_0, void* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/daAlink_searchNightStalker__FP10fopAc_ac_cPv.s"
}
#pragma pop
/* 800D0E08-800D0E98 0CB748 0090+00 1/1 0/0 0/0 .text checkLightSwordMtrl__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkLightSwordMtrl() {
nofralloc
#include "asm/d/a/d_a_alink/checkLightSwordMtrl__9daAlink_cFv.s"
}
#pragma pop
/* 800D0E98-800D0ECC 0CB7D8 0034+00 5/5 0/0 0/0 .text checkSwordEquipAnime__9daAlink_cCFv
*/
BOOL daAlink_c::checkSwordEquipAnime() const {
return !i_checkNoResetFlg0(FLG0_UNK_1000000) &&
(checkUpperAnime(0x255) || checkUpperAnime(0x261));
}
/* 800D0ECC-800D0EFC 0CB80C 0030+00 8/8 0/0 0/0 .text checkCutDashAnime__9daAlink_cCFv */
BOOL daAlink_c::checkCutDashAnime() const {
return checkUpperAnime(0x80) || checkUpperAnime(0x82) || checkUpperAnime(0x81);
}
/* 800D0EFC-800D0F5C 0CB83C 0060+00 1/1 0/0 0/0 .text
* checkCutDashEnemyHit__9daAlink_cFR12dCcD_GObjInf */
BOOL daAlink_c::checkCutDashEnemyHit(dCcD_GObjInf& obj) {
return obj.ChkAtHit() && checkEnemyGroup(obj.GetAtHitAc());
}
/* 800D0F5C-800D0F90 0CB89C 0034+00 6/6 0/0 0/0 .text getSwordAtType__9daAlink_cFv */
u32 daAlink_c::getSwordAtType() {
return checkMasterSwordEquip() ? 0x4000002 : 2;
}
/* 800D0F90-800D102C 0CB8D0 009C+00 3/3 0/0 0/0 .text initCutTurnAt__9daAlink_cFfi */
void daAlink_c::initCutTurnAt(f32 param_0, int param_1) {
field_0xFB8.ResetAtHit();
field_0xFB8.OnAtSetBit();
field_0xFB8.SetAtType(getSwordAtType());
field_0xFB8.SetAtHitMark(3);
field_0xFB8.SetAtSe(1);
field_0xFB8.SetAtAtp(param_1);
u8 mtrl;
if (!i_checkNoResetFlg3(FLG3_UNK_100000)) {
mtrl = 0;
} else {
mtrl = 4;
}
field_0xFB8.SetAtMtrl(mtrl);
field_0xFB8.SetR(param_0);
field_0x2fd0 = 1;
}
/* 800D102C-800D1088 0CB96C 005C+00 2/2 0/0 0/0 .text checkCutFinishJumpUp__9daAlink_cFv
*/
#ifdef NONMATCHING
bool daAlink_c::checkCutFinishJumpUp() {
return checkCutBackState() && (!checkNotBattleStage() && swordSwingTrigger());
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::checkCutFinishJumpUp() {
nofralloc
#include "asm/d/a/d_a_alink/checkCutFinishJumpUp__9daAlink_cFv.s"
}
#pragma pop
#endif
/* 800D1088-800D10E0 0CB9C8 0058+00 2/2 0/0 0/0 .text changeCutFast__9daAlink_cFv */
void daAlink_c::changeCutFast() {
deleteEquipItem(0, 0);
setSwordModel();
mComboCutCount = 3;
checkCutAction();
i_onNoResetFlg0(FLG0_UNK_80000);
}
/* 800D10E0-800D1268 0CBA20 0188+00 1/1 0/0 0/0 .text checkCutFastReady__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkCutFastReady() {
nofralloc
#include "asm/d/a/d_a_alink/checkCutFastReady__9daAlink_cFv.s"
}
#pragma pop
/* 800D1268-800D1310 0CBBA8 00A8+00 9/9 0/0 0/0 .text setSwordModel__9daAlink_cFv */
void daAlink_c::setSwordModel() {
field_0x2fde = 0xFF;
mEquipItem = EQUIP_SWORD;
mDoAud_bgmSetSwordUsing(1);
field_0x2f94 = 0;
if (checkWoodSwordEquip()) {
mSwordModel->getModelData()->getMaterialNodePointer(1)->getShape()->hide();
} else {
mSwordModel->getModelData()->getMaterialNodePointer(0)->getShape()->show();
}
}
/* 800D1310-800D13AC 0CBC50 009C+00 2/2 0/0 0/0 .text offSwordModel__9daAlink_cFv */
void daAlink_c::offSwordModel() {
mDoAud_bgmSetSwordUsing(0);
if (mSwordModel == field_0x0668 || mSwordModel == field_0x0660) {
mSwordModel->getModelData()->getMaterialNodePointer(0)->getShape()->hide();
} else if (mSwordModel == field_0x0670) {
field_0x0670->getModelData()->getMaterialNodePointer(1)->getShape()->show();
}
}
/* 800D13AC-800D13E4 0CBCEC 0038+00 1/1 0/0 0/0 .text checkCutTypeNoBlur__9daAlink_cCFv
*/
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);
}
/* 800D13E4-800D1424 0CBD24 0040+00 7/7 0/0 0/0 .text checkCutTurnInput__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::checkCutTurnInput() const {
nofralloc
#include "asm/d/a/d_a_alink/checkCutTurnInput__9daAlink_cCFv.s"
}
#pragma pop
/* 800D1424-800D1430 0CBD64 000C+00 7/7 0/0 0/0 .text getCutTurnDirection__9daAlink_cCFv
*/
int daAlink_c::getCutTurnDirection() const {
return field_0x3180 < 0;
}
/* 800D1430-800D1454 0CBD70 0024+00 17/17 0/0 0/0 .text resetCombo__9daAlink_cFi */
void daAlink_c::resetCombo(int param_0) {
mComboCutCount = 0;
i_offNoResetFlg0(FLG0_UNK_8000);
if (param_0 != 0) {
mRunCutComboCount = 0;
}
}
/* 800D1454-800D152C 0CBD94 00D8+00 1/1 0/0 0/0 .text checkComboCnt__9daAlink_cFv */
// something with i_checkAttentionLock
#ifdef NONMATCHING
void daAlink_c::checkComboCnt() {
if ((mEquipItem == EQUIP_SWORD && mComboCutCount == 2) &&
(i_checkAttentionLock() && (field_0x122C[0].ChkAtHit() || field_0x122C[1].ChkAtHit() ||
field_0x122C[2].ChkAtHit()))) {
i_onNoResetFlg0(FLG0_UNK_8000);
}
if (field_0x307e > 0) {
field_0x307e--;
} else {
resetCombo(1);
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkComboCnt() {
nofralloc
#include "asm/d/a/d_a_alink/checkComboCnt__9daAlink_cFv.s"
}
#pragma pop
#endif
/* 800D152C-800D1540 0CBE6C 0014+00 22/22 0/0 0/0 .text setCutType__9daAlink_cFUc */
void daAlink_c::setCutType(u8 type) {
mCutType = type;
i_offResetFlg0(RFLG0_UNK_8000000);
}
/* 800D1540-800D1688 0CBE80 0148+00 8/8 0/0 0/0 .text
* setCylAtParam__9daAlink_cFUl11dCcG_At_SplUcUciff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setCylAtParam(u32 param_0, dCcG_At_Spl param_1, u8 param_2, u8 param_3,
int param_4, f32 param_5, f32 param_6) {
nofralloc
#include "asm/d/a/d_a_alink/setCylAtParam__9daAlink_cFUl11dCcG_At_SplUcUciff.s"
}
#pragma pop
/* 800D1688-800D1788 0CBFC8 0100+00 9/9 0/0 0/0 .text
* setSwordAtParam__9daAlink_cF11dCcG_At_SplUcUciff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setSwordAtParam(dCcG_At_Spl param_0, u8 param_1, u8 param_2, int param_3,
f32 param_4, f32 param_5) {
nofralloc
#include "asm/d/a/d_a_alink/setSwordAtParam__9daAlink_cF11dCcG_At_SplUcUciff.s"
}
#pragma pop
/* 800D1788-800D17EC 0CC0C8 0064+00 1/1 0/0 1/1 .text
* notSwordHitVibActor__9daAlink_cFP10fopAc_ac_c */
bool daAlink_c::notSwordHitVibActor(fopAc_ac_c* p_actor) {
if (p_actor != NULL && fopAcM_GetGroup(p_actor) == 4) {
s16 name = fopAcM_GetName(p_actor);
if (!checkSpecialNpc(p_actor) && name != 0x108 && name != 0x240) {
return true;
}
}
return false;
}
/* 800D17EC-800D1920 0CC12C 0134+00 4/4 0/0 0/0 .text
* setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setSwordHitVibration(dCcD_GObjInf* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf.s"
}
#pragma pop
/* 800D1920-800D1978 0CC260 0058+00 3/3 0/0 0/0 .text checkAtShieldHit__9daAlink_cFR12dCcD_GObjInf
*/
BOOL daAlink_c::checkAtShieldHit(dCcD_GObjInf& param_0) {
return param_0.ChkAtHit() && param_0.ChkAtShieldHit();
}
/* 800D1978-800D19C8 0CC2B8 0050+00 1/1 0/0 0/0 .text
* checkCutReverseAt__9daAlink_cFP12dCcD_GObjInf */
bool daAlink_c::checkCutReverseAt(dCcD_GObjInf* param_0) {
param_0->GetAtHitAc();
return checkAtShieldHit(*param_0) ? true : false;
}
/* 800D19C8-800D1E1C 0CC308 0454+00 5/5 0/0 0/0 .text
* changeCutReverseProc__9daAlink_cFQ29daAlink_c11daAlink_ANM */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL daAlink_c::changeCutReverseProc(daAlink_c::daAlink_ANM param_0) {
nofralloc
#include "asm/d/a/d_a_alink/changeCutReverseProc__9daAlink_cFQ29daAlink_c11daAlink_ANM.s"
}
#pragma pop
/* 800D1E1C-800D20B4 0CC75C 0298+00 4/4 0/0 0/0 .text setCutDash__9daAlink_cFii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setCutDash(int param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/setCutDash__9daAlink_cFii.s"
}
#pragma pop
/* 800D20B4-800D20FC 0CC9F4 0048+00 4/4 0/0 0/0 .text checkForceSwordSwing__9daAlink_cFv
*/
BOOL daAlink_c::checkForceSwordSwing() {
return mEquipItem == EQUIP_SWORD && swordSwingTrigger();
}
/* 800D20FC-800D2188 0CCA3C 008C+00 7/7 0/0 0/0 .text setComboReserb__9daAlink_cFv */
void daAlink_c::setComboReserb() {
if (i_checkWolf()) {
field_0x307e = daAlinkHIO_wlAttack_c0::m.mComboDuration;
} else {
field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration;
}
if (mComboCutCount != 4 && field_0x2fce == 0 && swordSwingTrigger()) {
i_onNoResetFlg2(UNK_FLG2_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();
}
/* 800D21D0-800D2284 0CCB10 00B4+00 1/1 0/0 0/0 .text commonCutAction__9daAlink_cFv */
bool daAlink_c::commonCutAction() {
if (mComboCutCount == 4) {
resetCombo(1);
}
if (i_dComIfGp_getDoStatus() == 4) {
setDoStatus(0);
}
mComboCutCount++;
if (i_checkReinRide()) {
procHorseCutInit();
if (mComboCutCount > 1) {
mComboCutCount = 1;
}
return true;
} else {
return false;
}
}
/* 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)) {
voiceStart(sfx_id);
}
}
/* 800D22BC-800D2304 0CCBFC 0048+00 3/3 0/0 0/0 .text setSwordChargeVoiceSe__9daAlink_cFv
*/
void daAlink_c::setSwordChargeVoiceSe() {
if (mCommonCounter != 0) {
mCommonCounter--;
if (mCommonCounter == 0) {
setSwordVoiceSe(Z2SE_AL_V_TAME);
}
}
}
/* 800D2304-800D2368 0CCC44 0064+00 3/3 0/0 0/0 .text setSwordComboVoice__9daAlink_cFv */
void daAlink_c::setSwordComboVoice() {
if (mProcID == PROC_CUT_JUMP || mComboCutCount == 4) {
setSwordVoiceSe(Z2SE_AL_V_ATTACK_L);
} else if (mComboCutCount == 1) {
setSwordVoiceSe(Z2SE_AL_V_ATTACK_S);
} else {
setSwordVoiceSe(Z2SE_AL_V_ATTACK_M);
}
}
/* 800D2368-800D23C0 0CCCA8 0058+00 3/3 0/0 0/0 .text checkCutTurnInputTrigger__9daAlink_cFv */
bool daAlink_c::checkCutTurnInputTrigger() {
return swordSwingTrigger() && checkCutTurnInput();
}
/* 800D23C0-800D2684 0CCD00 02C4+00 7/7 0/0 0/0 .text checkCutAction__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkCutAction() {
nofralloc
#include "asm/d/a/d_a_alink/checkCutAction__9daAlink_cFv.s"
}
#pragma pop
/* 800D2684-800D26EC 0CCFC4 0068+00 9/9 0/0 0/0 .text checkCutTurnCharge__9daAlink_cFv */
void daAlink_c::checkCutTurnCharge() {
if (swordButton()) {
if (field_0x3012 < 3) {
field_0x3012++;
} else {
i_onResetFlg0(RFLG0_UNK_40);
}
} else {
field_0x3012 = 0;
}
}
/* 800D26EC-800D2760 0CD02C 0074+00 4/4 0/0 0/0 .text getCutDirection__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getCutDirection() {
nofralloc
#include "asm/d/a/d_a_alink/getCutDirection__9daAlink_cFv.s"
}
#pragma pop
/* 800D2760-800D27E4 0CD0A0 0084+00 4/4 0/0 0/0 .text checkCutCancelNextMode__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkCutCancelNextMode(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkCutCancelNextMode__9daAlink_cFi.s"
}
#pragma pop
/* 800D27E4-800D2890 0CD124 00AC+00 4/4 0/0 0/0 .text checkDoCutAction__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkDoCutAction() {
nofralloc
#include "asm/d/a/d_a_alink/checkDoCutAction__9daAlink_cFv.s"
}
#pragma pop
/* 800D2890-800D28F4 0CD1D0 0064+00 2/2 0/0 0/0 .text checkCutBackState__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL daAlink_c::checkCutBackState() {
nofralloc
#include "asm/d/a/d_a_alink/checkCutBackState__9daAlink_cFv.s"
}
#pragma pop
/* 800D28F4-800D29D4 0CD234 00E0+00 6/6 0/0 0/0 .text checkCutHeadState__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkCutHeadState() {
nofralloc
#include "asm/d/a/d_a_alink/checkCutHeadState__9daAlink_cFv.s"
}
#pragma pop
/* 800D29D4-800D2ABC 0CD314 00E8+00 4/4 0/0 0/0 .text checkDownAttackState__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkDownAttackState() {
nofralloc
#include "asm/d/a/d_a_alink/checkDownAttackState__9daAlink_cFv.s"
}
#pragma pop
/* 800D2ABC-800D2B88 0CD3FC 00CC+00 1/1 1/1 0/0 .text checkCutLargeTurnState__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkCutLargeTurnState() const {
nofralloc
#include "asm/d/a/d_a_alink/checkCutLargeTurnState__9daAlink_cCFv.s"
}
#pragma pop
/* 800D2B88-800D2BFC 0CD4C8 0074+00 2/2 0/0 0/0 .text cancelCutCharge__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::cancelCutCharge() {
nofralloc
#include "asm/d/a/d_a_alink/cancelCutCharge__9daAlink_cFv.s"
}
#pragma pop
/* 800D2BFC-800D2C54 0CD53C 0058+00 3/3 0/0 0/0 .text initCutAtnActorSearch__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::initCutAtnActorSearch() {
nofralloc
#include "asm/d/a/d_a_alink/initCutAtnActorSearch__9daAlink_cFv.s"
}
#pragma pop
/* 800D2C54-800D2C78 0CD594 0024+00 3/3 0/0 0/0 .text checkCutAtnActorChange__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkCutAtnActorChange() {
nofralloc
#include "asm/d/a/d_a_alink/checkCutAtnActorChange__9daAlink_cFv.s"
}
#pragma pop
/* 800D2C78-800D2F58 0CD5B8 02E0+00 2/2 0/0 0/0 .text setCutJumpSpeed__9daAlink_cFi */
// literals, and small issue with JMAFastSqrt instructions
#ifdef NONMATCHING
void daAlink_c::setCutJumpSpeed(int cut_type) {
if (i_checkNoResetFlg0(UNDER_WATER_MOVEMENT)) {
mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX;
mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY;
} else if (checkHeavyStateOn(1, 1)) {
mSpeed.y *= 1.35f;
}
// cut_type 0 = standing jump attack
if (mTargetedActor != NULL && cut_type == 0) {
mCollisionRot.y = cLib_targetAngleY(&mCurrent.mPosition, &mTargetedActor->mEyePos);
cXyz targetPos(mTargetedActor->mEyePos.x - (cM_ssin(mCollisionRot.y) * 70.0f),
mTargetedActor->mEyePos.y + 50.0f,
mTargetedActor->mEyePos.z - (cM_scos(mCollisionRot.y) * 70.0f));
if (fopAcM_gc_c::gndCheck(&targetPos)) {
targetPos.y = fopAcM_gc_c::getGroundY();
} else {
targetPos.y = mTargetedActor->mEyePos.y;
}
f32 dvar12 = mSpeed.y + mGravity;
f32 dvar10 = 1.0f / mGravity;
f32 fvar1 = targetPos.y - (mCurrent.mPosition.y - (dvar10 * (dvar12 * dvar12) * 0.5f));
if (fvar1 > 0.0f) {
fvar1 = 0.0f;
}
f32 sqrt = JMAFastSqrt(fvar1 * 2.0f * dvar10);
f32 speedDiv = sqrt - (dvar12 * dvar10);
f32 squareDist = mCurrent.mPosition.absXZ(targetPos);
if (squareDist > 500.0f) {
squareDist = 500.0f;
}
mNormalSpeed = squareDist / speedDiv;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setCutJumpSpeed(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setCutJumpSpeed__9daAlink_cFi.s"
}
#pragma pop
#endif
/* 800D2F58-800D31B8 0CD898 0260+00 3/3 0/0 0/0 .text procCutNormalInit__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutNormalInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCutNormalInit__9daAlink_cFi.s"
}
#pragma pop
/* 800D31B8-800D34D8 0CDAF8 0320+00 1/0 0/0 0/0 .text procCutNormal__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutNormal() {
nofralloc
#include "asm/d/a/d_a_alink/procCutNormal__9daAlink_cFv.s"
}
#pragma pop
/* 800D34D8-800D382C 0CDE18 0354+00 4/4 0/0 0/0 .text procCutFinishInit__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutFinishInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCutFinishInit__9daAlink_cFi.s"
}
#pragma pop
/* 800D382C-800D3ADC 0CE16C 02B0+00 1/0 0/0 0/0 .text procCutFinish__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutFinish() {
nofralloc
#include "asm/d/a/d_a_alink/procCutFinish__9daAlink_cFv.s"
}
#pragma pop
/* 800D3ADC-800D3CCC 0CE41C 01F0+00 2/2 0/0 0/0 .text procCutFinishJumpUpInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutFinishJumpUpInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCutFinishJumpUpInit__9daAlink_cFv.s"
}
#pragma pop
/* 800D3CCC-800D3DD8 0CE60C 010C+00 1/0 0/0 0/0 .text procCutFinishJumpUp__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutFinishJumpUp() {
nofralloc
#include "asm/d/a/d_a_alink/procCutFinishJumpUp__9daAlink_cFv.s"
}
#pragma pop
/* 800D3DD8-800D3ECC 0CE718 00F4+00 1/1 0/0 0/0 .text procCutFinishJumpUpLandInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutFinishJumpUpLandInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCutFinishJumpUpLandInit__9daAlink_cFv.s"
}
#pragma pop
/* 800D3ECC-800D4068 0CE80C 019C+00 1/0 0/0 0/0 .text procCutFinishJumpUpLand__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutFinishJumpUpLand() {
nofralloc
#include "asm/d/a/d_a_alink/procCutFinishJumpUpLand__9daAlink_cFv.s"
}
#pragma pop
/* 800D4068-800D41FC 0CE9A8 0194+00 2/2 0/0 0/0 .text
* procCutReverseInit__9daAlink_cFQ29daAlink_c11daAlink_ANM */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutReverseInit(daAlink_c::daAlink_ANM param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCutReverseInit__9daAlink_cFQ29daAlink_c11daAlink_ANM.s"
}
#pragma pop
/* 800D41FC-800D42FC 0CEB3C 0100+00 1/0 0/0 0/0 .text procCutReverse__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutReverse() {
nofralloc
#include "asm/d/a/d_a_alink/procCutReverse__9daAlink_cFv.s"
}
#pragma pop
/* 800D42FC-800D43F8 0CEC3C 00FC+00 2/2 0/0 0/0 .text procCutJumpInit__9daAlink_cFi */
bool daAlink_c::procCutJumpInit(int jump_type) {
commonProcInit(PROC_CUT_JUMP);
setSingleAnimeParam(ANM_CUT_JUMP, &daAlinkHIO_cutJump_c0::m.mCutAnm);
if (jump_type != 0) {
mNormalSpeed = daAlinkHIO_cutJump_c0::m.mAirJumpSpeedH;
mSpeed.y = daAlinkHIO_cutJump_c0::m.mAirJumpSpeedV;
} else {
mNormalSpeed = daAlinkHIO_cutJump_c0::m.mBaseJumpSpeedH;
mSpeed.y = daAlinkHIO_cutJump_c0::m.mBaseJumpSpeedV;
}
setCutJumpSpeed(jump_type);
mCurrent.mAngle.y = mCollisionRot.y;
setSwordAtParam(dCcG_At_Spl_UNK_01, 3, 1, 3, daAlinkHIO_cut_c0::m.mSwordLength,
daAlinkHIO_cut_c0::m.mSwordRadius);
setCutType(TYPE_CUT_JUMP);
setSwordComboVoice();
dComIfGp_setPlayerStatus0(0, 0x8000);
field_0x3198 = 2;
return true;
}
/* 800D43F8-800D452C 0CED38 0134+00 1/0 0/0 0/0 .text procCutJump__9daAlink_cFv */
#ifdef NONMATCHING
bool daAlink_c::procCutJump() {
if (mCurrent.mAngle.y == mCollisionRot.y && changeCutReverseProc(ANM_CUT_JUMP)) {
mCurrent.mAngle.y += 0x8000;
mNormalSpeed = 27.0f;
cXyz xyz(0.0f, 1.0f, 0.0f);
dComIfGp_getVibration().StartShock(5, 31, xyz);
} else if (mCurrent.mAngle.y != mCollisionRot.y) {
cLib_chaseF(&mNormalSpeed, 5.0f, 1.0f);
}
if (checkCutTurnInput()) {
field_0x3198 = getCutTurnDirection();
}
if (mLinkAcch.ChkGroundHit()) {
procCutJumpLandInit(field_0x3198);
} else if (mFrameCtrl1[0].getFrame() >= daAlinkHIO_cutJump_c0::m.mStartAttackFrame) {
if (!i_checkNoResetFlg0(FLG0_UNK_40)) {
seStartSwordCut(Z2SE_AL_SWORD_SWING_L);
}
i_onResetFlg0(RFLG0_UNK_2);
}
return true;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::procCutJump() {
nofralloc
#include "asm/d/a/d_a_alink/procCutJump__9daAlink_cFv.s"
}
#pragma pop
#endif
/* 800D452C-800D4684 0CEE6C 0158+00 1/1 0/0 0/0 .text procCutJumpLandInit__9daAlink_cFi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutJumpLandInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCutJumpLandInit__9daAlink_cFi.s"
}
#pragma pop
/* 800D4684-800D47DC 0CEFC4 0158+00 1/0 0/0 0/0 .text procCutJumpLand__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutJumpLand() {
nofralloc
#include "asm/d/a/d_a_alink/procCutJumpLand__9daAlink_cFv.s"
}
#pragma pop
/* 800D47DC-800D4A74 0CF11C 0298+00 7/7 0/0 0/0 .text procCutTurnInit__9daAlink_cFii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutTurnInit(int param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/procCutTurnInit__9daAlink_cFii.s"
}
#pragma pop
/* 800D4A74-800D4C68 0CF3B4 01F4+00 1/0 0/0 0/0 .text procCutTurn__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutTurn() {
nofralloc
#include "asm/d/a/d_a_alink/procCutTurn__9daAlink_cFv.s"
}
#pragma pop
/* 800D4C68-800D4D04 0CF5A8 009C+00 3/3 0/0 0/0 .text procCutTurnChargeInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutTurnChargeInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCutTurnChargeInit__9daAlink_cFv.s"
}
#pragma pop
/* 800D4D04-800D4DDC 0CF644 00D8+00 1/0 0/0 0/0 .text procCutTurnCharge__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutTurnCharge() {
nofralloc
#include "asm/d/a/d_a_alink/procCutTurnCharge__9daAlink_cFv.s"
}
#pragma pop
/* 800D4DDC-800D4EFC 0CF71C 0120+00 3/3 0/0 0/0 .text procCutTurnMoveInit__9daAlink_cFi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutTurnMoveInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCutTurnMoveInit__9daAlink_cFi.s"
}
#pragma pop
/* 800D4EFC-800D53C8 0CF83C 04CC+00 1/0 0/0 0/0 .text procCutTurnMove__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutTurnMove() {
nofralloc
#include "asm/d/a/d_a_alink/procCutTurnMove__9daAlink_cFv.s"
}
#pragma pop
/* 800D53C8-800D57F8 0CFD08 0430+00 2/1 0/0 0/0 .text procCutDownInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutDownInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCutDownInit__9daAlink_cFv.s"
}
#pragma pop
/* 800D57F8-800D58A0 0D0138 00A8+00 1/0 0/0 0/0 .text procCutDown__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutDown() {
nofralloc
#include "asm/d/a/d_a_alink/procCutDown__9daAlink_cFv.s"
}
#pragma pop
/* 800D58A0-800D5ADC 0D01E0 023C+00 1/1 0/0 0/0 .text
* procCutDownLandInit__9daAlink_cFP13fopEn_enemy_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutDownLandInit(fopEn_enemy_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCutDownLandInit__9daAlink_cFP13fopEn_enemy_c.s"
}
#pragma pop
/* 800D5ADC-800D5C88 0D041C 01AC+00 1/0 0/0 0/0 .text procCutDownLand__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutDownLand() {
nofralloc
#include "asm/d/a/d_a_alink/procCutDownLand__9daAlink_cFv.s"
}
#pragma pop
/* 800D5C88-800D5FC8 0D05C8 0340+00 2/1 0/0 0/0 .text procCutHeadInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutHeadInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCutHeadInit__9daAlink_cFv.s"
}
#pragma pop
/* 800D5FC8-800D6130 0D0908 0168+00 1/0 0/0 0/0 .text procCutHead__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutHead() {
nofralloc
#include "asm/d/a/d_a_alink/procCutHead__9daAlink_cFv.s"
}
#pragma pop
/* 800D6130-800D618C 0D0A70 005C+00 1/1 0/0 0/0 .text procCutHeadLandInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutHeadLandInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCutHeadLandInit__9daAlink_cFv.s"
}
#pragma pop
/* 800D618C-800D6238 0D0ACC 00AC+00 1/0 0/0 0/0 .text procCutHeadLand__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutHeadLand() {
nofralloc
#include "asm/d/a/d_a_alink/procCutHeadLand__9daAlink_cFv.s"
}
#pragma pop
/* 800D6238-800D62A0 0D0B78 0068+00 2/2 0/0 0/0 .text procCutLargeJumpChargeInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutLargeJumpChargeInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCutLargeJumpChargeInit__9daAlink_cFv.s"
}
#pragma pop
/* 800D62A0-800D6374 0D0BE0 00D4+00 1/0 0/0 0/0 .text procCutLargeJumpCharge__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutLargeJumpCharge() {
nofralloc
#include "asm/d/a/d_a_alink/procCutLargeJumpCharge__9daAlink_cFv.s"
}
#pragma pop
/* 800D6374-800D6484 0D0CB4 0110+00 2/1 0/0 0/0 .text procCutLargeJumpInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutLargeJumpInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCutLargeJumpInit__9daAlink_cFv.s"
}
#pragma pop
/* 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];
if (field_0x3010 != 0) {
field_0x2f99 = 4;
}
if (i_checkModeFlg(2) && checkCutTurnInput()) {
field_0x3198 = getCutTurnDirection();
}
if (mCommonCounter == 0) {
if (ctrl->checkAnmEnd()) {
field_0x2f99 = 12;
setSingleAnimeParam(ANM_CUT_JUMP_LARGE, &daAlinkHIO_cutLargeJump_c0::m.mCutAnm);
mCommonCounter = 1;
setSwordVoiceSe(Z2SE_AL_V_JUMP_ATTACK_L_2);
} else {
if (ctrl->getFrame() >= lit_7307) {
field_0x3010 = 1;
}
if (!i_checkModeFlg(2) && ctrl->getFrame() >= lit_7808) {
setJumpMode();
mNormalSpeed = daAlinkHIO_cutLargeJump_c0::m.mCutSpeedH;
mSpeed.y = daAlinkHIO_cutLargeJump_c0::m.mCutSpeedV;
setCutJumpSpeed(0);
}
if (ctrl->getFrame() >= daAlinkHIO_cutLargeJump_c0::m.mJumpAttackStartF &&
ctrl->getFrame() < daAlinkHIO_cutLargeJump_c0::m.mJumpAttackEndF) {
if (!i_checkNoResetFlg0(FLG0_UNK_40)) {
seStartSwordCut(Z2SE_AL_SWORD_SWING_S);
}
i_onResetFlg0(2);
}
}
} else {
if (field_0x300e != 0) {
field_0x300e--;
if (field_0x300e == 0) {
setSwordAtParam(dCcG_At_Spl_UNK_01, 3, 1, 4, daAlinkHIO_cut_c0::m.mSwordLength,
daAlinkHIO_cut_c0::m.mSwordRadius);
setCutType(TYPE_CUT_LARGE_JUMP);
}
}
if (mLinkAcch.ChkGroundHit()) {
procCutLargeJumpLandInit(field_0x3198);
} else {
if (ctrl->getFrame() >= daAlinkHIO_cutLargeJump_c0::m.mCutInitF) {
if (!i_checkNoResetFlg0(FLG0_UNK_40)) {
seStartSwordCut(Z2SE_AL_SWORD_SWING_S);
}
i_onResetFlg0(2);
}
}
}
return true;
}
/* 800D66C0-800D67FC 0D1000 013C+00 1/1 0/0 0/0 .text procCutLargeJumpLandInit__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutLargeJumpLandInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCutLargeJumpLandInit__9daAlink_cFi.s"
}
#pragma pop
/* 800D67FC-800D698C 0D113C 0190+00 1/0 0/0 0/0 .text procCutLargeJumpLand__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutLargeJumpLand() {
nofralloc
#include "asm/d/a/d_a_alink/procCutLargeJumpLand__9daAlink_cFv.s"
}
#pragma pop
/* 800D698C-800D6A38 0D12CC 00AC+00 2/1 0/0 0/0 .text procSwordUnequipSpInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwordUnequipSpInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSwordUnequipSpInit__9daAlink_cFv.s"
}
#pragma pop
/* 800D6A38-800D6D94 0D1378 035C+00 1/0 0/0 0/0 .text procSwordUnequipSp__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwordUnequipSp() {
nofralloc
#include "asm/d/a/d_a_alink/procSwordUnequipSp__9daAlink_cFv.s"
}
#pragma pop
+559
View File
@@ -0,0 +1,559 @@
/* 800D6D94-800D6DA4 0D16D4 0010+00 0/0 0/0 2/2 .text getFreezeR__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getFreezeR() const {
nofralloc
#include "asm/d/a/d_a_alink/getFreezeR__9daAlink_cCFv.s"
}
#pragma pop
/* 800D6DA4-800D6DB4 0D16E4 0010+00 0/0 0/0 2/2 .text getFreezeG__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getFreezeG() const {
nofralloc
#include "asm/d/a/d_a_alink/getFreezeG__9daAlink_cCFv.s"
}
#pragma pop
/* 800D6DB4-800D6DC4 0D16F4 0010+00 0/0 0/0 2/2 .text getFreezeB__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getFreezeB() const {
nofralloc
#include "asm/d/a/d_a_alink/getFreezeB__9daAlink_cCFv.s"
}
#pragma pop
/* 800D6DC4-800D6DF0 0D1704 002C+00 2/2 0/0 0/0 .text checkMiddleBossGoronRoom__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkMiddleBossGoronRoom() {
nofralloc
#include "asm/d/a/d_a_alink/checkMiddleBossGoronRoom__9daAlink_cFv.s"
}
#pragma pop
/* 800D6DF0-800D6E24 0D1730 0034+00 1/0 0/0 0/0 .text setDkCaught__9daAlink_cFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setDkCaught(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setDkCaught__9daAlink_cFP10fopAc_ac_c.s"
}
#pragma pop
/* 800D6E24-800D6F00 0D1764 00DC+00 2/2 0/0 0/0 .text freezeTimerDamage__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::freezeTimerDamage() {
nofralloc
#include "asm/d/a/d_a_alink/freezeTimerDamage__9daAlink_cFv.s"
}
#pragma pop
/* 800D6F00-800D6F2C 0D1840 002C+00 1/0 0/0 0/0 .text onPressedDamage__9daAlink_cFRC4cXyzs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::onPressedDamage(cXyz const& param_0, s16 param_1) {
nofralloc
#include "asm/d/a/d_a_alink/onPressedDamage__9daAlink_cFRC4cXyzs.s"
}
#pragma pop
/* 800D6F2C-800D6FE0 0D186C 00B4+00 3/3 0/0 0/0 .text checkNoLandDamageSlidePolygon__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkNoLandDamageSlidePolygon() {
nofralloc
#include "asm/d/a/d_a_alink/checkNoLandDamageSlidePolygon__9daAlink_cFv.s"
}
#pragma pop
/* 800D6FE0-800D70A0 0D1920 00C0+00 6/6 0/0 0/0 .text checkCutLandDamage__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkCutLandDamage() {
nofralloc
#include "asm/d/a/d_a_alink/checkCutLandDamage__9daAlink_cFv.s"
}
#pragma pop
/* 800D70A0-800D7160 0D19E0 00C0+00 2/2 0/0 0/0 .text checkCaughtEscapeCutTurn__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkCaughtEscapeCutTurn() {
nofralloc
#include "asm/d/a/d_a_alink/checkCaughtEscapeCutTurn__9daAlink_cFv.s"
}
#pragma pop
/* 800D7160-800D7208 0D1AA0 00A8+00 1/0 0/0 0/0 .text setThrowDamage__9daAlink_cFsffiii
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::setThrowDamage(s16 param_0, f32 param_1, f32 param_2, int param_3, int param_4,
int param_5) {
nofralloc
#include "asm/d/a/d_a_alink/setThrowDamage__9daAlink_cFsffiii.s"
}
#pragma pop
/* 800D7208-800D72BC 0D1B48 00B4+00 2/2 0/0 0/0 .text damageMagnification__9daAlink_cFii
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::damageMagnification(int param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/damageMagnification__9daAlink_cFii.s"
}
#pragma pop
/* 800D72BC-800D7478 0D1BFC 01BC+00 6/6 1/1 0/0 .text setDamagePoint__9daAlink_cFiiii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setDamagePoint(int param_0, int param_1, int param_2, int param_3) {
nofralloc
#include "asm/d/a/d_a_alink/setDamagePoint__9daAlink_cFiiii.s"
}
#pragma pop
/* 800D7478-800D74A4 0D1DB8 002C+00 6/6 0/0 0/0 .text setDamagePointNormal__9daAlink_cFi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setDamagePointNormal(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setDamagePointNormal__9daAlink_cFi.s"
}
#pragma pop
/* 800D74A4-800D74F4 0D1DE4 0050+00 3/3 0/0 0/0 .text setLandDamagePoint__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setLandDamagePoint(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setLandDamagePoint__9daAlink_cFi.s"
}
#pragma pop
/* 800D74F4-800D76C4 0D1E34 01D0+00 11/11 0/0 0/0 .text getDamageVec__9daAlink_cFP12dCcD_GObjInf
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getDamageVec(dCcD_GObjInf* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/getDamageVec__9daAlink_cFP12dCcD_GObjInf.s"
}
#pragma pop
/* 800D76C4-800D7768 0D2004 00A4+00 1/1 0/0 0/0 .text setDashDamage__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setDashDamage() {
nofralloc
#include "asm/d/a/d_a_alink/setDashDamage__9daAlink_cFv.s"
}
#pragma pop
/* 800D7768-800D77C8 0D20A8 0060+00 2/2 0/0 3/3 .text
* checkIcePolygonDamage__9daAlink_cFP13cBgS_PolyInfo */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkIcePolygonDamage(cBgS_PolyInfo* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkIcePolygonDamage__9daAlink_cFP13cBgS_PolyInfo.s"
}
#pragma pop
/* 800D77C8-800D7820 0D2108 0058+00 8/8 0/0 0/0 .text checkMagicArmorNoDamage__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkMagicArmorNoDamage() {
nofralloc
#include "asm/d/a/d_a_alink/checkMagicArmorNoDamage__9daAlink_cFv.s"
}
#pragma pop
/* 800D7820-800D7A98 0D2160 0278+00 1/1 0/0 0/0 .text checkPolyDamage__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkPolyDamage() {
nofralloc
#include "asm/d/a/d_a_alink/checkPolyDamage__9daAlink_cFv.s"
}
#pragma pop
/* 800D7A98-800D7B18 0D23D8 0080+00 1/1 0/0 0/0 .text
* checkElecReturnDamage__9daAlink_cFR12dCcD_GObjInfPP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkElecReturnDamage(dCcD_GObjInf& param_0, fopAc_ac_c** param_1) {
nofralloc
#include "asm/d/a/d_a_alink/checkElecReturnDamage__9daAlink_cFR12dCcD_GObjInfPP10fopAc_ac_c.s"
}
#pragma pop
/* 800D7B18-800D7BE8 0D2458 00D0+00 1/1 0/0 0/0 .text damageTimerCount__9daAlink_cFv */
#ifdef NONMATCHING
void daAlink_c::damageTimerCount() {
if (!i_checkModeFlg(8)) {
if (mDamageColorTime != 0) {
mDamageColorTime--;
}
if (mProcID != PROC_DK_CAUGHT && i_checkNoResetFlg1(1)) {
i_offNoResetFlg1(1);
}
if (checkDkCaught2Anime() && i_checkNoResetFlg0(0x20000)) {
i_offNoResetFlg0(0x20000);
}
} else if (mDamageColorTime != 0) {
mDamageColorTime--;
if (mDamageColorTime + mDamageTimer == 0) {
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::damageTimerCount() {
nofralloc
#include "asm/d/a/d_a_alink/damageTimerCount__9daAlink_cFv.s"
}
#pragma pop
#endif
/* 800D7BE8-800D7C14 0D2528 002C+00 3/3 0/0 0/0 .text checkHugeAttack__9daAlink_cCFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkHugeAttack(int param_0) const {
nofralloc
#include "asm/d/a/d_a_alink/checkHugeAttack__9daAlink_cCFi.s"
}
#pragma pop
/* 800D7C14-800D7C40 0D2554 002C+00 3/3 0/0 0/0 .text checkLargeAttack__9daAlink_cCFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkLargeAttack(int param_0) const {
nofralloc
#include "asm/d/a/d_a_alink/checkLargeAttack__9daAlink_cCFi.s"
}
#pragma pop
/* 800D7C40-800D8F3C 0D2580 12FC+00 1/1 0/0 0/0 .text checkDamageAction__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkDamageAction() {
nofralloc
#include "asm/d/a/d_a_alink/checkDamageAction__9daAlink_cFv.s"
}
#pragma pop
/* 800D8F3C-800D9514 0D387C 05D8+00 2/2 0/0 0/0 .text procDamageInit__9daAlink_cFP12dCcD_GObjInfi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/procDamageInit__9daAlink_cFP12dCcD_GObjInfi.s"
}
#pragma pop
/* 800D9514-800D96DC 0D3E54 01C8+00 1/0 0/0 0/0 .text procDamage__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procDamage() {
nofralloc
#include "asm/d/a/d_a_alink/procDamage__9daAlink_cFv.s"
}
#pragma pop
/* 800D96DC-800D9E88 0D401C 07AC+00 12/12 0/0 0/0 .text
* procCoLargeDamageInit__9daAlink_cFiissP12dCcD_GObjInfi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoLargeDamageInit(int param_0, int param_1, s16 param_2, s16 param_3,
dCcD_GObjInf* param_4, int param_5) {
nofralloc
#include "asm/d/a/d_a_alink/procCoLargeDamageInit__9daAlink_cFiissP12dCcD_GObjInfi.s"
}
#pragma pop
/* 800D9E88-800DA180 0D47C8 02F8+00 1/0 0/0 0/0 .text procCoLargeDamage__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoLargeDamage() {
nofralloc
#include "asm/d/a/d_a_alink/procCoLargeDamage__9daAlink_cFv.s"
}
#pragma pop
/* 800DA180-800DA554 0D4AC0 03D4+00 2/2 0/0 0/0 .text procLargeDamageUpInit__9daAlink_cFiiss */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16 param_3) {
nofralloc
#include "asm/d/a/d_a_alink/procLargeDamageUpInit__9daAlink_cFiiss.s"
}
#pragma pop
/* 800DA554-800DA82C 0D4E94 02D8+00 1/0 0/0 0/0 .text procLargeDamageUp__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLargeDamageUp() {
nofralloc
#include "asm/d/a/d_a_alink/procLargeDamageUp__9daAlink_cFv.s"
}
#pragma pop
/* 800DA82C-800DAC28 0D516C 03FC+00 1/1 0/0 0/0 .text procCoLargeDamageWallInit__9daAlink_cFiiss
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoLargeDamageWallInit(int param_0, int param_1, s16 param_2, s16 param_3) {
nofralloc
#include "asm/d/a/d_a_alink/procCoLargeDamageWallInit__9daAlink_cFiiss.s"
}
#pragma pop
/* 800DAC28-800DAC84 0D5568 005C+00 1/0 0/0 0/0 .text procCoLargeDamageWall__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoLargeDamageWall() {
nofralloc
#include "asm/d/a/d_a_alink/procCoLargeDamageWall__9daAlink_cFv.s"
}
#pragma pop
/* 800DAC84-800DAD90 0D55C4 010C+00 2/2 0/0 0/0 .text procCoPolyDamageInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoPolyDamageInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoPolyDamageInit__9daAlink_cFv.s"
}
#pragma pop
/* 800DAD90-800DAE10 0D56D0 0080+00 1/0 0/0 0/0 .text procCoPolyDamage__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoPolyDamage() {
nofralloc
#include "asm/d/a/d_a_alink/procCoPolyDamage__9daAlink_cFv.s"
}
#pragma pop
/* 800DAE10-800DB060 0D5750 0250+00 2/2 0/0 0/0 .text procLandDamageInit__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLandDamageInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procLandDamageInit__9daAlink_cFi.s"
}
#pragma pop
/* 800DB060-800DB140 0D59A0 00E0+00 1/0 0/0 0/0 .text procLandDamage__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLandDamage() {
nofralloc
#include "asm/d/a/d_a_alink/procLandDamage__9daAlink_cFv.s"
}
#pragma pop
/* 800DB140-800DB418 0D5A80 02D8+00 1/1 0/0 0/0 .text
* procCoElecDamageInit__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInfi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoElecDamageInit(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, int param_2) {
nofralloc
#include "asm/d/a/d_a_alink/procCoElecDamageInit__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInfi.s"
}
#pragma pop
/* 800DB418-800DB5B0 0D5D58 0198+00 1/0 0/0 0/0 .text procCoElecDamage__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoElecDamage() {
nofralloc
#include "asm/d/a/d_a_alink/procCoElecDamage__9daAlink_cFv.s"
}
#pragma pop
/* 800DB5B0-800DB610 0D5EF0 0060+00 2/2 0/0 0/0 .text procStEscapeInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procStEscapeInit() {
nofralloc
#include "asm/d/a/d_a_alink/procStEscapeInit__9daAlink_cFv.s"
}
#pragma pop
/* 800DB610-800DB6A4 0D5F50 0094+00 1/0 0/0 0/0 .text procStEscape__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procStEscape() {
nofralloc
#include "asm/d/a/d_a_alink/procStEscape__9daAlink_cFv.s"
}
#pragma pop
/* 800DB6A4-800DB860 0D5FE4 01BC+00 1/1 0/0 0/0 .text procDkCaughtInit__9daAlink_cFUi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procDkCaughtInit(unsigned int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procDkCaughtInit__9daAlink_cFUi.s"
}
#pragma pop
/* 800DB860-800DBC98 0D61A0 0438+00 1/0 0/0 0/0 .text procDkCaught__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procDkCaught() {
nofralloc
#include "asm/d/a/d_a_alink/procDkCaught__9daAlink_cFv.s"
}
#pragma pop
/* 800DBC98-800DBD1C 0D65D8 0084+00 2/2 0/0 0/0 .text setScreamWaitAnime__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setScreamWaitAnime() {
nofralloc
#include "asm/d/a/d_a_alink/setScreamWaitAnime__9daAlink_cFv.s"
}
#pragma pop
/* 800DBD1C-800DBDA4 0D665C 0088+00 1/1 0/0 0/0 .text procScreamWaitInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procScreamWaitInit() {
nofralloc
#include "asm/d/a/d_a_alink/procScreamWaitInit__9daAlink_cFv.s"
}
#pragma pop
/* 800DBDA4-800DBE00 0D66E4 005C+00 1/0 0/0 0/0 .text procScreamWait__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procScreamWait() {
nofralloc
#include "asm/d/a/d_a_alink/procScreamWait__9daAlink_cFv.s"
}
#pragma pop
/* 800DBE00-800DBE74 0D6740 0074+00 1/1 0/0 0/0 .text procCoSandWallHitInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoSandWallHitInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoSandWallHitInit__9daAlink_cFv.s"
}
#pragma pop
/* 800DBE74-800DBED8 0D67B4 0064+00 1/0 0/0 0/0 .text procCoSandWallHit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoSandWallHit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoSandWallHit__9daAlink_cFv.s"
}
#pragma pop
/* 800DBED8-800DC214 0D6818 033C+00 1/1 0/0 0/0 .text procCoLavaReturnInit__9daAlink_cFi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoLavaReturnInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCoLavaReturnInit__9daAlink_cFi.s"
}
#pragma pop
/* 800DC214-800DC278 0D6B54 0064+00 1/0 0/0 0/0 .text procCoLavaReturn__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoLavaReturn() {
nofralloc
#include "asm/d/a/d_a_alink/procCoLavaReturn__9daAlink_cFv.s"
}
#pragma pop
/* 800DC278-800DC474 0D6BB8 01FC+00 1/1 0/0 0/0 .text procCoSwimFreezeReturnInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoSwimFreezeReturnInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoSwimFreezeReturnInit__9daAlink_cFv.s"
}
#pragma pop
/* 800DC474-800DC548 0D6DB4 00D4+00 1/0 0/0 0/0 .text procCoSwimFreezeReturn__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoSwimFreezeReturn() {
nofralloc
#include "asm/d/a/d_a_alink/procCoSwimFreezeReturn__9daAlink_cFv.s"
}
#pragma pop
File diff suppressed because it is too large Load Diff
+776
View File
@@ -0,0 +1,776 @@
/* 80120580-80120634 11AEC0 00B4+00 21/21 0/0 0/0 .text
* setEmitter__9daAlink_cFPUlUsPC4cXyzPC5csXyz */
// matches with literal
#ifdef NONMATCHING
void daAlink_c::setEmitter(u32* param_0, u16 param_1, cXyz const* param_2, csXyz const* param_3) {
*param_0 = dComIfGp_particle_set(*param_0, param_1, param_2, &mTevStr, param_3, NULL, 0xFF,
NULL, 0xFF, NULL, NULL, NULL);
dComIfGp_particle_levelEmitterOnEventMove(*param_0);
dComIfGp_particle_getEmitter(*param_0);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setEmitter(u32* param_0, u16 param_1, cXyz const* param_2,
csXyz const* param_3) {
nofralloc
#include "asm/d/a/d_a_alink/setEmitter__9daAlink_cFPUlUsPC4cXyzPC5csXyz.s"
}
#pragma pop
#endif
/* 80120634-801206C4 11AF74 0090+00 4/4 0/0 0/0 .text
* setEmitterPolyColor__9daAlink_cFPUlUsR13cBgS_PolyInfoPC4cXyzPC5csXyz */
void daAlink_c::setEmitterPolyColor(u32* param_0, u16 param_1, cBgS_PolyInfo& param_2,
cXyz const* param_3, csXyz const* param_4) {
*param_0 = dComIfGp_particle_setPolyColor(*param_0, param_1, param_2, param_3, &mTevStr,
param_4, NULL, 0, NULL, -1, NULL);
dComIfGp_particle_levelEmitterOnEventMove(*param_0);
dComIfGp_particle_getEmitter(*param_0);
}
/* 801206C4-80120778 11B004 00B4+00 2/2 0/0 0/0 .text
* setEmitterColor__9daAlink_cFPUlUsPC4cXyzPC5csXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setEmitterColor(u32* param_0, u16 param_1, cXyz const* param_2,
csXyz const* param_3) {
nofralloc
#include "asm/d/a/d_a_alink/setEmitterColor__9daAlink_cFPUlUsPC4cXyzPC5csXyz.s"
}
#pragma pop
/* 80120778-801207BC 11B0B8 0044+00 9/9 0/0 0/0 .text stopDrawParticle__9daAlink_cFUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::stopDrawParticle(u32 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/stopDrawParticle__9daAlink_cFUl.s"
}
#pragma pop
/* 801207BC-80120880 11B0FC 00C4+00 1/0 0/0 0/0 .text setEffectFrontRollParam__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setEffectFrontRollParam() {
nofralloc
#include "asm/d/a/d_a_alink/setEffectFrontRollParam__9daAlink_cFv.s"
}
#pragma pop
/* 80120880-80120B00 11B1C0 0280+00 1/0 0/0 0/0 .text setEffectSlipParam__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setEffectSlipParam() {
nofralloc
#include "asm/d/a/d_a_alink/setEffectSlipParam__9daAlink_cFv.s"
}
#pragma pop
/* 80120B00-80120DB0 11B440 02B0+00 1/0 0/0 0/0 .text setEffectRunParam__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setEffectRunParam() {
nofralloc
#include "asm/d/a/d_a_alink/setEffectRunParam__9daAlink_cFv.s"
}
#pragma pop
/* 80120DB0-80121000 11B6F0 0250+00 1/0 0/0 0/0 .text setEffectSmallLandParam__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setEffectSmallLandParam() {
nofralloc
#include "asm/d/a/d_a_alink/setEffectSmallLandParam__9daAlink_cFv.s"
}
#pragma pop
/* 80121000-80121004 11B940 0004+00 1/0 0/0 0/0 .text setEffectLandParam__9daAlink_cFv */
void daAlink_c::setEffectLandParam() {
/* empty function */
}
/* 80121004-801211C0 11B944 01BC+00 1/0 0/0 0/0 .text setEffectSumouParam__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setEffectSumouParam() {
nofralloc
#include "asm/d/a/d_a_alink/setEffectSumouParam__9daAlink_cFv.s"
}
#pragma pop
/* 801211C0-80121214 11BB00 0054+00 46/46 0/0 0/0 .text setFootEffectProcType__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setFootEffectProcType(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setFootEffectProcType__9daAlink_cFi.s"
}
#pragma pop
/* 80121214-80121304 11BB54 00F0+00 1/1 0/0 0/0 .text setWolfFootOn__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setWolfFootOn(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setWolfFootOn__9daAlink_cFi.s"
}
#pragma pop
/* 80121304-80121388 11BC44 0084+00 1/1 0/0 0/0 .text setFootMark__9daAlink_cFP4cXyzUsi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setFootMark(cXyz* param_0, u16 param_1, int param_2) {
nofralloc
#include "asm/d/a/d_a_alink/setFootMark__9daAlink_cFP4cXyzUsi.s"
}
#pragma pop
/* 80121388-801221F0 11BCC8 0E68+00 1/1 0/0 0/0 .text setEffect__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setEffect__9daAlink_cFv.s"
}
#pragma pop
/* 801221F0-801225E8 11CB30 03F8+00 1/1 0/0 0/0 .text setSumouEffect__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setSumouEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setSumouEffect__9daAlink_cFv.s"
}
#pragma pop
/* 801225E8-80122654 11CF28 006C+00 1/1 0/0 0/0 .text setWaterfallEffect__9daAlink_cFPC4cXyzPUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setWaterfallEffect(cXyz const* param_0, u32* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/setWaterfallEffect__9daAlink_cFPC4cXyzPUl.s"
}
#pragma pop
/* 80122654-8012277C 11CF94 0128+00 1/1 0/0 0/0 .text setWaterfallEffect__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setWaterfallEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setWaterfallEffect__9daAlink_cFv.s"
}
#pragma pop
/* 8012277C-801228F4 11D0BC 0178+00 1/1 0/0 0/0 .text setMagneBootsEffect__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setMagneBootsEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setMagneBootsEffect__9daAlink_cFv.s"
}
#pragma pop
/* 801228F4-80122BBC 11D234 02C8+00 1/1 0/0 0/0 .text setSwordChargeEffect__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setSwordChargeEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setSwordChargeEffect__9daAlink_cFv.s"
}
#pragma pop
/* 80122BBC-80122F18 11D4FC 035C+00 1/1 0/0 0/0 .text setElecDamageEffect__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setElecDamageEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setElecDamageEffect__9daAlink_cFv.s"
}
#pragma pop
/* 80122F18-80122F78 11D858 0060+00 1/1 0/0 0/0 .text clearCutTurnEffectID__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::clearCutTurnEffectID() {
nofralloc
#include "asm/d/a/d_a_alink/clearCutTurnEffectID__9daAlink_cFv.s"
}
#pragma pop
/* 80122F78-801233A4 11D8B8 042C+00 1/1 0/0 0/0 .text setCutTurnEffect__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setCutTurnEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setCutTurnEffect__9daAlink_cFv.s"
}
#pragma pop
/* 801233A4-80123434 11DCE4 0090+00 1/1 0/0 0/0 .text setHorseCutTurnEffect__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setHorseCutTurnEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setHorseCutTurnEffect__9daAlink_cFv.s"
}
#pragma pop
/* 80123434-801236BC 11DD74 0288+00 1/1 0/0 0/0 .text setCutLargeJumpLandEffect__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setCutLargeJumpLandEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setCutLargeJumpLandEffect__9daAlink_cFv.s"
}
#pragma pop
/* 801236BC-801237A8 11DFFC 00EC+00 1/1 0/0 0/0 .text setBootsLightEffect__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setBootsLightEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setBootsLightEffect__9daAlink_cFv.s"
}
#pragma pop
/* 801237A8-801238FC 11E0E8 0154+00 1/1 0/0 0/0 .text setLightningSwordEffect__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setLightningSwordEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setLightningSwordEffect__9daAlink_cFv.s"
}
#pragma pop
/* 801238FC-801239B0 11E23C 00B4+00 1/1 0/0 0/0 .text setWolfRollAttackEffect__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setWolfRollAttackEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setWolfRollAttackEffect__9daAlink_cFv.s"
}
#pragma pop
/* 801239B0-80123BF0 11E2F0 0240+00 1/1 0/0 0/0 .text setWolfDigEffect__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setWolfDigEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setWolfDigEffect__9daAlink_cFv.s"
}
#pragma pop
/* 80123BF0-80123C8C 11E530 009C+00 2/2 0/0 0/0 .text
* setWolfSwimEndEffect__9daAlink_cFPP14JPABaseEmitterPP14JPABaseEmitter */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setWolfSwimEndEffect(JPABaseEmitter** param_0, JPABaseEmitter** param_1) {
nofralloc
#include "asm/d/a/d_a_alink/setWolfSwimEndEffect__9daAlink_cFPP14JPABaseEmitterPP14JPABaseEmitter.s"
}
#pragma pop
/* 80123C8C-80123D88 11E5CC 00FC+00 1/1 0/0 0/0 .text setWolfLockAttackEffect__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setWolfLockAttackEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setWolfLockAttackEffect__9daAlink_cFv.s"
}
#pragma pop
/* 80123D88-80123ED0 11E6C8 0148+00 1/1 0/0 0/0 .text setWolfJumpAttackEffect__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setWolfJumpAttackEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setWolfJumpAttackEffect__9daAlink_cFv.s"
}
#pragma pop
/* 80123ED0-80124144 11E810 0274+00 2/2 0/0 0/0 .text
* setWolfBarrierHitEffect__9daAlink_cFR11dBgS_LinChk */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setWolfBarrierHitEffect(dBgS_LinChk& param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setWolfBarrierHitEffect__9daAlink_cFR11dBgS_LinChk.s"
}
#pragma pop
/* 80124144-801241E0 11EA84 009C+00 9/9 0/0 0/0 .text setCutWaterDropEffect__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setCutWaterDropEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setCutWaterDropEffect__9daAlink_cFv.s"
}
#pragma pop
/* 801241E0-801244E4 11EB20 0304+00 1/1 0/0 0/0 .text setWaterDropEffect__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setWaterDropEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setWaterDropEffect__9daAlink_cFv.s"
}
#pragma pop
/* 801244E4-801245EC 11EE24 0108+00 1/1 0/0 0/0 .text setSwordUpColorEffect__9daAlink_cFv
*/
// matches with literals
#ifdef NONMATCHING
void daAlink_c::setSwordUpColorEffect() {
f32 max_intensity;
if (mSwordUpTimer != 0) {
max_intensity = 1.0f;
} else {
max_intensity = 0.0f;
}
cLib_chaseF(&mSwordUpColorIntensity, max_intensity, 0.1f);
for (int i = 0; i < 2; i++) {
field_0x32b0[i].mColor.r = mSwordUpColorIntensity * swordUpColor[i].r;
field_0x32b0[i].mColor.g = mSwordUpColorIntensity * swordUpColor[i].g;
field_0x32b0[i].mColor.b = mSwordUpColorIntensity * swordUpColor[i].b;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setSwordUpColorEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setSwordUpColorEffect__9daAlink_cFv.s"
}
#pragma pop
#endif
/* 801245EC-80124738 11EF2C 014C+00 1/1 0/0 0/0 .text setSwordCutSplash__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setSwordCutSplash() {
nofralloc
#include "asm/d/a/d_a_alink/setSwordCutSplash__9daAlink_cFv.s"
}
#pragma pop
/* 80124738-801247A8 11F078 0070+00 1/1 0/0 0/0 .text setMetamorphoseEffectStartLink__9daAlink_cFv
*/
void daAlink_c::setMetamorphoseEffectStartLink() {
setEmitter(&field_0x31f8, 0x24F, &field_0x37c8, NULL);
setEmitter(&field_0x31fc, 0x250, &field_0x37c8, NULL);
setEmitter(&field_0x3200, 0x6E8, &cXyz::Zero, NULL);
}
/* 801247A8-801248A8 11F0E8 0100+00 1/1 0/0 0/0 .text setMetamorphoseEffect__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setMetamorphoseEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setMetamorphoseEffect__9daAlink_cFv.s"
}
#pragma pop
/* 801248A8-80124A2C 11F1E8 0184+00 1/1 0/0 0/0 .text setRunSplash__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setRunSplash() {
nofralloc
#include "asm/d/a/d_a_alink/setRunSplash__9daAlink_cFv.s"
}
#pragma pop
/* 80124A2C-80124B68 11F36C 013C+00 1/0 0/0 0/0 .text
* execute__29dAlink_bottleWaterPcallBack_cFP14JPABaseEmitterP15JPABaseParticle */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void execute__29dAlink_bottleWaterPcallBack_cFP14JPABaseEmitterP15JPABaseParticle() {
// asm void dAlink_bottleWaterPcallBack_c::execute(JPABaseEmitter* param_0, JPABaseParticle*
// param_1) {
nofralloc
#include "asm/d/a/d_a_alink/execute__29dAlink_bottleWaterPcallBack_cFP14JPABaseEmitterP15JPABaseParticle.s"
}
#pragma pop
/* 80124B68-80124BA4 11F4A8 003C+00 2/2 0/0 0/0 .text resetFairyEffect__9daAlink_cFv */
void daAlink_c::resetFairyEffect() {
stopDrawParticle(field_0x3258);
stopDrawParticle(field_0x325c);
}
/* 80124BA4-80124E28 11F4E4 0284+00 1/1 0/0 0/0 .text setBottleEffect__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setBottleEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setBottleEffect__9daAlink_cFv.s"
}
#pragma pop
/* 80124E28-80124EA8 11F768 0080+00 2/2 0/0 0/0 .text clearFirePointDamageEffect__9daAlink_cFi */
void daAlink_c::clearFirePointDamageEffect(int i) {
firePointEff_c* fire_eff = &field_0x32d8[i];
if (fire_eff->field_0x0 != 0) {
stopDrawParticle(fire_eff->field_0x4);
stopDrawParticle(fire_eff->field_0x8);
}
fire_eff->field_0x0 = 0;
fire_eff->field_0x24 = cXyz::Zero;
}
/* 80124EA8-80124FA4 11F7E8 00FC+00 1/1 0/0 0/0 .text initFirePointDamageEffectAll__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::initFirePointDamageEffectAll() {
nofralloc
#include "asm/d/a/d_a_alink/initFirePointDamageEffectAll__9daAlink_cFv.s"
}
#pragma pop
/* 80124FA4-80125128 11F8E4 0184+00 1/1 0/0 0/0 .text
* initFirePointDamageEffect__9daAlink_cFPC4cXyzP12dCcD_GObjInf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::initFirePointDamageEffect(cXyz const* param_0, dCcD_GObjInf* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/initFirePointDamageEffect__9daAlink_cFPC4cXyzP12dCcD_GObjInf.s"
}
#pragma pop
/* 80125128-80125338 11FA68 0210+00 1/1 0/0 0/0 .text setFirePointDamageEffect__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setFirePointDamageEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setFirePointDamageEffect__9daAlink_cFv.s"
}
#pragma pop
/* 80125338-80125524 11FC78 01EC+00 1/1 0/0 0/0 .text setFreezeEffect__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setFreezeEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setFreezeEffect__9daAlink_cFv.s"
}
#pragma pop
/* 80125524-801255BC 11FE64 0098+00 1/1 0/0 0/0 .text setWoodShieldBurnEffect__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setWoodShieldBurnEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setWoodShieldBurnEffect__9daAlink_cFv.s"
}
#pragma pop
/* 801255BC-80125628 11FEFC 006C+00 3/3 0/0 0/0 .text clearWoodShieldBurnEffect__9daAlink_cFv */
#ifdef NONMATCHING
void daAlink_c::clearWoodShieldBurnEffect() {
if (field_0x2fcb != 0) {
for (int i = 0; i < 2; i++) {
stopDrawParticle(field_0x3260[i].field_0x0);
}
field_0x2fcb = 0;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::clearWoodShieldBurnEffect() {
nofralloc
#include "asm/d/a/d_a_alink/clearWoodShieldBurnEffect__9daAlink_cFv.s"
}
#pragma pop
#endif
/* 80125628-801256EC 11FF68 00C4+00 1/1 0/0 0/0 .text setWoodShieldBurnOutEffect__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setWoodShieldBurnOutEffect() {
nofralloc
#include "asm/d/a/d_a_alink/setWoodShieldBurnOutEffect__9daAlink_cFv.s"
}
#pragma pop
/* 801256EC-80125778 12002C 008C+00 2/2 0/0 0/0 .text
* initBlur__14daAlink_blur_cFfiPC4cXyzPC4cXyzPC4cXyz */
void daAlink_blur_c::initBlur(f32 param_0, int param_1, cXyz const* param_2, cXyz const* param_3,
cXyz const* param_4) {
field_0x24 = param_0;
field_0x1c = param_1;
field_0x2c = *param_4;
field_0x38[0] = *param_2;
field_0x308[0] = *param_3;
field_0x38[1] = field_0x38[0];
field_0x308[1] = field_0x308[0];
field_0x14 = 0;
}
/* 80125778-8012589C 1200B8 0124+00 1/1 0/0 0/0 .text
* setBezierPos__FPC4cXyzPC4cXyzPC4cXyzPC4cXyzfP4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void setBezierPos(cXyz const* param_0, cXyz const* param_1, cXyz const* param_2,
cXyz const* param_3, f32 param_4, cXyz* param_5) {
nofralloc
#include "asm/d/a/d_a_alink/setBezierPos__FPC4cXyzPC4cXyzPC4cXyzPC4cXyzfP4cXyz.s"
}
#pragma pop
/* 8012589C-80125B0C 1201DC 0270+00 1/1 0/0 0/0 .text
* copyBlur__14daAlink_blur_cFPC4cXyzPC4cXyzPC4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_blur_c::copyBlur(cXyz const* param_0, cXyz const* param_1, cXyz const* param_2) {
nofralloc
#include "asm/d/a/d_a_alink/copyBlur__14daAlink_blur_cFPC4cXyzPC4cXyzPC4cXyz.s"
}
#pragma pop
/* 80125B0C-80125BF4 12044C 00E8+00 1/1 0/0 0/0 .text traceBlur__14daAlink_blur_cFPC4cXyzPC4cXyzs
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_blur_c::traceBlur(cXyz const* param_0, cXyz const* param_1, s16 param_2) {
nofralloc
#include "asm/d/a/d_a_alink/traceBlur__14daAlink_blur_cFPC4cXyzPC4cXyzs.s"
}
#pragma pop
/* ############################################################################################## */
/* 804256CC-804256EC 0523EC 0020+00 1/1 0/0 0/0 .bss texObj$42524 */
static u8 texObj[32];
/* 804506A4-804506A8 000124 0004+00 1/1 0/0 0/0 .sdata nColor0$42525 */
SECTION_SDATA static u8 nColor0[4] = {
0xFF,
0xFF,
0xFF,
0x14,
};
/* 80125BF4-80125F14 120534 0320+00 1/0 0/0 0/0 .text draw__14daAlink_blur_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void draw__14daAlink_blur_cFv() {
// asm void daAlink_blur_c::draw() {
nofralloc
#include "asm/d/a/d_a_alink/draw__14daAlink_blur_cFv.s"
}
#pragma pop
/* 80125F14-80126350 120854 043C+00 1/1 0/0 0/0 .text create__20daAlink_lockCursor_cFv */
BOOL daAlink_lockCursor_c::create() {
JKRArchive* arc = dComIfG_getObjectResInfo(l_arcName)->getArchive();
f32 tmp = FLOAT_LABEL(lit_6108);
field_0x2c = tmp;
field_0x4 = false;
field_0x30 = tmp;
mScrn = new J2DScreen();
if (mScrn == NULL) {
return false;
}
mScrn->setPriority("zelda_v_cursor_new_yellow.blo", 0x100000, arc);
dPaneClass_showNullPane(mScrn);
void* tmpData = JKRFileLoader::getGlbResource("zelda_v_cursor_new_yellow.bpk", arc);
field_0x24 = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(tmpData);
if (field_0x24 == NULL) {
return false;
}
tmpData = JKRFileLoader::getGlbResource("zelda_v_cursor_new_yellow.bck", arc);
field_0x28 = (J2DAnmTransformKey*)J2DAnmLoaderDataBase::load(tmpData);
if (field_0x28 == NULL) {
return false;
}
tmpData = JKRFileLoader::getGlbResource("zelda_v_cursor_new_yellow_02.brk", arc);
field_0x1c = (J2DAnmTevRegKey*)J2DAnmLoaderDataBase::load(tmpData);
if (field_0x1c == NULL) {
return false;
}
tmpData = JKRFileLoader::getGlbResource("zelda_v_cursor_new_yellow.brk", arc);
field_0x20 = (J2DAnmTevRegKey*)J2DAnmLoaderDataBase::load(tmpData);
if (field_0x20 == NULL) {
return false;
}
field_0xc = mScrn->search('n_all');
mCursor0 = mScrn->search('cursor0');
mCursor1 = mScrn->search('cursor1');
mCursor2 = mScrn->search('cursor2');
field_0x28->searchUpdateMaterialID(mScrn);
field_0xc->setAnimation(field_0x28);
mCursor0->setAnimation(field_0x28);
mCursor1->setAnimation(field_0x28);
mCursor2->setAnimation(field_0x28);
field_0x28->setFrame(FLOAT_LABEL(lit_6108));
field_0x24->searchUpdateMaterialID(mScrn);
mCursor0->setAnimation(field_0x24);
mCursor1->setAnimation(field_0x24);
mCursor2->setAnimation(field_0x24);
mScrn->search('flash')->setAnimation(field_0x24);
field_0x24->setFrame(FLOAT_LABEL(lit_6108));
field_0x1c->searchUpdateMaterialID(mScrn);
field_0x20->searchUpdateMaterialID(mScrn);
mCursor0->setAnimation(field_0x1c);
mCursor1->setAnimation(field_0x1c);
mCursor2->setAnimation(field_0x1c);
mCursor0->setAnimation(field_0x20);
mCursor1->setAnimation(field_0x20);
mCursor2->setAnimation(field_0x20);
f32 tmp2 = FLOAT_LABEL(lit_6108);
field_0x1c->setFrame(tmp2);
field_0x20->setFrame(tmp2);
mScrn->animation();
mScrn->setUserInfo('n_43');
field_0xc->setUserInfo(0x20);
return true;
}
/* 80126350-80126354 120C90 0004+00 0/0 4/0 0/0 .text setAnimation__7J2DPaneFP15J2DAnmTevRegKey */
// void J2DPane::setAnimation(J2DAnmTevRegKey* param_0) {
extern "C" void setAnimation__7J2DPaneFP15J2DAnmTevRegKey() {
/* empty function */
}
/* 80126354-80126358 120C94 0004+00 0/0 4/0 0/0 .text setAnimation__7J2DPaneFP11J2DAnmColor */
// void J2DPane::setAnimation(J2DAnmColor* param_0) {
extern "C" void setAnimation__7J2DPaneFP11J2DAnmColor() {
/* empty function */
}
/* 80126358-80126424 120C98 00CC+00 1/1 0/0 0/0 .text update__20daAlink_lockCursor_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_lockCursor_c::update() {
nofralloc
#include "asm/d/a/d_a_alink/update__20daAlink_lockCursor_cFv.s"
}
#pragma pop
/* 80126424-80126650 120D64 022C+00 1/0 0/0 0/0 .text draw__20daAlink_lockCursor_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void draw__20daAlink_lockCursor_cFv() {
// asm void daAlink_lockCursor_c::draw() {
nofralloc
#include "asm/d/a/d_a_alink/draw__20daAlink_lockCursor_cFv.s"
}
#pragma pop
/* 80126650-801266C0 120F90 0070+00 1/1 0/0 0/0 .text create__15daAlink_sight_cFv */
bool daAlink_sight_c::create() {
if (!mLockCursor.create()) {
return false;
}
ResTIMG* data = (ResTIMG*)dComIfG_getObjectRes(l_arcName, daAlink_c::getSightBti());
setSightImage(data);
return true;
}
/* 801266C0-80126710 121000 0050+00 1/0 0/0 0/0 .text draw__15daAlink_sight_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void draw__15daAlink_sight_cFv() {
// asm void daAlink_sight_c::draw() {
nofralloc
#include "asm/d/a/d_a_alink/draw__15daAlink_sight_cFv.s"
}
#pragma pop
/* 80126710-80126740 121050 0030+00 2/2 0/0 0/0 .text onLockFlg__15daAlink_sight_cFv */
// matches with literals
#ifdef NONMATCHING
void daAlink_sight_c::onLockFlg() {
if (mLockFlag) {
return;
}
mLockFlag = true;
mLockCursor.initFrame();
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_sight_c::onLockFlg() {
nofralloc
#include "asm/d/a/d_a_alink/onLockFlg__15daAlink_sight_cFv.s"
}
#pragma pop
#endif
+920
View File
@@ -0,0 +1,920 @@
/* 800E3830-800E3858 0DE170 0028+00 2/2 0/0 0/0 .text daAlink_checkLightBallA__FP10fopAc_ac_c */
static bool daAlink_checkLightBallA(fopAc_ac_c* p_actor) {
if (fopAcM_GetName(p_actor) == PROC_Obj_Carry &&
static_cast<daObjCarry_c*>(p_actor)->getType() == daObjCarry_c::TYPE_BALL_S) {
return true;
}
return false;
}
/* 800E3858-800E3880 0DE198 0028+00 2/2 0/0 0/0 .text daAlink_checkLightBallB__FP10fopAc_ac_c */
static bool daAlink_checkLightBallB(fopAc_ac_c* p_actor) {
if (fopAcM_GetName(p_actor) == PROC_Obj_Carry &&
static_cast<daObjCarry_c*>(p_actor)->getType() == daObjCarry_c::TYPE_BALL_S_2) {
return true;
}
return false;
}
/* 800E3880-800E38EC 0DE1C0 006C+00 1/1 0/0 0/0 .text daAlink_searchLightBall__FP10fopAc_ac_cPv */
static fopAc_ac_c* daAlink_searchLightBall(fopAc_ac_c* p_actor, void* param_1) {
if ((daPy_py_c::checkCarryStartLightBallA() && daAlink_checkLightBallA(p_actor)) ||
(daPy_py_c::checkCarryStartLightBallB() && daAlink_checkLightBallB(p_actor))) {
return p_actor;
}
return NULL;
}
/* 800E38EC-800E3994 0DE22C 00A8+00 1/1 0/0 0/0 .text checkGrabLineCheck__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkGrabLineCheck() {
nofralloc
#include "asm/d/a/d_a_alink/checkGrabLineCheck__9daAlink_cFv.s"
}
#pragma pop
/* 800E3994-800E3A14 0DE2D4 0080+00 1/0 0/0 0/0 .text
* setGrabCollisionOffset__9daAlink_cFffP13cBgS_PolyInfo */
// matches with literals
#ifdef NONMATCHING
void daAlink_c::setGrabCollisionOffset(f32 param_0, f32 param_1, cBgS_PolyInfo* param_2) {
if (param_2 != NULL) {
mPolyInfo4.SetPolyInfo(*param_2);
} else {
mPolyInfo4.ClearPi();
}
field_0x342c = param_0 * 0.8f;
field_0x3430 = param_1 * 0.8f;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setGrabCollisionOffset(f32 param_0, f32 param_1, cBgS_PolyInfo* param_2) {
nofralloc
#include "asm/d/a/d_a_alink/setGrabCollisionOffset__9daAlink_cFffP13cBgS_PolyInfo.s"
}
#pragma pop
#endif
/* 800E3A14-800E3A9C 0DE354 0088+00 1/0 0/0 0/0 .text exchangeGrabActor__9daAlink_cFP10fopAc_ac_c
*/
bool daAlink_c::exchangeGrabActor(fopAc_ac_c* p_actor) {
fopAc_ac_c* actor = mGrabItemAcKeep.getActor();
if (actor == NULL) {
return false;
}
fopAcM_cancelCarryNow(actor);
actor->mCollisionRot.z = 0;
actor->mCollisionRot.x = 0;
if (checkGrabCarryActor()) {
actor->mCurrent.mAngle.z = 0;
actor->mCurrent.mAngle.x = 0;
}
setGrabItemActor(p_actor);
return true;
}
/* 800E3A9C-800E3BCC 0DE3DC 0130+00 1/0 0/0 0/0 .text setForceGrab__9daAlink_cFP10fopAc_ac_cii */
bool daAlink_c::setForceGrab(fopAc_ac_c* p_actor, int param_1, int param_2) {
if (((param_1 != 0 || !checkEventRun()) && !i_checkWolf()) &&
(((mEquipItem == NO_ITEM || (param_2 != 0 && checkHookshotItem(mEquipItem)))) &&
((i_checkModeFlg(MODE_UNK_10000000) &&
(checkHorseNoUpperAnime() || checkHorseTurnAnime())) ||
param_2 != 0 && checkHookshotAnime()))) {
deleteEquipItem(1, 0);
setGrabItemActor(p_actor);
field_0x33e4 = lit_8785;
setGrabUpperAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
return true;
}
return false;
}
/* 800E3BCC-800E3C1C 0DE50C 0050+00 2/2 0/0 0/0 .text getGrabThrowRate__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getGrabThrowRate() {
nofralloc
#include "asm/d/a/d_a_alink/getGrabThrowRate__9daAlink_cFv.s"
}
#pragma pop
/* 800E3C1C-800E3C6C 0DE55C 0050+00 3/3 0/0 0/0 .text checkGrabThrowAnime__9daAlink_cCFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkGrabThrowAnime() const {
nofralloc
#include "asm/d/a/d_a_alink/checkGrabThrowAnime__9daAlink_cCFv.s"
}
#pragma pop
/* 800E3C6C-800E3C9C 0DE5AC 0030+00 25/25 0/0 0/0 .text checkGrabAnime__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkGrabAnime() const {
nofralloc
#include "asm/d/a/d_a_alink/checkGrabAnime__9daAlink_cCFv.s"
}
#pragma pop
/* 800E3C9C-800E3CF4 0DE5DC 0058+00 5/5 0/0 0/0 .text checkGrabAnimeAndThrow__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkGrabAnimeAndThrow() const {
nofralloc
#include "asm/d/a/d_a_alink/checkGrabAnimeAndThrow__9daAlink_cCFv.s"
}
#pragma pop
/* 800E3CF4-800E3D1C 0DE634 0028+00 10/10 0/0 0/0 .text checkGrabCarryActor__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL daAlink_c::checkGrabCarryActor() {
nofralloc
#include "asm/d/a/d_a_alink/checkGrabCarryActor__9daAlink_cFv.s"
}
#pragma pop
/* 800E3D1C-800E3D6C 0DE65C 0050+00 1/1 0/0 0/0 .text checkGrabSlowMoveActor__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkGrabSlowMoveActor() {
nofralloc
#include "asm/d/a/d_a_alink/checkGrabSlowMoveActor__9daAlink_cFv.s"
}
#pragma pop
/* 800E3D6C-800E3D94 0DE6AC 0028+00 1/1 0/0 0/0 .text checkGrabHeavyActor__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkGrabHeavyActor() {
nofralloc
#include "asm/d/a/d_a_alink/checkGrabHeavyActor__9daAlink_cFv.s"
}
#pragma pop
/* 800E3D94-800E3DBC 0DE6D4 0028+00 2/2 0/0 0/0 .text checkGrabSideActor__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkGrabSideActor() {
nofralloc
#include "asm/d/a/d_a_alink/checkGrabSideActor__9daAlink_cFv.s"
}
#pragma pop
/* 800E3DBC-800E3F20 0DE6FC 0164+00 5/5 0/0 0/0 .text setGrabUpperAnime__9daAlink_cFf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setGrabUpperAnime(f32 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setGrabUpperAnime__9daAlink_cFf.s"
}
#pragma pop
/* 800E3F20-800E3F50 0DE860 0030+00 8/8 0/0 0/0 .text checkGrabRooster__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkGrabRooster() {
nofralloc
#include "asm/d/a/d_a_alink/checkGrabRooster__9daAlink_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80425628-80425634 052348 000C+00 0/1 0/0 0/0 .bss @4421 */
#pragma push
#pragma force_active on
static u8 lit_4421[12];
#pragma pop
/* 80425634-80425640 052354 000C+00 2/3 0/0 0/0 .bss l_wolfRopeBaseAnime */
static f32 l_wolfRopeBaseAnime[3];
/* 80425640-8042564C 052360 000C+00 0/1 0/0 0/0 .bss @14255 */
#pragma push
#pragma force_active on
static u8 lit_14255[12];
#pragma pop
/* 8042564C-80425658 05236C 000C+00 0/1 0/0 0/0 .bss grabCarryOffset0$14254 */
#pragma push
#pragma force_active on
static u8 grabCarryOffset0[12];
#pragma pop
/* 80425658-80425664 052378 000C+00 0/1 0/0 0/0 .bss @14259 */
#pragma push
#pragma force_active on
static u8 lit_14259[12];
#pragma pop
/* 80425664-80425670 052384 000C+00 0/1 0/0 0/0 .bss grabCarryOffset1$14258 */
#pragma push
#pragma force_active on
static u8 grabCarryOffset1[12];
#pragma pop
/* 80425670-8042567C 052390 000C+00 0/1 0/0 0/0 .bss @14263 */
#pragma push
#pragma force_active on
static u8 lit_14263[12];
#pragma pop
/* 8042567C-80425688 05239C 000C+00 0/1 0/0 0/0 .bss grabCarryOffset2$14262 */
#pragma push
#pragma force_active on
static u8 grabCarryOffset2[12];
#pragma pop
/* 80425688-80425694 0523A8 000C+00 0/1 0/0 0/0 .bss @14267 */
#pragma push
#pragma force_active on
static u8 lit_14267[12];
#pragma pop
/* 80425694-804256A0 0523B4 000C+00 0/1 0/0 0/0 .bss grabCarryOffset3$14266 */
#pragma push
#pragma force_active on
static u8 grabCarryOffset3[12];
#pragma pop
/* 800E3F50-800E4BD4 0DE890 0C84+00 1/1 0/0 0/0 .text setGrabItemPos__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setGrabItemPos() {
nofralloc
#include "asm/d/a/d_a_alink/setGrabItemPos__9daAlink_cFv.s"
}
#pragma pop
/* 800E4BD4-800E4DEC 0DF514 0218+00 16/16 0/0 0/0 .text freeGrabItem__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::freeGrabItem() {
nofralloc
#include "asm/d/a/d_a_alink/freeGrabItem__9daAlink_cFv.s"
}
#pragma pop
/* 800E4DEC-800E4FA8 0DF72C 01BC+00 1/1 0/0 0/0 .text setGrabUpperSpeedRate__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setGrabUpperSpeedRate() {
nofralloc
#include "asm/d/a/d_a_alink/setGrabUpperSpeedRate__9daAlink_cFv.s"
}
#pragma pop
/* 800E4FA8-800E5150 0DF8E8 01A8+00 7/7 0/0 0/0 .text setCarryArmAngle__9daAlink_cFff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setCarryArmAngle(f32 param_0, f32 param_1) {
nofralloc
#include "asm/d/a/d_a_alink/setCarryArmAngle__9daAlink_cFff.s"
}
#pragma pop
/* 800E5150-800E5170 0DFA90 0020+00 1/1 0/0 0/0 .text checkGrabNotThrow__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkGrabNotThrow() {
nofralloc
#include "asm/d/a/d_a_alink/checkGrabNotThrow__9daAlink_cFv.s"
}
#pragma pop
/* 800E5170-800E53AC 0DFAB0 023C+00 1/1 0/0 0/0 .text checkNextActionGrab__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkNextActionGrab() {
nofralloc
#include "asm/d/a/d_a_alink/checkNextActionGrab__9daAlink_cFv.s"
}
#pragma pop
/* 800E53AC-800E53F8 0DFCEC 004C+00 2/2 0/0 0/0 .text initGrabNextMode__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::initGrabNextMode() {
nofralloc
#include "asm/d/a/d_a_alink/initGrabNextMode__9daAlink_cFv.s"
}
#pragma pop
/* 800E53F8-800E57AC 0DFD38 03B4+00 3/3 0/0 0/0 .text setGrabItemThrow__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setGrabItemThrow() {
nofralloc
#include "asm/d/a/d_a_alink/setGrabItemThrow__9daAlink_cFv.s"
}
#pragma pop
/* 800E57AC-800E5830 0E00EC 0084+00 2/2 0/0 0/0 .text checkUpperGrabItemThrow__9daAlink_cFf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkUpperGrabItemThrow(f32 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkUpperGrabItemThrow__9daAlink_cFf.s"
}
#pragma pop
/* 800E5830-800E5B6C 0E0170 033C+00 2/2 0/0 0/0 .text
* putObjLineCheck__9daAlink_cFR11dBgS_LinChkP4cXyzP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::putObjLineCheck(dBgS_LinChk& param_0, cXyz* param_1, fopAc_ac_c* param_2) {
nofralloc
#include "asm/d/a/d_a_alink/putObjLineCheck__9daAlink_cFR11dBgS_LinChkP4cXyzP10fopAc_ac_c.s"
}
#pragma pop
/* 800E5B6C-800E5BB4 0E04AC 0048+00 3/3 0/0 0/0 .text grabLineCheck__9daAlink_cFP4cXyzP4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::grabLineCheck(cXyz* param_0, cXyz* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/grabLineCheck__9daAlink_cFP4cXyzP4cXyz.s"
}
#pragma pop
/* 800E5BB4-800E5CBC 0E04F4 0108+00 6/6 0/0 0/0 .text setGrabItemActor__9daAlink_cFP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setGrabItemActor(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setGrabItemActor__9daAlink_cFP10fopAc_ac_c.s"
}
#pragma pop
/* 800E5CBC-800E5EC8 0E05FC 020C+00 2/2 0/0 0/0 .text procGrabReadyInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabReadyInit() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabReadyInit__9daAlink_cFv.s"
}
#pragma pop
/* 800E5EC8-800E5FD0 0E0808 0108+00 1/0 0/0 0/0 .text procGrabReady__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabReady() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabReady__9daAlink_cFv.s"
}
#pragma pop
/* 800E5FD0-800E6230 0E0910 0260+00 1/1 0/0 0/0 .text procGrabUpInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabUpInit() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabUpInit__9daAlink_cFv.s"
}
#pragma pop
/* 800E6230-800E637C 0E0B70 014C+00 1/0 0/0 0/0 .text procGrabUp__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabUp() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabUp__9daAlink_cFv.s"
}
#pragma pop
/* 800E637C-800E63F0 0E0CBC 0074+00 1/0 0/0 0/0 .text procGrabMiss__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabMiss() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabMiss__9daAlink_cFv.s"
}
#pragma pop
/* 800E63F0-800E65F8 0E0D30 0208+00 1/1 0/0 0/0 .text procGrabThrowInit__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabThrowInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procGrabThrowInit__9daAlink_cFi.s"
}
#pragma pop
/* 800E65F8-800E672C 0E0F38 0134+00 1/0 0/0 0/0 .text procGrabThrow__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabThrow() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabThrow__9daAlink_cFv.s"
}
#pragma pop
/* 800E672C-800E6914 0E106C 01E8+00 2/2 0/0 0/0 .text procGrabPutInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabPutInit() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabPutInit__9daAlink_cFv.s"
}
#pragma pop
/* 800E6914-800E6A9C 0E1254 0188+00 1/0 0/0 0/0 .text procGrabPut__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabPut() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabPut__9daAlink_cFv.s"
}
#pragma pop
/* 800E6A9C-800E6C34 0E13DC 0198+00 2/2 0/0 0/0 .text procGrabWaitInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabWaitInit() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabWaitInit__9daAlink_cFv.s"
}
#pragma pop
/* 800E6C34-800E6D6C 0E1574 0138+00 1/0 0/0 0/0 .text procGrabWait__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabWait() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabWait__9daAlink_cFv.s"
}
#pragma pop
/* 800E6D6C-800E6E0C 0E16AC 00A0+00 2/2 0/0 0/0 .text procGrabReboundInit__9daAlink_cFi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabReboundInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procGrabReboundInit__9daAlink_cFi.s"
}
#pragma pop
/* 800E6E0C-800E6EEC 0E174C 00E0+00 1/0 0/0 0/0 .text procGrabRebound__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabRebound() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabRebound__9daAlink_cFv.s"
}
#pragma pop
/* 800E6EEC-800E6FE0 0E182C 00F4+00 2/2 0/0 0/0 .text procGrabStandInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabStandInit() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabStandInit__9daAlink_cFv.s"
}
#pragma pop
/* 800E6FE0-800E70C0 0E1920 00E0+00 1/0 0/0 0/0 .text procGrabStand__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabStand() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabStand__9daAlink_cFv.s"
}
#pragma pop
/* 800E70C0-800E70FC 0E1A00 003C+00 1/1 0/0 0/0 .text
* checkInsectActorName__9daAlink_cFP10fopAc_ac_c */
bool daAlink_c::checkInsectActorName(fopAc_ac_c* insectActor) {
s16 insectName = fopAcM_GetName(insectActor);
for (int i = 0; i < 12; i++) {
if (insectName == l_insectNameList[i]) {
return true;
}
}
return false;
}
/* 800E70FC-800E71D4 0E1A3C 00D8+00 2/2 0/0 0/0 .text procInsectCatchInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procInsectCatchInit() {
nofralloc
#include "asm/d/a/d_a_alink/procInsectCatchInit__9daAlink_cFv.s"
}
#pragma pop
/* 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];
if (tmp->checkAnmEnd()) {
checkNextAction(0);
} else {
if (tmp->checkPass(field_0x3478)) {
fopAc_ac_c* tmp2 = field_0x280c.getActor();
if (tmp2 != NULL) {
fopAcM_setCarryNow(tmp2, 0);
}
}
}
return true;
}
/* 800E7254-800E7460 0E1B94 020C+00 2/2 0/0 0/0 .text procPickUpInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procPickUpInit() {
nofralloc
#include "asm/d/a/d_a_alink/procPickUpInit__9daAlink_cFv.s"
}
#pragma pop
/* 800E7460-800E75EC 0E1DA0 018C+00 1/0 0/0 0/0 .text procPickUp__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procPickUp() {
nofralloc
#include "asm/d/a/d_a_alink/procPickUp__9daAlink_cFv.s"
}
#pragma pop
/* 800E75EC-800E76E0 0E1F2C 00F4+00 3/3 0/0 0/0 .text procPickPutInit__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procPickPutInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procPickPutInit__9daAlink_cFi.s"
}
#pragma pop
/* 800E76E0-800E7894 0E2020 01B4+00 1/0 0/0 0/0 .text procPickPut__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procPickPut() {
nofralloc
#include "asm/d/a/d_a_alink/procPickPut__9daAlink_cFv.s"
}
#pragma pop
/* 800E7894-800E794C 0E21D4 00B8+00 2/2 0/0 0/0 .text checkSetChainPullAnime__9daAlink_cFs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkSetChainPullAnime(s16 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkSetChainPullAnime__9daAlink_cFs.s"
}
#pragma pop
/* 800E794C-800E7994 0E228C 0048+00 3/3 0/0 0/0 .text getChainStickAngleY__9daAlink_cCFs
*/
// one instruction off
#ifdef NONMATCHING
s16 daAlink_c::getChainStickAngleY(s16 param_0) const {
s16 tmp = field_0x2fe2 - param_0;
if (tmp >= 14336 && tmp < 32640) {
return param_0 + 32640;
} else if (tmp <= -14336 && tmp <= -32640) {
return field_0x2fe2;
}
return param_0 - 32640;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm s16 daAlink_c::getChainStickAngleY(s16 param_0) const {
nofralloc
#include "asm/d/a/d_a_alink/getChainStickAngleY__9daAlink_cCFs.s"
}
#pragma pop
#endif
/* 800E7994-800E79F8 0E22D4 0064+00 1/1 0/0 0/0 .text checkChainEmphasys__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkChainEmphasys() {
nofralloc
#include "asm/d/a/d_a_alink/checkChainEmphasys__9daAlink_cFv.s"
}
#pragma pop
/* 800E79F8-800E7AEC 0E2338 00F4+00 4/4 0/0 0/0 .text searchFmChainPos__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::searchFmChainPos() {
nofralloc
#include "asm/d/a/d_a_alink/searchFmChainPos__9daAlink_cFv.s"
}
#pragma pop
/* 800E7AEC-800E7BD0 0E242C 00E4+00 0/0 1/1 0/0 .text
* setFmChainPosFromOut__9daAlink_cFP10fopAc_ac_cP4cXyzi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setFmChainPosFromOut(fopAc_ac_c* param_0, cXyz* param_1, int param_2) {
nofralloc
#include "asm/d/a/d_a_alink/setFmChainPosFromOut__9daAlink_cFP10fopAc_ac_cP4cXyzi.s"
}
#pragma pop
/* 800E7BD0-800E7C30 0E2510 0060+00 1/0 0/0 0/0 .text checkChainBlockPushPull__9daAlink_cFv */
bool daAlink_c::checkChainBlockPushPull() {
if (i_checkFmChainGrabAnime()) {
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) {
return true;
}
}
}
return false;
}
/* 800E7C30-800E7CC0 0E2570 0090+00 2/2 0/0 0/0 .text procFmChainUpInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procFmChainUpInit() {
nofralloc
#include "asm/d/a/d_a_alink/procFmChainUpInit__9daAlink_cFv.s"
}
#pragma pop
/* 800E7CC0-800E7DD8 0E2600 0118+00 1/0 0/0 0/0 .text procFmChainUp__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procFmChainUp() {
nofralloc
#include "asm/d/a/d_a_alink/procFmChainUp__9daAlink_cFv.s"
}
#pragma pop
/* 800E7DD8-800E7E50 0E2718 0078+00 2/1 0/0 0/0 .text procFmChainStrongPullInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procFmChainStrongPullInit() {
nofralloc
#include "asm/d/a/d_a_alink/procFmChainStrongPullInit__9daAlink_cFv.s"
}
#pragma pop
/* 800E7E50-800E7ED0 0E2790 0080+00 1/0 0/0 0/0 .text procFmChainStrongPull__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procFmChainStrongPull() {
nofralloc
#include "asm/d/a/d_a_alink/procFmChainStrongPull__9daAlink_cFv.s"
}
#pragma pop
/* 800E7ED0-800E7EE4 0E2810 0014+00 9/9 0/0 0/0 .text setWallGrabStatus__9daAlink_cFUcUc
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setWallGrabStatus(u8 param_0, u8 param_1) {
nofralloc
#include "asm/d/a/d_a_alink/setWallGrabStatus__9daAlink_cFUcUc.s"
}
#pragma pop
/* 800E7EE4-800E7EF4 0E2824 0010+00 2/2 0/0 0/0 .text getWallGrabStatus__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getWallGrabStatus() {
nofralloc
#include "asm/d/a/d_a_alink/getWallGrabStatus__9daAlink_cFv.s"
}
#pragma pop
/* 800E7EF4-800E7F18 0E2834 0024+00 1/1 0/0 0/0 .text wallGrabTrigger__9daAlink_cFv */
void daAlink_c::wallGrabTrigger() {
itemTriggerCheck(BTN_R);
}
/* 800E7F18-800E7F3C 0E2858 0024+00 4/4 0/0 0/0 .text wallGrabButton__9daAlink_cFv */
void daAlink_c::wallGrabButton() {
itemButtonCheck(BTN_R);
}
/* 800E7F3C-800E80A4 0E287C 0168+00 4/4 0/0 0/0 .text
* setPushPullKeepData__9daAlink_cFQ29dBgW_Base13PushPullLabeli */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setPushPullKeepData(dBgW_Base::PushPullLabel param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/setPushPullKeepData__9daAlink_cFQ29dBgW_Base13PushPullLabeli.s"
}
#pragma pop
/* 800E80A4-800E8148 0E29E4 00A4+00 2/2 0/0 0/0 .text checkPushPullTurnBlock__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkPushPullTurnBlock() {
nofralloc
#include "asm/d/a/d_a_alink/checkPushPullTurnBlock__9daAlink_cFv.s"
}
#pragma pop
/* 800E8148-800E8298 0E2A88 0150+00 1/1 0/0 0/0 .text checkPullBehindWall__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkPullBehindWall() {
nofralloc
#include "asm/d/a/d_a_alink/checkPullBehindWall__9daAlink_cFv.s"
}
#pragma pop
/* 800E8298-800E82B0 0E2BD8 0018+00 3/3 0/0 0/0 .text offGoatStopGame__9daAlink_cFv */
void daAlink_c::offGoatStopGame() {
if (mSpecialMode != SMODE_GOAT_STOP) {
return;
} else {
mSpecialMode = 0;
}
}
/* 800E82B0-800E8314 0E2BF0 0064+00 4/4 0/0 0/0 .text
* checkGoatCatchActor__9daAlink_cFP10fopAc_ac_c */
#ifdef NONMATCHING
BOOL daAlink_c::checkGoatCatchActor(fopAc_ac_c* param_0) {
s16 name = fopAcM_GetName(param_0);
bool check = false;
if (name == 0x1b1 || name == 0x21) {
if (checkSpecialNpc(param_0) || name == 0x106) {
check = true;
}
}
return check;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL daAlink_c::checkGoatCatchActor(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkGoatCatchActor__9daAlink_cFP10fopAc_ac_c.s"
}
#pragma pop
#endif
/* 800E8314-800E8334 0E2C54 0020+00 2/2 0/0 0/0 .text getGoatCatchDistance2__9daAlink_cFv
*/
float daAlink_c::getGoatCatchDistance2() {
if (field_0x27f4->mBase.mProcName == 0x216) {
return lit_16066;
}
return lit_16067;
}
/* 800E8334-800E8354 0E2C74 0020+00 3/3 0/0 0/0 .text endPushPull__9daAlink_cFv */
void daAlink_c::endPushPull() {
checkWaitAction();
}
/* 800E8354-800E8428 0E2C94 00D4+00 2/2 0/0 0/0 .text getPushPullAnimeSpeed__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getPushPullAnimeSpeed() {
nofralloc
#include "asm/d/a/d_a_alink/getPushPullAnimeSpeed__9daAlink_cFv.s"
}
#pragma pop
/* 800E8428-800E857C 0E2D68 0154+00 4/4 0/0 0/0 .text procCoPushPullWaitInit__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoPushPullWaitInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCoPushPullWaitInit__9daAlink_cFi.s"
}
#pragma pop
/* 800E857C-800E875C 0E2EBC 01E0+00 1/0 0/0 0/0 .text procCoPushPullWait__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoPushPullWait() {
nofralloc
#include "asm/d/a/d_a_alink/procCoPushPullWait__9daAlink_cFv.s"
}
#pragma pop
/* 800E875C-800E89F0 0E309C 0294+00 2/2 0/0 0/0 .text procCoPushMoveInit__9daAlink_cFii
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoPushMoveInit(int param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/procCoPushMoveInit__9daAlink_cFii.s"
}
#pragma pop
/* 800E89F0-800E8D1C 0E3330 032C+00 1/0 0/0 0/0 .text procCoPushMove__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoPushMove() {
nofralloc
#include "asm/d/a/d_a_alink/procCoPushMove__9daAlink_cFv.s"
}
#pragma pop
/* 800E8D1C-800E8F44 0E365C 0228+00 2/2 0/0 0/0 .text procPullMoveInit__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procPullMoveInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procPullMoveInit__9daAlink_cFi.s"
}
#pragma pop
/* 800E8F44-800E91B0 0E3884 026C+00 1/0 0/0 0/0 .text procPullMove__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procPullMove() {
nofralloc
#include "asm/d/a/d_a_alink/procPullMove__9daAlink_cFv.s"
}
#pragma pop
+282
View File
@@ -0,0 +1,282 @@
/* 800DC548-800DC5A4 0D6E88 005C+00 13/13 0/0 0/0 .text checkEnemyGroup__9daAlink_cFP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL daAlink_c::checkEnemyGroup(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkEnemyGroup__9daAlink_cFP10fopAc_ac_c.s"
}
#pragma pop
/* 800DC5A4-800DC5DC 0D6EE4 0038+00 4/4 0/0 0/0 .text checkSpecialNpc__9daAlink_cFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL daAlink_c::checkSpecialNpc(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkSpecialNpc__9daAlink_cFP10fopAc_ac_c.s"
}
#pragma pop
/* 800DC5DC-800DC678 0D6F1C 009C+00 1/1 0/0 0/0 .text checkShieldAttackEmphasys__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkShieldAttackEmphasys() {
nofralloc
#include "asm/d/a/d_a_alink/checkShieldAttackEmphasys__9daAlink_cFv.s"
}
#pragma pop
/* 800DC678-800DC79C 0D6FB8 0124+00 5/5 0/0 0/0 .text checkGuardActionChange__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL daAlink_c::checkGuardActionChange() {
nofralloc
#include "asm/d/a/d_a_alink/checkGuardActionChange__9daAlink_cFv.s"
}
#pragma pop
/* 800DC79C-800DC8C4 0D70DC 0128+00 3/3 0/0 0/0 .text stickArrowIncrement__9daAlink_cFi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::stickArrowIncrement(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/stickArrowIncrement__9daAlink_cFi.s"
}
#pragma pop
/* 800DC8C4-800DCA2C 0D7204 0168+00 0/0 0/0 1/1 .text
* setArrowShieldActor__9daAlink_cFP10fopAc_ac_ci */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setArrowShieldActor(fopAc_ac_c* param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/setArrowShieldActor__9daAlink_cFP10fopAc_ac_ci.s"
}
#pragma pop
/* 800DCA2C-800DCA80 0D736C 0054+00 1/1 0/0 2/2 .text
* checkWoodShieldEquipNotIronBall__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkWoodShieldEquipNotIronBall() const {
nofralloc
#include "asm/d/a/d_a_alink/checkWoodShieldEquipNotIronBall__9daAlink_cCFv.s"
}
#pragma pop
/* 800DCA80-800DCD74 0D73C0 02F4+00 0/0 0/0 1/1 .text
* getArrowShieldOffset__9daAlink_cCFPC4cXyzPC5csXyzP4cXyzP4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getArrowShieldOffset(cXyz const* param_0, csXyz const* param_1, cXyz* param_2,
cXyz* param_3) const {
nofralloc
#include "asm/d/a/d_a_alink/getArrowShieldOffset__9daAlink_cCFPC4cXyzPC5csXyzP4cXyzP4cXyz.s"
}
#pragma pop
/* 800DCD74-800DCDF0 0D76B4 007C+00 0/0 0/0 2/2 .text
* setArrowShieldPos__9daAlink_cCFP4cXyzP5csXyzPC4cXyzPC4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setArrowShieldPos(cXyz* param_0, csXyz* param_1, cXyz const* param_2,
cXyz const* param_3) const {
nofralloc
#include "asm/d/a/d_a_alink/setArrowShieldPos__9daAlink_cCFP4cXyzP5csXyzPC4cXyzPC4cXyz.s"
}
#pragma pop
/* 800DCDF0-800DCE6C 0D7730 007C+00 17/17 0/0 0/0 .text checkUpperGuardAnime__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL daAlink_c::checkUpperGuardAnime() const {
nofralloc
#include "asm/d/a/d_a_alink/checkUpperGuardAnime__9daAlink_cCFv.s"
}
#pragma pop
/* 800DCE6C-800DCF04 0D77AC 0098+00 1/0 0/0 0/0 .text checkPlayerGuard__9daAlink_cCFv */
#ifdef NONMATCHING
BOOL daAlink_c::checkPlayerGuard() const {
bool ret = true;
bool bvar2 = true;
if (!i_checkSmallUpperGuardAnime()) {
bool bvar1 = false;
if (i_checkShieldGet() && checkHorseLieAnime()) {
bvar1 = true;
}
if (!bvar1) {
bvar2 = false;
}
}
if (!bvar2 && !checkUpperGuardAnime()) {
ret = false;
}
return ret;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL daAlink_c::checkPlayerGuard() const {
nofralloc
#include "asm/d/a/d_a_alink/checkPlayerGuard__9daAlink_cCFv.s"
}
#pragma pop
#endif
/* 800DCF04-800DCF64 0D7844 0060+00 5/5 0/0 0/0 .text checkPlayerGuardAndAttack__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkPlayerGuardAndAttack() const {
nofralloc
#include "asm/d/a/d_a_alink/checkPlayerGuardAndAttack__9daAlink_cCFv.s"
}
#pragma pop
/* 800DCF64-800DD008 0D78A4 00A4+00 2/2 0/0 0/0 .text checkGuardAccept__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkGuardAccept() {
nofralloc
#include "asm/d/a/d_a_alink/checkGuardAccept__9daAlink_cFv.s"
}
#pragma pop
/* 800DD008-800DD018 0D7948 0010+00 11/11 0/0 0/0 .text setUpperGuardAnime__9daAlink_cFf
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setUpperGuardAnime(f32 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setUpperGuardAnime__9daAlink_cFf.s"
}
#pragma pop
/* 800DD018-800DD114 0D7958 00FC+00 1/1 0/0 0/0 .text setShieldGuard__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setShieldGuard() {
nofralloc
#include "asm/d/a/d_a_alink/setShieldGuard__9daAlink_cFv.s"
}
#pragma pop
/* 800DD114-800DD1D4 0D7A54 00C0+00 1/1 0/0 0/0 .text setGuardSe__9daAlink_cFP12dCcD_GObjInf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setGuardSe(dCcD_GObjInf* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setGuardSe__9daAlink_cFP12dCcD_GObjInf.s"
}
#pragma pop
/* 800DD1D4-800DD3E4 0D7B14 0210+00 1/1 0/0 0/0 .text setSmallGuard__9daAlink_cFP12dCcD_GObjInf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setSmallGuard(dCcD_GObjInf* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setSmallGuard__9daAlink_cFP12dCcD_GObjInf.s"
}
#pragma pop
/* 800DD3E4-800DD894 0D7D24 04B0+00 1/1 0/0 0/0 .text
* procGuardSlipInit__9daAlink_cFiP12dCcD_GObjInf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGuardSlipInit(int param_0, dCcD_GObjInf* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/procGuardSlipInit__9daAlink_cFiP12dCcD_GObjInf.s"
}
#pragma pop
/* 800DD894-800DDA10 0D81D4 017C+00 1/0 0/0 0/0 .text procGuardSlip__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGuardSlip() {
nofralloc
#include "asm/d/a/d_a_alink/procGuardSlip__9daAlink_cFv.s"
}
#pragma pop
/* 800DDA10-800DDBA8 0D8350 0198+00 2/1 0/0 0/0 .text procGuardAttackInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGuardAttackInit() {
nofralloc
#include "asm/d/a/d_a_alink/procGuardAttackInit__9daAlink_cFv.s"
}
#pragma pop
/* 800DDBA8-800DDE58 0D84E8 02B0+00 1/0 0/0 0/0 .text procGuardAttack__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGuardAttack() {
nofralloc
#include "asm/d/a/d_a_alink/procGuardAttack__9daAlink_cFv.s"
}
#pragma pop
/* 800DDE58-800DDF2C 0D8798 00D4+00 2/2 0/0 0/0 .text procGuardBreakInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGuardBreakInit() {
nofralloc
#include "asm/d/a/d_a_alink/procGuardBreakInit__9daAlink_cFv.s"
}
#pragma pop
/* 800DDF2C-800DE008 0D886C 00DC+00 1/0 0/0 0/0 .text procGuardBreak__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGuardBreak() {
nofralloc
#include "asm/d/a/d_a_alink/procGuardBreak__9daAlink_cFv.s"
}
#pragma pop
/* 800DE008-800DE380 0D8948 0378+00 2/2 0/0 0/0 .text procTurnMoveInit__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::procTurnMoveInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procTurnMoveInit__9daAlink_cFi.s"
}
#pragma pop
/* 800DE380-800DE64C 0D8CC0 02CC+00 1/0 0/0 0/0 .text procTurnMove__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procTurnMove() {
nofralloc
#include "asm/d/a/d_a_alink/procTurnMove__9daAlink_cFv.s"
}
#pragma pop
File diff suppressed because it is too large Load Diff
+669
View File
@@ -0,0 +1,669 @@
/* 80107900-801083C8 102240 0AC8+00 1/0 0/0 0/0 .text draw__Q29daAlink_c14hsChainShape_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void draw__Q29daAlink_c14hsChainShape_cFv() {
// asm void daAlink_c::hsChainShape_c::draw() {
nofralloc
#include "asm/d/a/d_a_alink/draw__Q29daAlink_c14hsChainShape_cFv.s"
}
#pragma pop
/* 801083C8-8010859C 102D08 01D4+00 1/1 0/0 0/0 .text
* hookshotAtHitCallBack__9daAlink_cFP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::hookshotAtHitCallBack(dCcD_GObjInf* param_0, fopAc_ac_c* param_1,
dCcD_GObjInf* param_2) {
nofralloc
#include "asm/d/a/d_a_alink/hookshotAtHitCallBack__9daAlink_cFP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf.s"
}
#pragma pop
/* 8010859C-801085BC 102EDC 0020+00 1/1 0/0 0/0 .text
* daAlink_hookshotAtHitCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */
static void daAlink_hookshotAtHitCallBack(fopAc_ac_c* player, dCcD_GObjInf* param_1,
fopAc_ac_c* param_2, dCcD_GObjInf* param_3) {
((daAlink_c*)player)->hookshotAtHitCallBack(param_1, param_2, param_3);
}
/* 801085BC-80108600 102EFC 0044+00 1/0 0/0 0/0 .text getHookshotTopPos__9daAlink_cFv */
cXyz* daAlink_c::getHookshotTopPos() {
if (checkHookshotItem(mEquipItem)) {
return &mHookshotTopPos;
}
return NULL;
}
/* 80108600-80108668 102F40 0068+00 1/0 0/0 0/0 .text checkHookshotReturnMode__9daAlink_cCFv */
bool daAlink_c::checkHookshotReturnMode() const {
return checkHookshotItem(mEquipItem) &&
(mHookshotMode == 4 || mHookshotMode == 5 || mHookshotMode == 6);
}
/* 80108668-801086DC 102FA8 0074+00 1/0 0/0 0/0 .text checkHookshotShootReturnMode__9daAlink_cCFv
*/
bool daAlink_c::checkHookshotShootReturnMode() const {
return (checkHookshotItem(mEquipItem) && mHookshotMode == 3) || checkHookshotReturnMode();
}
/* 801086DC-8010871C 10301C 0040+00 6/6 0/0 0/0 .text resetHookshotMode__9daAlink_cFv */
void daAlink_c::resetHookshotMode() {
mHookshotMode = 0;
initLockAt();
mSearchBallScale = __float_max[0];
}
/* 8010871C-80108784 10305C 0068+00 0/0 0/0 1/1 .text
* setEnemyBombHookshot__9daAlink_cFP10fopAc_ac_c */
bool daAlink_c::setEnemyBombHookshot(fopAc_ac_c* actor) {
if (field_0x284c.getActor() != NULL) {
cancelHookshotCarry();
field_0x284c.setData(actor);
fopAcM_setHookCarryNow(actor);
return true;
}
return false;
}
/* 80108784-801087B0 1030C4 002C+00 3/3 0/0 0/0 .text checkLv7BossRoom__9daAlink_cFv */
bool daAlink_c::checkLv7BossRoom() {
return checkStageName("D_MN07A");
}
/* 801087B0-80108828 1030F0 0078+00 6/6 0/0 0/0 .text
* checkHookshotStickBG__9daAlink_cFR13cBgS_PolyInfo */
bool daAlink_c::checkHookshotStickBG(cBgS_PolyInfo& poly) {
if (dComIfG_Bgsp().ChkPolyHSStick(poly)) {
dBgW_Base* bgw = dComIfG_Bgsp().GetBgWBasePointer(poly);
if (bgw != NULL && bgw->ChkPushPullOk()) {
return true;
}
}
return false;
}
/* 80108828-80108864 103168 003C+00 4/4 0/0 0/0 .text cancelHookshotCarry__9daAlink_cFv
*/
void daAlink_c::cancelHookshotCarry() {
if (field_0x284c.getActor() != NULL) {
fopAcM_cancelHookCarryNow(field_0x284c.getActor());
field_0x284c.clearData();
}
}
/* 80108864-801088A0 1031A4 003C+00 2/2 0/0 0/0 .text changeHookshotDrawModel__9daAlink_cFv */
void daAlink_c::changeHookshotDrawModel() {
if (mEquipItem == HOOKSHOT && field_0x3020 == 1) {
J3DModel* old_item = mHeldItemModel;
mHeldItemModel = field_0x0710;
field_0x0710 = old_item;
J3DModel* old_item2 = field_0x070c;
field_0x070c = field_0x0714;
field_0x0714 = old_item2;
}
}
/* 801088A0-801088C8 1031E0 0028+00 6/6 0/0 0/0 .text checkHookshotRoofLv7Boss__9daAlink_cFv */
BOOL daAlink_c::checkHookshotRoofLv7Boss() {
return mCargoCarryAcKeep.getActor() != NULL &&
fopAcM_GetName(mCargoCarryAcKeep.getActor()) == PROC_B_DR;
}
/* 801088C8-80108980 103208 00B8+00 2/2 0/0 0/0 .text checkChaseHookshot__9daAlink_cFv */
BOOL daAlink_c::checkChaseHookshot() {
if (field_0x2804 == NULL) {
if (mTargetedActor != NULL) {
field_0x2804 = mTargetedActor;
} else {
field_0x2804 = this;
}
} else if (field_0x2804 != mTargetedActor) {
field_0x2804 = this;
}
if (mTargetedActor != NULL) {
s16 actorName = fopAcM_GetName(mTargetedActor);
return field_0x2804 == mTargetedActor &&
(checkBossOctaIealRoom() || actorName == PROC_Obj_FallObj ||
actorName == PROC_B_DR || actorName == PROC_E_PH);
}
return false;
}
/* 80108980-801089E8 1032C0 0068+00 2/2 0/0 0/0 .text checkOctaIealSpecialCollect__9daAlink_cFv */
BOOL daAlink_c::checkOctaIealSpecialCollect() {
return mProcID == PROC_HOOKSHOT_FLY && checkHookshotItem(mEquipItem) && checkBossOctaIealRoom();
}
/* 801089E8-80108A18 103328 0030+00 5/5 0/0 0/0 .text checkBossOctaIealRoom__9daAlink_cFv
*/
BOOL daAlink_c::checkBossOctaIealRoom() {
return checkStageName("D_MN01A");
}
/* 80108A18-80108A3C 103358 0024+00 19/19 0/0 0/0 .text checkHookshotWait__9daAlink_cCFv
*/
BOOL daAlink_c::checkHookshotWait() const {
return mHookshotMode == 0 || mHookshotMode == 1;
}
/* 80108A3C-80108A90 10337C 0054+00 1/1 0/0 0/0 .text setHookshotCatchNow__9daAlink_cFv
*/
// matches with literals
#ifdef NONMATCHING
void daAlink_c::setHookshotCatchNow() {
field_0x3026 = 5;
dComIfGp_getVibration().StartShock(4, 1, cXyz(0.0f, 1.0f, 0.0f));
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setHookshotCatchNow() {
nofralloc
#include "asm/d/a/d_a_alink/setHookshotCatchNow__9daAlink_cFv.s"
}
#pragma pop
#endif
/* 80108A90-80108B34 1033D0 00A4+00 1/0 0/0 0/0 .text setHookshotCarryOffset__9daAlink_cFUiPC4cXyz
*/
bool daAlink_c::setHookshotCarryOffset(unsigned int actorID, cXyz const* offset) {
if (i_dComIfGp_checkPlayerStatus1(0, 0x10000)) {
fopAc_ac_c* carryActor = mCargoCarryAcKeep.getActor();
if (carryActor != NULL && fopAcM_checkHookCarryNow(carryActor) &&
actorID == mCargoCarryAcKeep.getID()) {
field_0x37c8 = *offset;
return true;
}
}
fopAc_ac_c* actor = field_0x284c.getActor();
if (actor != NULL && fopAcM_checkHookCarryNow(actor) && actorID == field_0x284c.getID()) {
field_0x37f8 = *offset;
return true;
}
return false;
}
/* 80108B34-80108DB4 103474 0280+00 1/1 0/0 0/0 .text setHookshotModel__9daAlink_cFv */
void daAlink_c::setHookshotModel() {
J3DAnmTransform* bck = (J3DAnmTransform*)mAnmHeap9.loadDataIdx(0x17E);
JKRHeap* heap = setItemHeap();
field_0x730.init(bck, 0, 2, lit_6040, 0, -1, false);
J3DModelData* heldItem_modelData = loadAramBmd(0x316, 0x5C00);
mHeldItemModel = initModel(heldItem_modelData, 0x80000, 0);
J3DModelData* modelData = loadAramBmd(0x318, 0x3800);
field_0x070c = initModel(modelData, 0x80000, 0);
field_0x0710 = initModel(mHeldItemModel->getModelData(), 0x80000, 0);
field_0x0714 = initModel(field_0x070c->getModelData(), 0x80000, 0);
field_0x0768 = loadAramBmd(0x317, 0x1000);
field_0x770 = new hsChainShape_c();
field_0x076c = new Z2SoundObjSimple();
mpHookshotLinChk = new dBgS_ObjLinChk();
mpHookshotLinChk->OffFullGrp();
mpHookshotLinChk->OnWaterGrp();
J3DAnmTransform* bck2 = (J3DAnmTransform*)loadAram(0x17F, 0x800);
field_0x74C.init(bck2, 0, 2, lit_6040, 0, -1, false);
mDoExt_setCurrentHeap(heap);
resetHookshotMode();
field_0x770->setUserArea((u32)this);
field_0x2f94 = 1;
if (mEquipItem == W_HOOKSHOT) {
field_0x2f95 = 6;
}
field_0x3020 = 0;
field_0x3024 = 0;
field_0x122C[0].SetAtSpl(dCcG_At_Spl_UNK_0);
field_0x122C[0].OffAtNoHitMark();
field_0x122C[0].SetAtAtp(0);
field_0x122C[0].SetR(lit_7808);
field_0x122C[0].SetAtSe(8);
field_0x122C[0].SetAtType(0x4000);
field_0x122C[0].SetAtHitMark(1);
field_0x122C[0].OnAtSetBit();
field_0x122C[0].SetAtHitCallback(daAlink_hookshotAtHitCallBack);
field_0x122C[0].SetAtMtrl(0);
field_0x076c->init(&mHookshotTopPos, 1);
}
/* 80108DB4-80108EEC 1036F4 0138+00 6/6 0/0 0/0 .text setHookshotSight__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setHookshotSight() {
nofralloc
#include "asm/d/a/d_a_alink/setHookshotSight__9daAlink_cFv.s"
}
#pragma pop
/* 80108EEC-80108F64 10382C 0078+00 1/1 0/0 0/0 .text cancelHookshotShot__9daAlink_cFv */
void daAlink_c::cancelHookshotShot() {
if (checkHookshotItem(mEquipItem) &&
(mHookshotMode == 3 || mHookshotMode == 5 || mHookshotMode == 4)) {
if (mProcID != PROC_HOOKSHOT_MOVE && mProcID != PROC_HOOKSHOT_FLY && mProcID != PROC_HOOKSHOT_SUBJECT) {
mHookshotMode = 6;
}
}
}
/* 80108F64-8010903C 1038A4 00D8+00 4/4 0/0 0/0 .text cancelHookshotMove__9daAlink_cFv */
// checkAttentionLock has weird codegen
#ifdef NONMATCHING
bool daAlink_c::cancelHookshotMove() {
if (mFastShotTime == 0 && mHookshotMode == 0) {
if (checkHookshotAnime() &&
(mTargetedActor == NULL && !i_checkAttentionLock() || !itemButton())) {
resetUpperAnime(UPPER_NOW, -1.0f);
return 1;
}
}
return 0;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::cancelHookshotMove() {
nofralloc
#include "asm/d/a/d_a_alink/cancelHookshotMove__9daAlink_cFv.s"
}
#pragma pop
#endif
/* 8010903C-80109070 10397C 0034+00 2/2 0/0 0/0 .text
* checkHookshotReadyMaterialOffMode__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkHookshotReadyMaterialOffMode() const {
nofralloc
#include "asm/d/a/d_a_alink/checkHookshotReadyMaterialOffMode__9daAlink_cCFv.s"
}
#pragma pop
/* 80109070-801090EC 1039B0 007C+00 5/5 0/0 0/0 .text setHookshotReadyMaterial__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setHookshotReadyMaterial() {
nofralloc
#include "asm/d/a/d_a_alink/setHookshotReadyMaterial__9daAlink_cFv.s"
}
#pragma pop
/* 801090EC-80109170 103A2C 0084+00 8/8 0/0 0/0 .text initHookshotUpperAnimeSpeed__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::initHookshotUpperAnimeSpeed(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/initHookshotUpperAnimeSpeed__9daAlink_cFi.s"
}
#pragma pop
/* 80109170-801091E4 103AB0 0074+00 4/4 0/0 0/0 .text initHookshotReady__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::initHookshotReady() {
nofralloc
#include "asm/d/a/d_a_alink/initHookshotReady__9daAlink_cFv.s"
}
#pragma pop
/* 801091E4-80109284 103B24 00A0+00 1/1 0/0 0/0 .text setHookshotReadyAnime__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setHookshotReadyAnime() {
nofralloc
#include "asm/d/a/d_a_alink/setHookshotReadyAnime__9daAlink_cFv.s"
}
#pragma pop
/* 80109284-801095C8 103BC4 0344+00 3/3 0/0 0/0 .text checkUpperItemActionHookshot__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkUpperItemActionHookshot() {
nofralloc
#include "asm/d/a/d_a_alink/checkUpperItemActionHookshot__9daAlink_cFv.s"
}
#pragma pop
/* 801095C8-801097A0 103F08 01D8+00 7/7 0/0 0/0 .text checkNextActionHookshot__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkNextActionHookshot() {
nofralloc
#include "asm/d/a/d_a_alink/checkNextActionHookshot__9daAlink_cFv.s"
}
#pragma pop
/* 801097A0-80109890 1040E0 00F0+00 2/2 0/0 0/0 .text setHookshotReturnEnd__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setHookshotReturnEnd() {
nofralloc
#include "asm/d/a/d_a_alink/setHookshotReturnEnd__9daAlink_cFv.s"
}
#pragma pop
/* 80109890-80109AAC 1041D0 021C+00 3/3 0/0 0/0 .text setHookshotHangMoveBGCollect__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setHookshotHangMoveBGCollect() {
nofralloc
#include "asm/d/a/d_a_alink/setHookshotHangMoveBGCollect__9daAlink_cFv.s"
}
#pragma pop
/* 80109AAC-80109BDC 1043EC 0130+00 2/2 0/0 0/0 .text setHookshotTopPosFly__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setHookshotTopPosFly() {
nofralloc
#include "asm/d/a/d_a_alink/setHookshotTopPosFly__9daAlink_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 804256A0-804256AC 0523C0 000C+00 0/1 0/0 0/0 .bss @29722 */
#pragma push
#pragma force_active on
static u8 lit_29722[12];
#pragma pop
/* 804256AC-804256B8 0523CC 000C+00 1/2 0/0 0/0 .bss l_hookSnowSandHitScale */
static u8 l_hookSnowSandHitScale[12];
/* 80109BDC-8010B2DC 10451C 1700+00 1/1 0/0 0/0 .text setHookshotPos__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setHookshotPos() {
nofralloc
#include "asm/d/a/d_a_alink/setHookshotPos__9daAlink_cFv.s"
}
#pragma pop
/* 8010B2DC-8010B35C 105C1C 0080+00 2/2 0/0 0/0 .text setHookshotRoofWaitAnime__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setHookshotRoofWaitAnime() {
nofralloc
#include "asm/d/a/d_a_alink/setHookshotRoofWaitAnime__9daAlink_cFv.s"
}
#pragma pop
/* 8010B35C-8010B3AC 105C9C 0050+00 2/2 0/0 0/0 .text setHookshotWallWaitAnime__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setHookshotWallWaitAnime() {
nofralloc
#include "asm/d/a/d_a_alink/setHookshotWallWaitAnime__9daAlink_cFv.s"
}
#pragma pop
/* 8010B3AC-8010B644 105CEC 0298+00 2/2 0/0 0/0 .text hookshotRoofTurn__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::hookshotRoofTurn() {
nofralloc
#include "asm/d/a/d_a_alink/hookshotRoofTurn__9daAlink_cFv.s"
}
#pragma pop
/* 8010B644-8010B720 105F84 00DC+00 3/3 0/0 0/0 .text
* initHookshotRoofWaitActor__9daAlink_cFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::initHookshotRoofWaitActor(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/initHookshotRoofWaitActor__9daAlink_cFP10fopAc_ac_c.s"
}
#pragma pop
/* 8010B720-8010B84C 106060 012C+00 2/2 0/0 0/0 .text checkNextHookPoint__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkNextHookPoint() {
nofralloc
#include "asm/d/a/d_a_alink/checkNextHookPoint__9daAlink_cFv.s"
}
#pragma pop
/* 8010B84C-8010B96C 10618C 0120+00 2/2 0/0 0/0 .text checkLandHookshotHang__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkLandHookshotHang() {
nofralloc
#include "asm/d/a/d_a_alink/checkLandHookshotHang__9daAlink_cFv.s"
}
#pragma pop
/* 8010B96C-8010BA6C 1062AC 0100+00 3/3 0/0 0/0 .text commonHookshotRoofWait__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::commonHookshotRoofWait() {
nofralloc
#include "asm/d/a/d_a_alink/commonHookshotRoofWait__9daAlink_cFv.s"
}
#pragma pop
/* 8010BA6C-8010BAA8 1063AC 003C+00 2/2 0/0 0/0 .text commonHookshotWallWait__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::commonHookshotWallWait() {
nofralloc
#include "asm/d/a/d_a_alink/commonHookshotWallWait__9daAlink_cFv.s"
}
#pragma pop
/* 8010BAA8-8010BB48 1063E8 00A0+00 1/1 0/0 0/0 .text procHookshotSubjectInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotSubjectInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotSubjectInit__9daAlink_cFv.s"
}
#pragma pop
/* 8010BB48-8010BC08 106488 00C0+00 1/0 0/0 0/0 .text procHookshotSubject__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotSubject() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotSubject__9daAlink_cFv.s"
}
#pragma pop
/* 8010BC08-8010BCA4 106548 009C+00 1/1 0/0 0/0 .text procHookshotMoveInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotMoveInit__9daAlink_cFv.s"
}
#pragma pop
/* 8010BCA4-8010BD90 1065E4 00EC+00 1/0 0/0 0/0 .text procHookshotMove__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotMove() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotMove__9daAlink_cFv.s"
}
#pragma pop
/* 8010BD90-8010BEF0 1066D0 0160+00 2/2 0/0 0/0 .text procHookshotFlyInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotFlyInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotFlyInit__9daAlink_cFv.s"
}
#pragma pop
/* 8010BEF0-8010C830 106830 0940+00 2/1 0/0 0/0 .text procHookshotFly__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotFly() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotFly__9daAlink_cFv.s"
}
#pragma pop
/* 8010C830-8010C9F4 107170 01C4+00 4/4 0/0 0/0 .text
* procHookshotRoofWaitInit__9daAlink_cFiP10fopAc_ac_ci */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotRoofWaitInit(int param_0, fopAc_ac_c* param_1, int param_2) {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotRoofWaitInit__9daAlink_cFiP10fopAc_ac_ci.s"
}
#pragma pop
/* 8010C9F4-8010CC80 107334 028C+00 1/0 0/0 0/0 .text procHookshotRoofWait__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotRoofWait() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotRoofWait__9daAlink_cFv.s"
}
#pragma pop
/* 8010CC80-8010CD60 1075C0 00E0+00 1/1 0/0 0/0 .text
* procHookshotRoofShootInit__9daAlink_cFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotRoofShootInit(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotRoofShootInit__9daAlink_cFP10fopAc_ac_c.s"
}
#pragma pop
/* 8010CD60-8010CF6C 1076A0 020C+00 1/0 0/0 0/0 .text procHookshotRoofShoot__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotRoofShoot() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotRoofShoot__9daAlink_cFv.s"
}
#pragma pop
/* 8010CF6C-8010D034 1078AC 00C8+00 1/1 0/0 0/0 .text
* procHookshotRoofBootsInit__9daAlink_cFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotRoofBootsInit(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotRoofBootsInit__9daAlink_cFP10fopAc_ac_c.s"
}
#pragma pop
/* 8010D034-8010D174 107974 0140+00 1/0 0/0 0/0 .text procHookshotRoofBoots__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotRoofBoots() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotRoofBoots__9daAlink_cFv.s"
}
#pragma pop
/* 8010D174-8010D38C 107AB4 0218+00 3/3 0/0 0/0 .text procHookshotWallWaitInit__9daAlink_cFisi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotWallWaitInit(int param_0, s16 param_1, int param_2) {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotWallWaitInit__9daAlink_cFisi.s"
}
#pragma pop
/* 8010D38C-8010D5F4 107CCC 0268+00 1/0 0/0 0/0 .text procHookshotWallWait__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotWallWait() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotWallWait__9daAlink_cFv.s"
}
#pragma pop
/* 8010D5F4-8010D6CC 107F34 00D8+00 1/1 0/0 0/0 .text procHookshotWallShootInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotWallShootInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotWallShootInit__9daAlink_cFv.s"
}
#pragma pop
/* 8010D6CC-8010D93C 10800C 0270+00 1/0 0/0 0/0 .text procHookshotWallShoot__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotWallShoot() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotWallShoot__9daAlink_cFv.s"
}
#pragma pop
File diff suppressed because it is too large Load Diff
+157
View File
@@ -0,0 +1,157 @@
/* 800E23FC-800E243C 0DCD3C 0040+00 6/6 0/0 0/0 .text concatMagneBootMtx__9daAlink_cFv */
void daAlink_c::concatMagneBootMtx() {
if (i_checkMagneBootsOn()) {
mDoMtx_stack_c::concat(mMagneBootMtx);
}
}
/* 800E243C-800E247C 0DCD7C 0040+00 1/1 0/0 0/0 .text concatMagneBootInvMtx__9daAlink_cFv
*/
void daAlink_c::concatMagneBootInvMtx() {
if (i_checkMagneBootsOn()) {
mDoMtx_stack_c::concat(mMagneBootInvMtx);
}
}
/* 800E247C-800E24B0 0DCDBC 0034+00 8/8 0/0 0/0 .text multVecMagneBootInvMtx__9daAlink_cFP4cXyz */
void daAlink_c::multVecMagneBootInvMtx(cXyz* vec) {
if (i_checkMagneBootsOn()) {
mDoMtx_multVecSR(mMagneBootInvMtx, vec, vec);
}
}
/* 800E24B0-800E251C 0DCDF0 006C+00 2/2 0/0 0/0 .text
* commonMagneLineCheck__9daAlink_cFP4cXyzP4cXyz */
int daAlink_c::commonMagneLineCheck(cXyz* param_0, cXyz* param_1) {
mMagneLineChk.Set(param_0, param_1, this);
if (dComIfG_Bgsp().LineCross(&mMagneLineChk) && daTagMagne_c::checkMagnetCode(mMagneLineChk)) {
return 1;
}
return 0;
}
/* 800E251C-800E2580 0DCE5C 0064+00 2/2 0/0 0/0 .text checkBootsMoveAnime__9daAlink_cFi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkBootsMoveAnime(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkBootsMoveAnime__9daAlink_cFi.s"
}
#pragma pop
/* 800E2580-800E2738 0DCEC0 01B8+00 17/17 0/0 0/0 .text setHeavyBoots__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setHeavyBoots(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setHeavyBoots__9daAlink_cFi.s"
}
#pragma pop
/* 800E2738-800E2808 0DD078 00D0+00 2/2 0/0 0/0 .text getMagneBootsLocalAngleY__9daAlink_cFsi */
// matches with literals
#ifdef NONMATCHING
s16 daAlink_c::getMagneBootsLocalAngleY(s16 param_0, int param_1) {
if (param_1 == 1 || (param_1 != 2 && field_0x3114 <= 0x4000 && field_0x3114 != -0x8000)) {
return param_0;
}
cXyz vec(cM_ssin(param_0), 0.0f, cM_scos(param_0));
mDoMtx_stack_c::YrotS(field_0x3116);
mDoMtx_stack_c::XrotM(-0x8000);
mDoMtx_stack_c::YrotM(-field_0x3116);
mDoMtx_stack_c::multVec(&vec, &vec);
return vec.atan2sX_Z();
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm s16 daAlink_c::getMagneBootsLocalAngleY(s16 param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/getMagneBootsLocalAngleY__9daAlink_cFsi.s"
}
#pragma pop
#endif
/* 800E2808-800E2DC4 0DD148 05BC+00 3/3 0/0 0/0 .text
* setMagneBootsMtx__9daAlink_cFP13cBgS_PolyInfoi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setMagneBootsMtx(cBgS_PolyInfo* param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/setMagneBootsMtx__9daAlink_cFP13cBgS_PolyInfoi.s"
}
#pragma pop
/* 800E2DC4-800E2F88 0DD704 01C4+00 7/7 0/0 0/0 .text cancelMagneBootsOn__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::cancelMagneBootsOn() {
nofralloc
#include "asm/d/a/d_a_alink/cancelMagneBootsOn__9daAlink_cFv.s"
}
#pragma pop
/* 800E2F88-800E3048 0DD8C8 00C0+00 1/1 0/0 0/0 .text checkMagneBootsFly__9daAlink_cFv */
int daAlink_c::checkMagneBootsFly() {
if (field_0x2fb8 != 0 && i_checkEquipHeavyBoots() && !checkDeadHP() && mProcID != PROC_MAGNE_BOOTS_FLY && !checkEventRun()) {
cXyz vec(field_0x369c);
vec.normalizeZP();
if (mMagneBootsTopVec.getDotProduct(vec) > lit_8131 && procMagneBootsFlyInit()) {
return 1;
}
}
return 0;
}
/* 800E3048-800E30DC 0DD988 0094+00 2/2 0/0 0/0 .text procBootsEquipInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBootsEquipInit() {
nofralloc
#include "asm/d/a/d_a_alink/procBootsEquipInit__9daAlink_cFv.s"
}
#pragma pop
/* 800E30DC-800E3218 0DDA1C 013C+00 1/0 0/0 0/0 .text procBootsEquip__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBootsEquip() {
nofralloc
#include "asm/d/a/d_a_alink/procBootsEquip__9daAlink_cFv.s"
}
#pragma pop
/* 800E3218-800E3454 0DDB58 023C+00 1/1 0/0 0/0 .text procMagneBootsFlyInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daAlink_c::procMagneBootsFlyInit() {
nofralloc
#include "asm/d/a/d_a_alink/procMagneBootsFlyInit__9daAlink_cFv.s"
}
#pragma pop
/* 800E3454-800E3760 0DDD94 030C+00 1/0 0/0 0/0 .text procMagneBootsFly__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procMagneBootsFly() {
nofralloc
#include "asm/d/a/d_a_alink/procMagneBootsFly__9daAlink_cFv.s"
}
#pragma pop
+278
View File
@@ -0,0 +1,278 @@
/* 80105A84-80105A98 1003C4 0014+00 1/1 0/0 0/0 .text daAlink_searchIceLeaf__FP10fopAc_ac_cPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daAlink_searchIceLeaf(fopAc_ac_c* param_0, void* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/daAlink_searchIceLeaf__FP10fopAc_ac_cPv.s"
}
#pragma pop
/* 80105A98-80105ABC 1003D8 0024+00 3/3 0/0 0/0 .text checkSnowCode__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkSnowCode() const {
nofralloc
#include "asm/d/a/d_a_alink/checkSnowCode__9daAlink_cCFv.s"
}
#pragma pop
/* 80105ABC-80105B10 1003FC 0054+00 1/1 0/0 1/1 .text
* checkSnowCodePolygon__9daAlink_cFR13cBgS_PolyInfo */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkSnowCodePolygon(cBgS_PolyInfo& param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkSnowCodePolygon__9daAlink_cFR13cBgS_PolyInfo.s"
}
#pragma pop
/* 80105B10-80105B58 100450 0048+00 2/2 0/0 0/0 .text checkBoardRestart__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkBoardRestart() {
nofralloc
#include "asm/d/a/d_a_alink/checkBoardRestart__9daAlink_cFv.s"
}
#pragma pop
/* 80105B58-80106534 100498 09DC+00 7/7 0/0 0/0 .text boardCommon__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::boardCommon(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/boardCommon__9daAlink_cFi.s"
}
#pragma pop
/* 80106534-8010658C 100E74 0058+00 6/6 0/0 0/0 .text setCommonBoardAnime__9daAlink_cFi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setCommonBoardAnime(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setCommonBoardAnime__9daAlink_cFi.s"
}
#pragma pop
/* 8010658C-80106618 100ECC 008C+00 5/5 0/0 0/0 .text checkNextActionBoard__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkNextActionBoard() {
nofralloc
#include "asm/d/a/d_a_alink/checkNextActionBoard__9daAlink_cFv.s"
}
#pragma pop
/* 80106618-80106650 100F58 0038+00 2/2 0/0 0/0 .text checkBoardSwordTriggerAction__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkBoardSwordTriggerAction() {
nofralloc
#include "asm/d/a/d_a_alink/checkBoardSwordTriggerAction__9daAlink_cFv.s"
}
#pragma pop
/* 80106650-801066B8 100F90 0068+00 3/3 0/0 0/0 .text
* commonProcBoardInit__9daAlink_cFQ29daAlink_c12daAlink_PROC */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::commonProcBoardInit(daAlink_c::daAlink_PROC param_0) {
nofralloc
#include "asm/d/a/d_a_alink/commonProcBoardInit__9daAlink_cFQ29daAlink_c12daAlink_PROC.s"
}
#pragma pop
/* 801066B8-801066EC 100FF8 0034+00 1/1 0/0 0/0 .text getBoardRowAnmSpeed__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getBoardRowAnmSpeed() {
nofralloc
#include "asm/d/a/d_a_alink/getBoardRowAnmSpeed__9daAlink_cFv.s"
}
#pragma pop
/* 801066EC-80106774 10102C 0088+00 3/3 0/0 0/0 .text setBoardLandAnime__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setBoardLandAnime() {
nofralloc
#include "asm/d/a/d_a_alink/setBoardLandAnime__9daAlink_cFv.s"
}
#pragma pop
/* 80106774-801069D0 1010B4 025C+00 1/1 0/0 0/0 .text procBoardRideInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardRideInit() {
nofralloc
#include "asm/d/a/d_a_alink/procBoardRideInit__9daAlink_cFv.s"
}
#pragma pop
/* 801069D0-80106A38 101310 0068+00 1/0 0/0 0/0 .text procBoardRide__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardRide() {
nofralloc
#include "asm/d/a/d_a_alink/procBoardRide__9daAlink_cFv.s"
}
#pragma pop
/* 80106A38-80106BCC 101378 0194+00 13/13 0/0 0/0 .text
* procBoardWaitInit__9daAlink_cFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardWaitInit(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procBoardWaitInit__9daAlink_cFP10fopAc_ac_c.s"
}
#pragma pop
/* 80106BCC-80106E88 10150C 02BC+00 1/0 0/0 0/0 .text procBoardWait__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardWait() {
nofralloc
#include "asm/d/a/d_a_alink/procBoardWait__9daAlink_cFv.s"
}
#pragma pop
/* 80106E88-80106F00 1017C8 0078+00 1/1 0/0 0/0 .text procBoardRowInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardRowInit() {
nofralloc
#include "asm/d/a/d_a_alink/procBoardRowInit__9daAlink_cFv.s"
}
#pragma pop
/* 80106F00-80107060 101840 0160+00 1/0 0/0 0/0 .text procBoardRow__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardRow() {
nofralloc
#include "asm/d/a/d_a_alink/procBoardRow__9daAlink_cFv.s"
}
#pragma pop
/* 80107060-801070DC 1019A0 007C+00 1/1 0/0 0/0 .text procBoardTurnInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardTurnInit() {
nofralloc
#include "asm/d/a/d_a_alink/procBoardTurnInit__9daAlink_cFv.s"
}
#pragma pop
/* 801070DC-80107218 101A1C 013C+00 1/0 0/0 0/0 .text procBoardTurn__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardTurn() {
nofralloc
#include "asm/d/a/d_a_alink/procBoardTurn__9daAlink_cFv.s"
}
#pragma pop
/* 80107218-80107300 101B58 00E8+00 4/4 0/0 0/0 .text procBoardJumpInit__9daAlink_cFfi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardJumpInit(f32 param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/procBoardJumpInit__9daAlink_cFfi.s"
}
#pragma pop
/* 80107300-801073D0 101C40 00D0+00 1/0 0/0 0/0 .text procBoardJump__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardJump() {
nofralloc
#include "asm/d/a/d_a_alink/procBoardJump__9daAlink_cFv.s"
}
#pragma pop
/* 801073D0-80107418 101D10 0048+00 1/1 0/0 0/0 .text procBoardSubjectivityInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardSubjectivityInit() {
nofralloc
#include "asm/d/a/d_a_alink/procBoardSubjectivityInit__9daAlink_cFv.s"
}
#pragma pop
/* 80107418-801074AC 101D58 0094+00 1/0 0/0 0/0 .text procBoardSubjectivity__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardSubjectivity() {
nofralloc
#include "asm/d/a/d_a_alink/procBoardSubjectivity__9daAlink_cFv.s"
}
#pragma pop
/* 801074AC-8010755C 101DEC 00B0+00 3/3 0/0 0/0 .text procBoardCutInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardCutInit() {
nofralloc
#include "asm/d/a/d_a_alink/procBoardCutInit__9daAlink_cFv.s"
}
#pragma pop
/* 8010755C-801075D4 101E9C 0078+00 1/0 0/0 0/0 .text procBoardCut__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardCut() {
nofralloc
#include "asm/d/a/d_a_alink/procBoardCut__9daAlink_cFv.s"
}
#pragma pop
/* 801075D4-80107744 101F14 0170+00 2/2 0/0 0/0 .text procBoardCutTurnInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardCutTurnInit() {
nofralloc
#include "asm/d/a/d_a_alink/procBoardCutTurnInit__9daAlink_cFv.s"
}
#pragma pop
/* 80107744-80107900 102084 01BC+00 1/0 0/0 0/0 .text procBoardCutTurn__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardCutTurn() {
nofralloc
#include "asm/d/a/d_a_alink/procBoardCutTurn__9daAlink_cFv.s"
}
#pragma pop
+298
View File
@@ -0,0 +1,298 @@
/* 8011243C-80112458 10CD7C 001C+00 1/0 0/0 0/0 .text getIronBallCenterPos__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::getIronBallCenterPos() {
nofralloc
#include "asm/d/a/d_a_alink/getIronBallCenterPos__9daAlink_cFv.s"
}
#pragma pop
/* 80112458-80112474 10CD98 001C+00 1/0 0/0 0/0 .text getIronBallBgHit__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::getIronBallBgHit() const {
nofralloc
#include "asm/d/a/d_a_alink/getIronBallBgHit__9daAlink_cCFv.s"
}
#pragma pop
/* 80112474-801124B4 10CDB4 0040+00 0/0 2/2 1/1 .text checkIronBallThrowMode__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkIronBallThrowMode() const {
nofralloc
#include "asm/d/a/d_a_alink/checkIronBallThrowMode__9daAlink_cCFv.s"
}
#pragma pop
/* 801124B4-801124FC 10CDF4 0048+00 0/0 1/1 1/1 .text checkIronBallThrowReturnMode__9daAlink_cCFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkIronBallThrowReturnMode() const {
nofralloc
#include "asm/d/a/d_a_alink/checkIronBallThrowReturnMode__9daAlink_cCFv.s"
}
#pragma pop
/* 801124FC-80112524 10CE3C 0028+00 1/0 0/0 0/0 .text checkIronBallReturn__9daAlink_cCFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::checkIronBallReturn() const {
nofralloc
#include "asm/d/a/d_a_alink/checkIronBallReturn__9daAlink_cCFv.s"
}
#pragma pop
/* 80112524-80112568 10CE64 0044+00 1/0 0/0 0/0 .text checkIronBallGroundStop__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::checkIronBallGroundStop() const {
nofralloc
#include "asm/d/a/d_a_alink/checkIronBallGroundStop__9daAlink_cCFv.s"
}
#pragma pop
/* 80112568-80112628 10CEA8 00C0+00 5/5 0/0 0/0 .text setIronBallWaitUpperAnime__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setIronBallWaitUpperAnime(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setIronBallWaitUpperAnime__9daAlink_cFi.s"
}
#pragma pop
/* 80112628-801126F8 10CF68 00D0+00 1/1 0/0 0/0 .text checkIronBallDelete__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkIronBallDelete() {
nofralloc
#include "asm/d/a/d_a_alink/checkIronBallDelete__9daAlink_cFv.s"
}
#pragma pop
/* 801126F8-80112768 10D038 0070+00 2/2 0/0 0/0 .text setIronBallReturn__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setIronBallReturn(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setIronBallReturn__9daAlink_cFi.s"
}
#pragma pop
/* 80112768-801127F0 10D0A8 0088+00 2/2 0/0 0/0 .text setIronBallBgCheckPos__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setIronBallBgCheckPos() {
nofralloc
#include "asm/d/a/d_a_alink/setIronBallBgCheckPos__9daAlink_cFv.s"
}
#pragma pop
/* 801127F0-80112C80 10D130 0490+00 1/1 0/0 0/0 .text setIronBallModel__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setIronBallModel() {
nofralloc
#include "asm/d/a/d_a_alink/setIronBallModel__9daAlink_cFv.s"
}
#pragma pop
/* 80112C80-80112C84 10D5C0 0004+00 2/2 2/2 0/0 .text __ct__5csXyzFv */
extern "C" void __ct__5csXyzFv() {
/* empty function */
}
/* 80112C84-80112E7C 10D5C4 01F8+00 1/1 0/0 0/0 .text
* setIronBallGroundVec__9daAlink_cFPC4cXyzP4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setIronBallGroundVec(cXyz const* param_0, cXyz* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/setIronBallGroundVec__9daAlink_cFPC4cXyzP4cXyz.s"
}
#pragma pop
/* 80112E7C-80113CA0 10D7BC 0E24+00 1/1 0/0 0/0 .text setIronBallChainPos__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setIronBallChainPos() {
nofralloc
#include "asm/d/a/d_a_alink/setIronBallChainPos__9daAlink_cFv.s"
}
#pragma pop
/* 80113CA0-80113D58 10E5E0 00B8+00 1/1 0/0 0/0 .text checkIronBallReturnChange__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkIronBallReturnChange() {
nofralloc
#include "asm/d/a/d_a_alink/checkIronBallReturnChange__9daAlink_cFv.s"
}
#pragma pop
/* 80113D58-801150E4 10E698 138C+00 1/1 0/0 0/0 .text setIronBallPos__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setIronBallPos() {
nofralloc
#include "asm/d/a/d_a_alink/setIronBallPos__9daAlink_cFv.s"
}
#pragma pop
/* 801150E4-8011510C 10FA24 0028+00 10/10 0/0 0/0 .text checkIronBallAnime__9daAlink_cCFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL daAlink_c::checkIronBallAnime() const {
nofralloc
#include "asm/d/a/d_a_alink/checkIronBallAnime__9daAlink_cCFv.s"
}
#pragma pop
/* 8011510C-801151E0 10FA4C 00D4+00 1/1 0/0 0/0 .text setIronBallReadyAnime__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setIronBallReadyAnime() {
nofralloc
#include "asm/d/a/d_a_alink/setIronBallReadyAnime__9daAlink_cFv.s"
}
#pragma pop
/* 801151E0-80115254 10FB20 0074+00 2/2 0/0 0/0 .text setIronBallBaseAnime__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setIronBallBaseAnime() {
nofralloc
#include "asm/d/a/d_a_alink/setIronBallBaseAnime__9daAlink_cFv.s"
}
#pragma pop
/* 80115254-801153F8 10FB94 01A4+00 1/1 0/0 0/0 .text checkUpperItemActionIronBall__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkUpperItemActionIronBall() {
nofralloc
#include "asm/d/a/d_a_alink/checkUpperItemActionIronBall__9daAlink_cFv.s"
}
#pragma pop
/* 801153F8-801154E4 10FD38 00EC+00 2/2 0/0 0/0 .text checkNextActionIronBall__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkNextActionIronBall() {
nofralloc
#include "asm/d/a/d_a_alink/checkNextActionIronBall__9daAlink_cFv.s"
}
#pragma pop
/* 801154E4-80115564 10FE24 0080+00 1/1 0/0 0/0 .text procIronBallSubjectInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procIronBallSubjectInit() {
nofralloc
#include "asm/d/a/d_a_alink/procIronBallSubjectInit__9daAlink_cFv.s"
}
#pragma pop
/* 80115564-801155EC 10FEA4 0088+00 1/0 0/0 0/0 .text procIronBallSubject__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procIronBallSubject() {
nofralloc
#include "asm/d/a/d_a_alink/procIronBallSubject__9daAlink_cFv.s"
}
#pragma pop
/* 801155EC-80115674 10FF2C 0088+00 1/1 0/0 0/0 .text procIronBallMoveInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procIronBallMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procIronBallMoveInit__9daAlink_cFv.s"
}
#pragma pop
/* 80115674-8011577C 10FFB4 0108+00 1/0 0/0 0/0 .text procIronBallMove__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procIronBallMove() {
nofralloc
#include "asm/d/a/d_a_alink/procIronBallMove__9daAlink_cFv.s"
}
#pragma pop
/* 8011577C-80115860 1100BC 00E4+00 1/1 0/0 0/0 .text procIronBallThrowInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procIronBallThrowInit() {
nofralloc
#include "asm/d/a/d_a_alink/procIronBallThrowInit__9daAlink_cFv.s"
}
#pragma pop
/* 80115860-801159F0 1101A0 0190+00 1/0 0/0 0/0 .text procIronBallThrow__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procIronBallThrow() {
nofralloc
#include "asm/d/a/d_a_alink/procIronBallThrow__9daAlink_cFv.s"
}
#pragma pop
/* 801159F0-80115AA0 110330 00B0+00 2/2 0/0 0/0 .text procIronBallReturnInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procIronBallReturnInit() {
nofralloc
#include "asm/d/a/d_a_alink/procIronBallReturnInit__9daAlink_cFv.s"
}
#pragma pop
/* 80115AA0-80115C20 1103E0 0180+00 1/0 0/0 0/0 .text procIronBallReturn__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procIronBallReturn() {
nofralloc
#include "asm/d/a/d_a_alink/procIronBallReturn__9daAlink_cFv.s"
}
#pragma pop
+236
View File
@@ -0,0 +1,236 @@
/* 80110654-80110668 10AF94 0014+00 1/1 0/0 0/0 .text daAlink_searchTagKandelaar__FP10fopAc_ac_cPv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daAlink_searchTagKandelaar(fopAc_ac_c* param_0, void* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/daAlink_searchTagKandelaar__FP10fopAc_ac_cPv.s"
}
#pragma pop
/* 80110668-801106E8 10AFA8 0080+00 1/1 0/0 0/0 .text daAlink_searchTagKtOnFire__FP10fopAc_ac_cPv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daAlink_searchTagKtOnFire(fopAc_ac_c* param_0, void* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/daAlink_searchTagKtOnFire__FP10fopAc_ac_cPv.s"
}
#pragma pop
/* 801106E8-8011078C 10B028 00A4+00 1/0 0/0 0/0 .text setKandelaarMtx__9daAlink_cFPA4_fii
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setKandelaarMtx(f32 (*param_0)[4], int param_1, int param_2) {
nofralloc
#include "asm/d/a/d_a_alink/setKandelaarMtx__9daAlink_cFPA4_fii.s"
}
#pragma pop
/* 8011078C-801107BC 10B0CC 0030+00 2/2 0/0 0/0 .text checkWaterInKandelaarOffset__9daAlink_cFf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkWaterInKandelaarOffset(f32 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkWaterInKandelaarOffset__9daAlink_cFf.s"
}
#pragma pop
/* 801107BC-80110840 10B0FC 0084+00 2/2 0/0 0/0 .text checkWaterInKandelaar__9daAlink_cFf
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkWaterInKandelaar(f32 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkWaterInKandelaar__9daAlink_cFf.s"
}
#pragma pop
/* 80110840-8011087C 10B180 003C+00 13/13 0/0 0/0 .text offKandelaarModel__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::offKandelaarModel() {
nofralloc
#include "asm/d/a/d_a_alink/offKandelaarModel__9daAlink_cFv.s"
}
#pragma pop
/* 8011087C-801108B4 10B1BC 0038+00 1/0 0/0 0/0 .text checkUseKandelaar__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::checkUseKandelaar(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkUseKandelaar__9daAlink_cFi.s"
}
#pragma pop
/* 801108B4-801108EC 10B1F4 0038+00 1/0 0/0 0/0 .text checkKandelaarSwing__9daAlink_cCFi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::checkKandelaarSwing(int param_0) const {
nofralloc
#include "asm/d/a/d_a_alink/checkKandelaarSwing__9daAlink_cCFi.s"
}
#pragma pop
/* 801108EC-80110BEC 10B22C 0300+00 1/1 0/0 0/0 .text kandelaarModelCallBack__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::kandelaarModelCallBack() {
nofralloc
#include "asm/d/a/d_a_alink/kandelaarModelCallBack__9daAlink_cFv.s"
}
#pragma pop
/* 80110BEC-80110C28 10B52C 003C+00 1/1 0/0 0/0 .text daAlink_kandelaarModelCallBack__FP8J3DJointi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daAlink_kandelaarModelCallBack(J3DJoint* param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/daAlink_kandelaarModelCallBack__FP8J3DJointi.s"
}
#pragma pop
/* 80110C28-80110C6C 10B568 0044+00 1/0 0/0 0/0 .text getKandelaarFlamePos__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::getKandelaarFlamePos() {
nofralloc
#include "asm/d/a/d_a_alink/getKandelaarFlamePos__9daAlink_cFv.s"
}
#pragma pop
/* 80110C6C-80110C94 10B5AC 0028+00 3/3 0/0 0/0 .text checkKandelaarEquipAnime__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkKandelaarEquipAnime() const {
nofralloc
#include "asm/d/a/d_a_alink/checkKandelaarEquipAnime__9daAlink_cCFv.s"
}
#pragma pop
/* 80110C94-80110E80 10B5D4 01EC+00 1/1 0/0 0/0 .text preKandelaarDraw__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::preKandelaarDraw() {
nofralloc
#include "asm/d/a/d_a_alink/preKandelaarDraw__9daAlink_cFv.s"
}
#pragma pop
/* 80110E80-80110E84 10B7C0 0004+00 0/0 3/0 0/0 .text
* setTevColor__11J3DTevBlockFUlPC13J3DGXColorS10 */
void J3DTevBlock::setTevColor(u32 param_0, J3DGXColorS10 const* param_1) {
/* empty function */
}
/* 80110E84-80110F88 10B7C4 0104+00 4/4 0/0 0/0 .text setKandelaarModel__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setKandelaarModel() {
nofralloc
#include "asm/d/a/d_a_alink/setKandelaarModel__9daAlink_cFv.s"
}
#pragma pop
/* 80110F88-80110FE0 10B8C8 0058+00 3/3 0/0 0/0 .text resetOilBottleModel__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::resetOilBottleModel() {
nofralloc
#include "asm/d/a/d_a_alink/resetOilBottleModel__9daAlink_cFv.s"
}
#pragma pop
/* 80110FE0-801110B8 10B920 00D8+00 3/3 0/0 0/0 .text commonKandelaarPourInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::commonKandelaarPourInit() {
nofralloc
#include "asm/d/a/d_a_alink/commonKandelaarPourInit__9daAlink_cFv.s"
}
#pragma pop
/* 801110B8-8011130C 10B9F8 0254+00 3/3 0/0 0/0 .text commonKandelaarPour__9daAlink_cFi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::commonKandelaarPour(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/commonKandelaarPour__9daAlink_cFi.s"
}
#pragma pop
/* 8011130C-80111440 10BC4C 0134+00 1/1 0/0 0/0 .text initKandelaarSwing__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::initKandelaarSwing() {
nofralloc
#include "asm/d/a/d_a_alink/initKandelaarSwing__9daAlink_cFv.s"
}
#pragma pop
/* 80111440-801115CC 10BD80 018C+00 2/1 0/0 0/0 .text procKandelaarSwingInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procKandelaarSwingInit() {
nofralloc
#include "asm/d/a/d_a_alink/procKandelaarSwingInit__9daAlink_cFv.s"
}
#pragma pop
/* 801115CC-8011167C 10BF0C 00B0+00 1/0 0/0 0/0 .text procKandelaarSwing__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procKandelaarSwing() {
nofralloc
#include "asm/d/a/d_a_alink/procKandelaarSwing__9daAlink_cFv.s"
}
#pragma pop
/* 8011167C-80111724 10BFBC 00A8+00 1/1 0/0 0/0 .text procKandelaarPourInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procKandelaarPourInit() {
nofralloc
#include "asm/d/a/d_a_alink/procKandelaarPourInit__9daAlink_cFv.s"
}
#pragma pop
/* 80111724-8011174C 10C064 0028+00 1/0 0/0 0/0 .text procKandelaarPour__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procKandelaarPour() {
nofralloc
#include "asm/d/a/d_a_alink/procKandelaarPour__9daAlink_cFv.s"
}
#pragma pop
File diff suppressed because it is too large Load Diff
+357
View File
@@ -0,0 +1,357 @@
#include "rel/d/a/d_a_spinner/d_a_spinner.h"
/* 8010D93C-8010D94C 10827C 0010+00 0/0 0/0 1/1 .text getSpinnerGravity__9daAlink_cCFv */
f32 daAlink_c::getSpinnerGravity() const {
return daAlinkHIO_spinner_c0::m.mGravity;
}
/* 8010D94C-8010D95C 10828C 0010+00 0/0 0/0 1/1 .text getSpinnerMaxFallSpeed__9daAlink_cCFv */
f32 daAlink_c::getSpinnerMaxFallSpeed() const {
return daAlinkHIO_spinner_c0::m.mMaxFallSpeed;
}
/* 8010D95C-8010D96C 10829C 0010+00 0/0 0/0 1/1 .text getSpinnerJumpRate__9daAlink_cCFv
*/
f32 daAlink_c::getSpinnerJumpRate() const {
return daAlinkHIO_spinner_c0::m.mJumpRate;
}
/* 8010D96C-8010D9B0 1082AC 0044+00 1/1 0/0 2/2 .text getSpinnerRideMoveTime__9daAlink_cFv */
s16 daAlink_c::getSpinnerRideMoveTime() {
if (checkLv4BossRoom()) {
return daAlinkHIO_spinner_c0::m.mBossRideMoveTime;
}
return daAlinkHIO_spinner_c0::m.mRideMoveTime;
}
/* 8010D9B0-8010D9F4 1082F0 0044+00 1/1 0/0 3/3 .text getSpinnerRideSpeedF__9daAlink_cFv
*/
f32 daAlink_c::getSpinnerRideSpeedF() {
if (checkLv4BossRoom()) {
return daAlinkHIO_spinner_c0::m.mBossRideSpeed;
}
return daAlinkHIO_spinner_c0::m.mRideSpeed;
}
/* 8010D9F4-8010DA04 108334 0010+00 0/0 0/0 1/1 .text getSpinnerRideDecSpeedMax__9daAlink_cCFv */
f32 daAlink_c::getSpinnerRideDecSpeedMax() const {
return daAlinkHIO_spinner_c0::m.mDecelSpeedMax;
}
/* 8010DA04-8010DA14 108344 0010+00 0/0 0/0 1/1 .text getSpinnerRideDecSpeedMin__9daAlink_cCFv */
f32 daAlink_c::getSpinnerRideDecSpeedMin() const {
return daAlinkHIO_spinner_c0::m.mDecelSpeedMin;
}
/* 8010DA14-8010DA24 108354 0010+00 0/0 0/0 1/1 .text getSpinnerRideDecSpeedRate__9daAlink_cCFv */
f32 daAlink_c::getSpinnerRideDecSpeedRate() const {
return daAlinkHIO_spinner_c0::m.mDecelRate;
}
/* 8010DA24-8010DA34 108364 0010+00 0/0 0/0 1/1 .text getSpinnerRideRotAngleMax__9daAlink_cCFv */
s16 daAlink_c::getSpinnerRideRotAngleMax() const {
return daAlinkHIO_spinner_c0::m.mRideRotAngleMax;
}
/* 8010DA34-8010DA44 108374 0010+00 0/0 0/0 1/1 .text getSpinnerRideRotAngleMin__9daAlink_cCFv */
s16 daAlink_c::getSpinnerRideRotAngleMin() const {
return daAlinkHIO_spinner_c0::m.mRideRotAngleMin;
}
/* 8010DA44-8010DA98 108384 0054+00 1/0 0/0 0/0 .text onSpinnerPathForceRemove__9daAlink_cFv */
void daAlink_c::onSpinnerPathForceRemove() {
if (checkSpinnerRide() && mRideAcKeep.getActor() != NULL) {
((daSpinner_c*)mRideAcKeep.getActor())->onPathForceRemove();
}
}
/* 8010DA98-8010DAFC 1083D8 0064+00 1/0 0/0 0/0 .text checkSpinnerPathMove__9daAlink_cFv
*/
bool daAlink_c::checkSpinnerPathMove() {
if (checkSpinnerRide() && mRideAcKeep.getActor() != NULL) {
if (((daSpinner_c*)mRideAcKeep.getActor())->checkPathMoveNow() != NULL) {
return true;
}
}
return false;
}
/* 8010DAFC-8010DB28 10843C 002C+00 2/2 0/0 0/0 .text checkLv4BossRoom__9daAlink_cFv */
bool daAlink_c::checkLv4BossRoom() {
return checkStageName("D_MN10A");
}
/* 8010DB28-8010DBC8 108468 00A0+00 1/0 0/0 0/0 .text checkSpinnerTriggerAttack__9daAlink_cFv */
// matches with literals
#ifdef NONMATCHING
bool daAlink_c::checkSpinnerTriggerAttack() {
if (checkSpinnerRide() && mRideAcKeep.getActor() != NULL) {
if (((daSpinner_c*)mRideAcKeep.getActor())->reflectAccept()) {
return true;
}
}
return false;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::checkSpinnerTriggerAttack() {
nofralloc
#include "asm/d/a/d_a_alink/checkSpinnerTriggerAttack__9daAlink_cFv.s"
}
#pragma pop
#endif
/* 8010DBC8-8010DC64 108508 009C+00 2/2 0/0 0/0 .text setSpinnerSyncPos__9daAlink_cFv */
void daAlink_c::setSpinnerSyncPos() {
daSpinner_c* spinner = (daSpinner_c*)mRideAcKeep.getActor();
mDoMtx_multVecZero(spinner->getModelMtx(), &mCurrent.mPosition);
mDoMtx_stack_c::ZXYrotS(spinner->mCollisionRot);
mDoMtx_stack_c::YrotM(mCollisionRot.y - spinner->mCollisionRot.y);
mDoMtx_MtxToRot(mDoMtx_stack_c::get(), &mCollisionRot);
field_0x37a4 = spinner->mCurrent.mPosition;
}
/* 8010DC64-8010DDCC 1085A4 0168+00 1/1 0/0 0/0 .text procSpinnerReadyInit__9daAlink_cFv
*/
// matches with literals
#ifdef NONMATCHING
int daAlink_c::procSpinnerReadyInit() {
fopAc_ac_c* spinner = (fopAc_ac_c*)fopAcM_fastCreate(
PROC_SPINNER, daSpinner_c::getWaitArg(), &mCurrent.mPosition, fopAcM_GetRoomNo(this),
&mCollisionRot, NULL, -1, NULL, NULL);
if (spinner == NULL) {
return 0;
}
commonProcInit(PROC_SPINNER_READY);
mRideAcKeep.setData(spinner);
setSingleAnime(ANM_BOARD_SPINNER, daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mRate, 6.0f,
daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mEndF,
daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mInterpolation);
mNormalSpeed = 0.0f;
setHeavyBoots(0);
mSpeed.y = 26.0f;
voiceStart(Z2SE_AL_V_JUMP_S);
seStartOnlyReverb(Z2SE_AL_SPINNER_START);
field_0x2f99 = 15;
deleteEquipItem(1, 1);
mCurrent.mAngle.y = mCollisionRot.y;
field_0x3588 = l_waitBaseAnime;
field_0x33b0 = field_0x3588.y;
field_0x34d4 = l_waitBaseAnime;
mCommonCounter = 8;
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daAlink_c::procSpinnerReadyInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSpinnerReadyInit__9daAlink_cFv.s"
}
#pragma pop
#endif
/* 8010DDCC-8010DE64 10870C 0098+00 1/0 0/0 0/0 .text procSpinnerReady__9daAlink_cFv */
int daAlink_c::procSpinnerReady() {
daSpinner_c* spinner = (daSpinner_c*)mRideAcKeep.getActor();
if (spinner == NULL) {
return checkNextAction(0);
}
mCurrent.mPosition.x = spinner->mCurrent.mPosition.x;
mCurrent.mPosition.z = spinner->mCurrent.mPosition.z;
mCommonCounter--;
field_0x2f99 = 15;
if ((mCommonCounter < 0 && mCurrent.mPosition.y <= spinner->getModelMtx()[1][3]) ||
mCommonCounter < -30) {
mCurrent.mPosition.y = spinner->getModelMtx()[1][3];
procSpinnerWaitInit();
}
return 1;
}
/* 8010DE64-8010DE78 1087A4 0014+00 1/1 0/0 0/0 .text setSpinnerStatus__9daAlink_cFUcUc
*/
void daAlink_c::setSpinnerStatus(u8 status, u8 flag) {
dComIfGp_setDoStatus(status, flag);
}
/* 8010DE78-8010DF4C 1087B8 00D4+00 2/2 0/0 0/0 .text procSpinnerWaitInit__9daAlink_cFv
*/
// matches with literals
#ifdef NONMATCHING
int daAlink_c::procSpinnerWaitInit() {
if (!commonProcInitNotSameProc(PROC_SPINNER_WAIT)) {
return 0;
}
mRideStatus = 5;
setBgCheckParam();
setSingleAnimeBaseSpeed(ANM_SPINNER_RIDE, daAlinkHIO_board_c0::m.mSitAnmSpeed, 4.0f);
mSpeed.y = 0.0f;
setSpecialGravity(0.0f, mMaxFallSpeed, 0);
mNormalSpeed = 0.0f;
mCommonCounter = 0;
field_0x300e = mCollisionRot.y;
field_0x3010 = 0;
field_0x3198 = ANM_SPINNER_RIDE;
field_0x33b0 = 70.0f;
field_0x3012 = 0;
field_0x37a4 = mRideAcKeep.getActor()->mCurrent.mPosition;
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daAlink_c::procSpinnerWaitInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSpinnerWaitInit__9daAlink_cFv.s"
}
#pragma pop
#endif
/* 8010DF4C-8010E48C 10888C 0540+00 1/0 0/0 0/0 .text procSpinnerWait__9daAlink_cFv */
// matches with literals
#ifdef NONMATCHING
int daAlink_c::procSpinnerWait() {
daSpinner_c* spinner = (daSpinner_c*)mRideAcKeep.getActor();
if (spinner == NULL || spinner->getDeleteFlg() || checkWindSpeedOnXZ() ||
i_checkEndResetFlg1(ERFLG1_UNK_1) || i_checkEndResetFlg0(ERFLG0_UNK_2)) {
mNormalSpeed = 0.0f;
setJumpMode();
return procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation);
}
if (spinner->checkSpinnerTagEnd()) {
return procSmallJumpInit(2);
}
int itemSetBtn = checkItemSetButton(SPINNER);
if (mCommonCounter == 0) {
if (!itemButton()) {
mCommonCounter = 1;
mNormalSpeed = getSpinnerRideSpeedF();
spinner->setMove(mNormalSpeed, getSpinnerRideMoveTime());
} else if (checkInputOnR()) {
int direction = getDirectionFromAngle(mStickAngle);
s16 angle = field_0x33ac * 384.0f * field_0x33ac;
if (direction == DIR_LEFT) {
mCollisionRot.y += angle;
} else if (direction == DIR_RIGHT) {
mCollisionRot.y -= angle;
}
mCurrent.mAngle.y = mCollisionRot.y;
field_0x300e = mCollisionRot.y;
}
} else {
if (checkSetItemTrigger(SPINNER) || swordSwingTrigger() || itemSetBtn == 2) {
if (swordSwingTrigger()) {
swordEquip(0);
}
setJumpMode();
mNormalSpeed = 0.0f;
return procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation);
}
daPy_frameCtrl_c* frameCtrl = mFrameCtrl1;
dMeter2Info_onDirectUseItem(itemSetBtn);
if (spinner->checkPathMoveNow() == NULL) {
seStartOnlyReverbLevel(Z2SE_AL_SPINNER_RIDE);
setSpinnerStatus(ACTION_STR_ATTACK, 0);
} else {
seStartOnlyReverbLevel(Z2SE_AL_SPINNER_RAIL);
setSpinnerStatus(ACTION_STR_JUMP2, 0);
}
mNormalSpeed = spinner->mSpeedF;
mCurrent.mAngle.y = spinner->mCurrent.mAngle.y;
if (spinner->checkSpinnerTagIntoIncRot()) {
field_0x3012 = 1;
setSpinnerStatus(ACTION_STR_SPIN, 4);
if (field_0x3198 != ANM_SPINNER_PUSH && field_0x2060->getOldFrameRate() < 0.01f) {
setSingleAnimeBaseSpeed(ANM_SPINNER_RIDE, daAlinkHIO_board_c0::m.mSitAnmSpeed,
daAlinkHIO_board_c0::m.mFastPushInterpolation);
field_0x3198 = ANM_SPINNER_PUSH;
fopAcM_seStartCurrent(spinner, Z2SE_OBJ_SPNR_SW_PUSH, 0);
}
} else if (spinner->checkSpinnerTagInto()) {
if (field_0x3012 != 0) {
setSpinnerStatus(ACTION_STR_SPIN, 4);
} else {
setSpinnerStatus(ACTION_STR_SPIN, 0);
}
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,
daAlinkHIO_board_c0::m.mStandInterpolation);
field_0x3198 = ANM_SPINNER_STAND;
}
} 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,
daAlinkHIO_board_c0::m.mAirborneAnm.mEndF,
daAlinkHIO_board_c0::m.mAirborneAnm.mInterpolation);
field_0x3010 = 0;
} else if (field_0x3198 == ANM_SPINNER_ATTACK) {
if (!spinner->getJumpFlg()) {
setSingleAnime(ANM_SPINNER_ATTACK_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;
} else if (field_0x3010 == 0 && field_0x2060->getOldFrameRate() < 0.01f) {
setSingleAnime(ANM_SPINNER_ATTACK, 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,
daAlinkHIO_board_c0::m.mSitInterpolation);
field_0x3198 = ANM_SPINNER_RIDE;
}
}
setSpinnerSyncPos();
mCollisionRot.y = field_0x300e;
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daAlink_c::procSpinnerWait() {
nofralloc
#include "asm/d/a/d_a_alink/procSpinnerWait__9daAlink_cFv.s"
}
#pragma pop
#endif
+170
View File
@@ -0,0 +1,170 @@
/* 800EA844-800EA8D0 0E5184 008C+00 5/5 0/0 0/0 .text checkSumouVsActor__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkSumouVsActor() {
nofralloc
#include "asm/d/a/d_a_alink/checkSumouVsActor__9daAlink_cFv.s"
}
#pragma pop
/* 800EA8D0-800EA908 0E5210 0038+00 5/5 0/0 0/0 .text cancelSumouMode__9daAlink_cFv */
void daAlink_c::cancelSumouMode() {
mCargoCarryAcKeep.clearData();
mSpecialMode = 0;
}
/* 800EA908-800EA92C 0E5248 0024+00 2/2 0/0 0/0 .text sumouPunchTrigger__9daAlink_cFv */
void daAlink_c::sumouPunchTrigger() {
itemTriggerCheck(BTN_B);
}
/* 800EA92C-800EA950 0E526C 0024+00 5/5 0/0 0/0 .text setSumouPunchStatus__9daAlink_cFv
*/
void daAlink_c::setSumouPunchStatus() {
setBStatus(0x44);
}
/* 800EA950-800EAA28 0E5290 00D8+00 4/4 0/0 0/0 .text procSumouReadyInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSumouReadyInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSumouReadyInit__9daAlink_cFv.s"
}
#pragma pop
/* 800EAA28-800EAC4C 0E5368 0224+00 1/0 0/0 0/0 .text procSumouReady__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSumouReady() {
nofralloc
#include "asm/d/a/d_a_alink/procSumouReady__9daAlink_cFv.s"
}
#pragma pop
/* 800EAC4C-800EAD84 0E558C 0138+00 1/1 0/0 0/0 .text procSumouMoveInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSumouMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSumouMoveInit__9daAlink_cFv.s"
}
#pragma pop
/* 800EAD84-800EB208 0E56C4 0484+00 1/0 0/0 0/0 .text procSumouMove__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSumouMove() {
nofralloc
#include "asm/d/a/d_a_alink/procSumouMove__9daAlink_cFv.s"
}
#pragma pop
/* 800EB208-800EB2BC 0E5B48 00B4+00 4/4 0/0 0/0 .text procSumouSideMoveInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSumouSideMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSumouSideMoveInit__9daAlink_cFv.s"
}
#pragma pop
/* 800EB2BC-800EB624 0E5BFC 0368+00 1/0 0/0 0/0 .text procSumouSideMove__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSumouSideMove() {
nofralloc
#include "asm/d/a/d_a_alink/procSumouSideMove__9daAlink_cFv.s"
}
#pragma pop
/* 800EB624-800EBCE0 0E5F64 06BC+00 4/4 0/0 0/0 .text procSumouActionInit__9daAlink_cFiii
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSumouActionInit(int param_0, int param_1, int param_2) {
nofralloc
#include "asm/d/a/d_a_alink/procSumouActionInit__9daAlink_cFiii.s"
}
#pragma pop
/* 800EBCE0-800EC0F8 0E6620 0418+00 1/0 0/0 0/0 .text procSumouAction__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSumouAction() {
nofralloc
#include "asm/d/a/d_a_alink/procSumouAction__9daAlink_cFv.s"
}
#pragma pop
/* 800EC0F8-800EC170 0E6A38 0078+00 1/1 0/0 0/0 .text procSumouStaggerInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSumouStaggerInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSumouStaggerInit__9daAlink_cFv.s"
}
#pragma pop
/* 800EC170-800EC20C 0E6AB0 009C+00 1/0 0/0 0/0 .text procSumouStagger__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSumouStagger() {
nofralloc
#include "asm/d/a/d_a_alink/procSumouStagger__9daAlink_cFv.s"
}
#pragma pop
/* 800EC20C-800EC3D8 0E6B4C 01CC+00 1/1 0/0 0/0 .text procSumouWinLoseInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSumouWinLoseInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSumouWinLoseInit__9daAlink_cFv.s"
}
#pragma pop
/* 800EC3D8-800EC538 0E6D18 0160+00 1/0 0/0 0/0 .text procSumouWinLose__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSumouWinLose() {
nofralloc
#include "asm/d/a/d_a_alink/procSumouWinLose__9daAlink_cFv.s"
}
#pragma pop
/* 800EC538-800EC5F4 0E6E78 00BC+00 1/0 0/0 0/0 .text procSumouShikoInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSumouShikoInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSumouShikoInit__9daAlink_cFv.s"
}
#pragma pop
/* 800EC5F4-800EC724 0E6F34 0130+00 1/0 0/0 0/0 .text procSumouShiko__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSumouShiko() {
nofralloc
#include "asm/d/a/d_a_alink/procSumouShiko__9daAlink_cFv.s"
}
#pragma pop
+422
View File
@@ -0,0 +1,422 @@
/* 80101890-801018E4 0FC1D0 0054+00 6/6 0/0 0/0 .text checkZoraWearMaskDraw__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL daAlink_c::checkZoraWearMaskDraw() {
nofralloc
#include "asm/d/a/d_a_alink/checkZoraWearMaskDraw__9daAlink_cFv.s"
}
#pragma pop
/* 801018E4-80101934 0FC224 0050+00 1/1 0/0 0/0 .text checkAcceptUseItemInWater__9daAlink_cCFUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkAcceptUseItemInWater(u16 param_0) const {
nofralloc
#include "asm/d/a/d_a_alink/checkAcceptUseItemInWater__9daAlink_cCFUs.s"
}
#pragma pop
/* 80101934-801019B8 0FC274 0084+00 4/4 0/0 0/0 .text swimDeleteItem__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::swimDeleteItem() {
nofralloc
#include "asm/d/a/d_a_alink/swimDeleteItem__9daAlink_cFv.s"
}
#pragma pop
/* 801019B8-80101A18 0FC2F8 0060+00 11/11 0/0 0/0 .text getZoraSwim__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getZoraSwim() const {
nofralloc
#include "asm/d/a/d_a_alink/getZoraSwim__9daAlink_cCFv.s"
}
#pragma pop
/* 80101A18-80101AA8 0FC358 0090+00 6/6 0/0 0/0 .text getSwimFrontMaxSpeed__9daAlink_cCFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getSwimFrontMaxSpeed() const {
nofralloc
#include "asm/d/a/d_a_alink/getSwimFrontMaxSpeed__9daAlink_cCFv.s"
}
#pragma pop
/* 80101AA8-80101B44 0FC3E8 009C+00 5/5 0/0 0/0 .text getSwimMaxFallSpeed__9daAlink_cCFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getSwimMaxFallSpeed() const {
nofralloc
#include "asm/d/a/d_a_alink/getSwimMaxFallSpeed__9daAlink_cCFv.s"
}
#pragma pop
/* 80101B44-80101C94 0FC484 0150+00 1/1 0/0 0/0 .text checkOxygenTimer__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkOxygenTimer() {
nofralloc
#include "asm/d/a/d_a_alink/checkOxygenTimer__9daAlink_cFv.s"
}
#pragma pop
/* 80101C94-80101CB8 0FC5D4 0024+00 3/3 0/0 0/0 .text offOxygenTimer__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::offOxygenTimer() {
nofralloc
#include "asm/d/a/d_a_alink/offOxygenTimer__9daAlink_cFv.s"
}
#pragma pop
/* 80101CB8-80101CF4 0FC5F8 003C+00 2/2 0/0 0/0 .text checkPossibleWaterInMode__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkPossibleWaterInMode() const {
nofralloc
#include "asm/d/a/d_a_alink/checkPossibleWaterInMode__9daAlink_cCFv.s"
}
#pragma pop
/* 80101CF4-80101D70 0FC634 007C+00 18/18 0/0 0/0 .text
* setWaterInAnmRate__9daAlink_cFP16daPy_frameCtrl_cf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setWaterInAnmRate(daPy_frameCtrl_c* param_0, f32 param_1) {
nofralloc
#include "asm/d/a/d_a_alink/setWaterInAnmRate__9daAlink_cFP16daPy_frameCtrl_cf.s"
}
#pragma pop
/* 80101D70-801023E4 0FC6B0 0674+00 2/2 0/0 0/0 .text swimBgCheck__9daAlink_cFf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::swimBgCheck(f32 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/swimBgCheck__9daAlink_cFf.s"
}
#pragma pop
/* 801023E4-801029C8 0FCD24 05E4+00 3/3 0/0 0/0 .text setSpeedAndAngleSwim__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setSpeedAndAngleSwim() {
nofralloc
#include "asm/d/a/d_a_alink/setSpeedAndAngleSwim__9daAlink_cFv.s"
}
#pragma pop
/* 801029C8-80102B1C 0FD308 0154+00 3/3 0/0 0/0 .text checkNextActionSwim__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkNextActionSwim() {
nofralloc
#include "asm/d/a/d_a_alink/checkNextActionSwim__9daAlink_cFv.s"
}
#pragma pop
/* 80102B1C-80103058 0FD45C 053C+00 3/3 0/0 0/0 .text checkSwimAction__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkSwimAction(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkSwimAction__9daAlink_cFi.s"
}
#pragma pop
/* 80103058-801032C8 0FD998 0270+00 7/7 0/0 0/0 .text checkSwimUpAction__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkSwimUpAction() {
nofralloc
#include "asm/d/a/d_a_alink/checkSwimUpAction__9daAlink_cFv.s"
}
#pragma pop
/* 801032C8-80103398 0FDC08 00D0+00 8/8 0/0 0/0 .text swimOutAfter__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::swimOutAfter(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/swimOutAfter__9daAlink_cFi.s"
}
#pragma pop
/* 80103398-801033CC 0FDCD8 0034+00 1/1 0/0 0/0 .text checkSwimFall__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkSwimFall() {
nofralloc
#include "asm/d/a/d_a_alink/checkSwimFall__9daAlink_cFv.s"
}
#pragma pop
/* 801033CC-80103698 0FDD0C 02CC+00 1/1 0/0 0/0 .text checkSwimOutAction__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkSwimOutAction() {
nofralloc
#include "asm/d/a/d_a_alink/checkSwimOutAction__9daAlink_cFv.s"
}
#pragma pop
/* 80103698-80103EE0 0FDFD8 0848+00 4/4 0/0 0/0 .text setSwimMoveAnime__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setSwimMoveAnime() {
nofralloc
#include "asm/d/a/d_a_alink/setSwimMoveAnime__9daAlink_cFv.s"
}
#pragma pop
/* 80103EE0-80103F08 0FE820 0028+00 5/5 0/0 0/0 .text checkSwimButtonAccept__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkSwimButtonAccept() {
nofralloc
#include "asm/d/a/d_a_alink/checkSwimButtonAccept__9daAlink_cFv.s"
}
#pragma pop
/* 80103F08-80103F24 0FE848 001C+00 4/4 0/0 0/0 .text checkUpSwimButtonAccept__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkUpSwimButtonAccept() {
nofralloc
#include "asm/d/a/d_a_alink/checkUpSwimButtonAccept__9daAlink_cFv.s"
}
#pragma pop
/* 80103F24-80103F94 0FE864 0070+00 2/2 0/0 0/0 .text checkSwimButtonMove__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkSwimButtonMove() {
nofralloc
#include "asm/d/a/d_a_alink/checkSwimButtonMove__9daAlink_cFv.s"
}
#pragma pop
/* 80103F94-80103FE8 0FE8D4 0054+00 3/3 0/0 0/0 .text checkZoraSwimMove__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkZoraSwimMove() {
nofralloc
#include "asm/d/a/d_a_alink/checkZoraSwimMove__9daAlink_cFv.s"
}
#pragma pop
/* 80103FE8-80104034 0FE928 004C+00 2/2 0/0 0/0 .text checkSwimNeckUpDown__9daAlink_cCFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkSwimNeckUpDown() const {
nofralloc
#include "asm/d/a/d_a_alink/checkSwimNeckUpDown__9daAlink_cCFv.s"
}
#pragma pop
/* 80104034-801040F8 0FE974 00C4+00 3/3 0/0 0/0 .text setSwimUpDownOffset__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setSwimUpDownOffset() {
nofralloc
#include "asm/d/a/d_a_alink/setSwimUpDownOffset__9daAlink_cFv.s"
}
#pragma pop
/* 801040F8-801041E8 0FEA38 00F0+00 2/2 0/0 0/0 .text procSwimUpInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimUpInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimUpInit__9daAlink_cFv.s"
}
#pragma pop
/* 801041E8-801042F8 0FEB28 0110+00 1/0 0/0 0/0 .text procSwimUp__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimUp() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimUp__9daAlink_cFv.s"
}
#pragma pop
/* 801042F8-801044B4 0FEC38 01BC+00 15/15 0/0 0/0 .text procSwimWaitInit__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimWaitInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procSwimWaitInit__9daAlink_cFi.s"
}
#pragma pop
/* 801044B4-80104670 0FEDF4 01BC+00 1/0 0/0 0/0 .text procSwimWait__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimWait() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimWait__9daAlink_cFv.s"
}
#pragma pop
/* 80104670-801047B8 0FEFB0 0148+00 9/9 0/0 0/0 .text procSwimMoveInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimMoveInit__9daAlink_cFv.s"
}
#pragma pop
/* 801047B8-80104958 0FF0F8 01A0+00 1/0 0/0 0/0 .text procSwimMove__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimMove() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimMove__9daAlink_cFv.s"
}
#pragma pop
/* 80104958-80104AA0 0FF298 0148+00 4/4 0/0 0/0 .text procSwimDiveInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimDiveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimDiveInit__9daAlink_cFv.s"
}
#pragma pop
/* 80104AA0-80104C50 0FF3E0 01B0+00 1/0 0/0 0/0 .text procSwimDive__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimDive() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimDive__9daAlink_cFv.s"
}
#pragma pop
/* 80104C50-80104D7C 0FF590 012C+00 1/1 0/0 0/0 .text procSwimHookshotSubjectInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimHookshotSubjectInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimHookshotSubjectInit__9daAlink_cFv.s"
}
#pragma pop
/* 80104D7C-80104EB8 0FF6BC 013C+00 1/0 0/0 0/0 .text procSwimHookshotSubject__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimHookshotSubject() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimHookshotSubject__9daAlink_cFv.s"
}
#pragma pop
/* 80104EB8-80104FC4 0FF7F8 010C+00 1/1 0/0 0/0 .text procSwimHookshotMoveInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimHookshotMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimHookshotMoveInit__9daAlink_cFv.s"
}
#pragma pop
/* 80104FC4-8010519C 0FF904 01D8+00 1/0 0/0 0/0 .text procSwimHookshotMove__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimHookshotMove() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimHookshotMove__9daAlink_cFv.s"
}
#pragma pop
/* 8010519C-80105728 0FFADC 058C+00 1/1 0/0 0/0 .text
* procSwimDamageInit__9daAlink_cFP12dCcD_GObjInf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimDamageInit(dCcD_GObjInf* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procSwimDamageInit__9daAlink_cFP12dCcD_GObjInf.s"
}
#pragma pop
/* 80105728-801058A0 100068 0178+00 1/0 0/0 0/0 .text procSwimDamage__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimDamage() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimDamage__9daAlink_cFv.s"
}
#pragma pop
/* 801058A0-80105A00 1001E0 0160+00 2/2 0/0 0/0 .text procOctaIealSpitInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procOctaIealSpitInit() {
nofralloc
#include "asm/d/a/d_a_alink/procOctaIealSpitInit__9daAlink_cFv.s"
}
#pragma pop
/* 80105A00-80105A84 100340 0084+00 1/0 0/0 0/0 .text procOctaIealSpit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procOctaIealSpit() {
nofralloc
#include "asm/d/a/d_a_alink/procOctaIealSpit__9daAlink_cFv.s"
}
#pragma pop
+100
View File
@@ -0,0 +1,100 @@
/* 801406A8-80140888 13AFE8 01E0+00 0/0 1/1 0/0 .text initStatusWindow__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::initStatusWindow() {
nofralloc
#include "asm/d/a/d_a_alink/initStatusWindow__9daAlink_cFv.s"
}
#pragma pop
/* 80140888-80140984 13B1C8 00FC+00 0/0 1/1 0/0 .text statusWindowExecute__9daAlink_cFPC4cXyzs */
void daAlink_c::statusWindowExecute(cXyz const* param_0, s16 param_1) {
if (loadModelDVD()) {
if (mSwordChangeWaitTimer != 0) {
mSwordChangeWaitTimer--;
}
loadShieldModelDVD();
setSelectEquipItem(1);
if (mSwordChangeWaitTimer >= 30) {
mSwordChangeWaitTimer = 0;
}
mDoMtx_stack_c::transS(*param_0);
mDoMtx_stack_c::YrotM(param_1);
field_0x0650->i_setBaseTRMtx(mDoMtx_stack_c::get());
m_sWindowBck->play();
m_sWindowBck->entry(field_0x064C);
field_0x0650->calc();
if (i_checkWolf()) {
setWolfItemMatrix();
} else {
setItemMatrix(1);
}
}
}
/* 80140984-80140AC8 13B2C4 0144+00 0/0 1/1 0/0 .text statusWindowDraw__9daAlink_cFv */
void daAlink_c::statusWindowDraw() {
if (mClothesChangeWaitTimer == 0) {
g_env_light.settingTevStruct(12, &mCurrent.mPosition, &mTevStr);
initTevCustomColor();
if (!i_checkWolf()) {
setWaterDropColor((J3DGXColorS10*)&waterColor);
setDrawHand();
}
basicModelDraw(field_0x0650);
if (!i_checkWolf()) {
basicModelDraw(field_0x065c);
basicModelDraw(field_0x0658);
basicModelDraw(field_0x0654);
if (i_checkEquipHeavyBoots()) {
for (int i = 0; i < 2; i++) {
basicModelDraw(field_0x784[i]);
}
}
}
if (checkSwordDraw()) {
basicModelDraw(mSwordModel);
if (!checkWoodSwordEquip()) {
basicModelDraw(field_0x06bc);
}
}
if (checkShieldDraw()) {
basicModelDraw(mShieldModel);
}
}
}
/* 80140AC8-80140B88 13B408 00C0+00 0/0 1/1 0/0 .text resetStatusWindow__9daAlink_cFv */
void daAlink_c::resetStatusWindow() {
i_offNoResetFlg2(0x400000);
if (i_checkWolf()) {
changeModelDataDirectWolf(1);
} else {
changeModelDataDirect(1);
}
setMatrix();
field_0x0650->calc();
i_onNoResetFlg2(0x400000);
setSelectEquipItem(0);
if (i_checkWolf()) {
setWolfItemMatrix();
} else {
setItemMatrix(0);
}
i_offNoResetFlg2(0x400000);
m_sWindowBck = NULL;
}
+154
View File
@@ -0,0 +1,154 @@
/* 8011174C-80111770 10C08C 0024+00 1/1 0/0 0/0 .text daAlink_searchWhistle__FP10fopAc_ac_cPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daAlink_searchWhistle(fopAc_ac_c* param_0, void* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/daAlink_searchWhistle__FP10fopAc_ac_cPv.s"
}
#pragma pop
/* 80111770-80111784 10C0B0 0014+00 1/1 0/0 0/0 .text daAlink_searchHawk__FP10fopAc_ac_cPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daAlink_searchHawk(fopAc_ac_c* param_0, void* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/daAlink_searchHawk__FP10fopAc_ac_cPv.s"
}
#pragma pop
/* ############################################################################################## */
/* 8045069C-804506A4 -00001 0008+00 1/1 0/0 0/0 .sdata grassWhistleArcName$33096 */
SECTION_SDATA static void* grassWhistleArcName[2] = {
(void*)(((char*)&d_a_d_a_alink__stringBase0) + 0xAD),
(void*)(((char*)&d_a_d_a_alink__stringBase0) + 0xB4),
};
/* 80111784-8011181C 10C0C4 0098+00 1/1 0/0 0/0 .text setGrassWhistleModel__9daAlink_cFi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setGrassWhistleModel(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/setGrassWhistleModel__9daAlink_cFi.s"
}
#pragma pop
/* 8011181C-80111894 10C15C 0078+00 1/1 0/0 0/0 .text setHorseWhistleModel__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setHorseWhistleModel() {
nofralloc
#include "asm/d/a/d_a_alink/setHorseWhistleModel__9daAlink_cFv.s"
}
#pragma pop
/* 80111894-801119D8 10C1D4 0144+00 2/2 0/0 0/0 .text procGrassWhistleGetInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrassWhistleGetInit() {
nofralloc
#include "asm/d/a/d_a_alink/procGrassWhistleGetInit__9daAlink_cFv.s"
}
#pragma pop
/* 801119D8-80111A9C 10C318 00C4+00 1/0 0/0 0/0 .text procGrassWhistleGet__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrassWhistleGet() {
nofralloc
#include "asm/d/a/d_a_alink/procGrassWhistleGet__9daAlink_cFv.s"
}
#pragma pop
/* 80111A9C-80111CA4 10C3DC 0208+00 2/2 0/0 0/0 .text
* procGrassWhistleWaitInit__9daAlink_cFiiisP4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrassWhistleWaitInit(int param_0, int param_1, int param_2, s16 param_3,
cXyz* param_4) {
nofralloc
#include "asm/d/a/d_a_alink/procGrassWhistleWaitInit__9daAlink_cFiiisP4cXyz.s"
}
#pragma pop
/* 80111CA4-80111FF0 10C5E4 034C+00 1/0 0/0 0/0 .text procGrassWhistleWait__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrassWhistleWait() {
nofralloc
#include "asm/d/a/d_a_alink/procGrassWhistleWait__9daAlink_cFv.s"
}
#pragma pop
/* 80111FF0-801120C8 10C930 00D8+00 2/2 0/0 0/0 .text procCoHorseCallWaitInit__9daAlink_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoHorseCallWaitInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCoHorseCallWaitInit__9daAlink_cFi.s"
}
#pragma pop
/* 801120C8-801121B4 10CA08 00EC+00 1/0 0/0 0/0 .text procCoHorseCallWait__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoHorseCallWait() {
nofralloc
#include "asm/d/a/d_a_alink/procCoHorseCallWait__9daAlink_cFv.s"
}
#pragma pop
/* 801121B4-80112220 10CAF4 006C+00 1/0 0/0 0/0 .text procHawkCatchInit__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHawkCatchInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHawkCatchInit__9daAlink_cFv.s"
}
#pragma pop
/* 80112220-80112278 10CB60 0058+00 1/0 0/0 0/0 .text procHawkCatch__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHawkCatch() {
nofralloc
#include "asm/d/a/d_a_alink/procHawkCatch__9daAlink_cFv.s"
}
#pragma pop
/* 80112278-80112304 10CBB8 008C+00 2/2 0/0 0/0 .text procHawkSubjectInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHawkSubjectInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHawkSubjectInit__9daAlink_cFv.s"
}
#pragma pop
/* 80112304-8011243C 10CC44 0138+00 1/0 0/0 0/0 .text procHawkSubject__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHawkSubject() {
nofralloc
#include "asm/d/a/d_a_alink/procHawkSubject__9daAlink_cFv.s"
}
#pragma pop
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -721,7 +721,7 @@ int daItem_c::_daItem_execute() {
if (mCollider.ChkTgHit()) {
cCcD_Obj* hitObj = mCollider.GetTgHitObj();
if (hitObj != NULL && hitObj->ChkAtType(0x4000)) {
if (hitObj != NULL && hitObj->ChkAtType(AT_TYPE_HOOKSHOT)) {
field_0x978.startCollisionSE(Z2SE_HIT_HOOKSHOT_STICK, 0, NULL);
}
}
+281 -164
View File
@@ -137,22 +137,22 @@ void cBgS_ChkElm::Init() {
m_bgw_base_ptr = NULL;
m_used = false;
m_actor_ptr = NULL;
field_0x8 = 0xFFFFFFFF;
m_actor_id = 0xFFFFFFFF;
}
/* 80074110-80074128 06EA50 0018+00 1/0 0/0 0/0 .text Regist2__11cBgS_ChkElmFP9dBgW_BaseUiPv */
void cBgS_ChkElm::Regist2(dBgW_Base* base_ptr, unsigned int param_1, void* param_2) {
void cBgS_ChkElm::Regist2(dBgW_Base* p_data, unsigned int actor_id, void* p_actor) {
m_used = true;
m_bgw_base_ptr = base_ptr;
field_0x8 = param_1;
m_actor_ptr = (fopAc_ac_c*)param_2;
m_bgw_base_ptr = p_data;
m_actor_id = actor_id;
m_actor_ptr = (fopAc_ac_c*)p_actor;
}
/* 80074128-80074144 06EA68 001C+00 2/2 0/0 0/0 .text Release__11cBgS_ChkElmFv */
void cBgS_ChkElm::Release() {
m_used = false;
m_bgw_base_ptr = NULL;
field_0x8 = 0xFFFFFFFF;
m_actor_id = 0xFFFFFFFF;
m_actor_ptr = NULL;
}
@@ -161,8 +161,7 @@ void cBgS_ChkElm::Release() {
static int l_SetCounter;
/* 80074144-80074250 06EA84 010C+00 1/1 0/0 0/0 .text Regist__4cBgSFP9dBgW_BaseUiPv */
#ifdef NONMATCHING
bool cBgS::Regist(dBgW_Base* p_data, unsigned int param_1, void* param_2) {
bool cBgS::Regist(dBgW_Base* p_data, unsigned int actor_id, void* p_actor) {
if (p_data == NULL) {
return true;
} else if (p_data->ChkUsed()) {
@@ -170,42 +169,45 @@ bool cBgS::Regist(dBgW_Base* p_data, unsigned int param_1, void* param_2) {
} else if (p_data->ChkMemoryError()) {
return true;
} else {
for (int i = 0; i < 0x100; i++) {
if (!m_chk_element[i].m_bgw_base_ptr->ChkUsed()) {
m_chk_element[i].Regist2(p_data, param_1, param_2);
int i = l_SetCounter;
do {
if (!m_chk_element[i].m_used) {
m_chk_element[i].Regist2(p_data, actor_id, p_actor);
p_data->Regist(i);
l_SetCounter = i + 1;
if (l_SetCounter > 0x100) {
if (l_SetCounter >= 0x100) {
l_SetCounter = 0;
}
return false;
}
}
i++;
if (i >= 0x100) {
i = 0;
}
} while (l_SetCounter != i);
p_data->Release();
}
return true;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool cBgS::Regist(dBgW_Base* param_0, unsigned int param_1, void* param_2) {
nofralloc
#include "asm/d/bg/d_bg_s/Regist__4cBgSFP9dBgW_BaseUiPv.s"
}
#pragma pop
#endif
/* 80074250-800742E4 06EB90 0094+00 0/0 2/2 187/187 .text Release__4cBgSFP9dBgW_Base */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS::Release(dBgW_Base* param_0) {
nofralloc
#include "asm/d/bg/d_bg_s/Release__4cBgSFP9dBgW_Base.s"
int cBgS::Release(dBgW_Base* p_data) {
if (p_data == NULL) {
return 1;
}
int id = p_data->GetId();
if (p_data->ChkUsed() && id >= 0 && id < 0x100 && m_chk_element[id].ChkUsed()) {
m_chk_element[id].Release();
p_data->Release();
} else {
return 1;
}
return 0;
}
#pragma pop
/* 800742E4-80074338 06EC24 0054+00 2/1 0/0 0/0 .text Ct__4cBgSFv */
void cBgS::Ct() {
@@ -229,52 +231,99 @@ void cBgS::Dt() {
}
/* 800743B4-800744A0 06ECF4 00EC+00 0/0 16/16 305/305 .text LineCross__4cBgSFP11cBgS_LinChk */
#ifdef NONMATCHING
bool cBgS::LineCross(cBgS_LinChk* param_0) {
param_0->ClearPi();
param_0->ClrHit();
param_0->PreCalc();
bool cBgS::LineCross(cBgS_LinChk* p_line) {
p_line->ClearPi();
p_line->ClrHit();
p_line->PreCalc();
cBgS_ChkElm* elm = m_chk_element;
for (int i = 0; i < 0x100; i++) {
if (m_chk_element[i].ChkUsed() && !m_chk_element[i].m_bgw_base_ptr->ChkLock() &&
!param_0->ChkSameActorPid(m_chk_element[i].field_0x8) &&
m_chk_element[i].m_bgw_base_ptr->LineCheck(param_0)) {
param_0->SetActorInfo(i, &m_chk_element[0], m_chk_element[i].field_0x8);
param_0->SetHit();
if (elm->ChkUsed() && !elm->m_bgw_base_ptr->ChkNotReady() &&
!p_line->ChkSameActorPid(elm->m_actor_id) && elm->m_bgw_base_ptr->LineCheck(p_line)) {
p_line->SetActorInfo(i, elm->m_bgw_base_ptr, elm->m_actor_id);
p_line->SetHit();
}
elm++;
}
return param_0->ChkHit() ? true : false;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool cBgS::LineCross(cBgS_LinChk* param_0) {
nofralloc
#include "asm/d/bg/d_bg_s/LineCross__4cBgSFP11cBgS_LinChk.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 804526B8-804526C0 000CB8 0004+04 1/1 0/0 0/0 .sdata2 @3738 */
SECTION_SDATA2 static f32 lit_3738[1 + 1 /* padding */] = {
-1000000000.0f,
/* padding */
0.0f,
};
return p_line->ChkHit() ? true : false;
}
/* 800744A0-80074578 06EDE0 00D8+00 0/0 51/51 231/231 .text GroundCross__4cBgSFP11cBgS_GndChk */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm f32 cBgS::GroundCross(cBgS_GndChk* param_0) {
nofralloc
#include "asm/d/bg/d_bg_s/GroundCross__4cBgSFP11cBgS_GndChk.s"
f32 cBgS::GroundCross(cBgS_GndChk* p_gnd) {
p_gnd->SetNowY(-1000000000.0f);
p_gnd->ClearPi();
p_gnd->PreCheck();
cBgS_ChkElm* elm = m_chk_element;
for (int i = 0; i < 0x100; i++) {
if (elm->ChkUsed() && !elm->m_bgw_base_ptr->ChkNotReady() &&
!p_gnd->ChkSameActorPid(elm->m_actor_id) && elm->m_bgw_base_ptr->GroundCross(p_gnd)) {
p_gnd->SetActorInfo(i, elm->m_bgw_base_ptr, elm->m_actor_id);
}
elm++;
}
return p_gnd->GetNowY();
}
#pragma pop
struct cBgS_dzb_data {
// Vertex Info
/* 0x00 */ int m_v_num;
/* 0x04 */ u32 m_v_tbl;
// Triangle Info
/* 0x08 */ int m_t_num;
/* 0x0C */ u32 m_t_tbl;
// Spatial List Info
/* 0x10 */ int m_b_num;
/* 0x14 */ u32 m_b_tbl;
// Face Group Data Info
/* 0x18 */ int m_tree_num;
/* 0x1C */ u32 m_tree_tbl;
// String Group Info
/* 0x20 */ int m_g_num;
/* 0x24 */ u32 m_g_tbl;
// Surface Property Info
/* 0x28 */ int m_ti_num;
/* 0x2C */ u32 m_ti_tbl;
/* 0x30 */ u32 field_0x30;
}; // Size: 0x34
struct cBgS_dzb_strgroup {
u32 strOffset;
u8 data[0x30];
};
/* 80074578-80074618 06EEB8 00A0+00 0/0 1/1 0/0 .text ConvDzb__4cBgSFPv */
#ifdef NONMATCHING
void cBgS::ConvDzb(void* p_dzb) {
cBgS_dzb_data* pbgd = (cBgS_dzb_data*)p_dzb;
if (!(pbgd->field_0x30 & 0x80000000)) {
pbgd->field_0x30 |= 0x80000000;
if (pbgd->m_v_tbl != 0) {
pbgd->m_v_tbl += (u32)p_dzb;
}
pbgd->m_t_tbl += (u32)p_dzb;
pbgd->m_b_tbl += (u32)p_dzb;
pbgd->m_tree_tbl += (u32)p_dzb;
pbgd->m_g_tbl += (u32)p_dzb;
pbgd->m_ti_tbl += (u32)p_dzb;
for (int i = 0; i < pbgd->m_g_num; i++) {
((cBgS_dzb_strgroup*)pbgd->m_g_tbl)[i].strOffset += (u32)p_dzb;
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -283,6 +332,7 @@ asm void cBgS::ConvDzb(void* param_0) {
#include "asm/d/bg/d_bg_s/ConvDzb__4cBgSFPv.s"
}
#pragma pop
#endif
/* 80074618-80074628 06EF58 0010+00 0/0 9/9 13/13 .text GetActorPointer__4cBgSCFi */
fopAc_ac_c* cBgS::GetActorPointer(int actor_index) const {
@@ -312,7 +362,7 @@ bool cBgS::ChkPolySafe(cBgS_PolyInfo const& poly) {
} else {
if (m_chk_element[bg_index].ChkUsed()) {
return poly.ChkSafe(m_chk_element[bg_index].m_bgw_base_ptr,
m_chk_element[bg_index].field_0x8);
m_chk_element[bg_index].m_actor_id);
} else {
return false;
}
@@ -331,31 +381,15 @@ s32 cBgS::GetGrpRoomId(cBgS_PolyInfo const& poly) const {
/* 80074744-800747F0 06F084 00AC+00 4/4 62/62 142/142 .text
* GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla */
// something weird with virtual call
#ifdef NONMATCHING
bool cBgS::GetTriPla(cBgS_PolyInfo const& poly, cM3dGPla* param_1) const {
bool cBgS::GetTriPla(cBgS_PolyInfo const& poly, cM3dGPla* p_pla) const {
int bg_index = poly.GetBgIndex();
if (bg_index < 0 || bg_index >= 0x100 || !m_chk_element[bg_index].ChkUsed()) {
return false;
}
cM3dGPla pla;
m_chk_element[bg_index].m_bgw_base_ptr->GetTriPla(poly);
param_1->mNormal.x = pla.mNormal.x;
param_1->mNormal.y = pla.mNormal.y;
param_1->mNormal.z = pla.mNormal.z;
param_1->mD = pla.mD;
*p_pla = m_chk_element[bg_index].m_bgw_base_ptr->GetTriPla(poly);
return true;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool cBgS::GetTriPla(cBgS_PolyInfo const& param_0, cM3dGPla* param_1) const {
nofralloc
#include "asm/d/bg/d_bg_s/GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla.s"
}
#pragma pop
#endif
/* 800747F0-80074840 06F130 0050+00 0/0 1/1 0/0 .text
* GetTriPnt__4cBgSCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz */
@@ -364,18 +398,20 @@ bool cBgS::GetTriPnt(cBgS_PolyInfo const& poly, cXyz* param_1, cXyz* param_2, cX
if (!m_chk_element[id].ChkUsed()) {
return false;
}
return m_chk_element[id].m_bgw_base_ptr->GetTriPnt(poly, param_1, param_2, param_3);
}
/* 80074840-800748AC 06F180 006C+00 0/0 1/1 0/0 .text ShdwDraw__4cBgSFP13cBgS_ShdwDraw */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS::ShdwDraw(cBgS_ShdwDraw* param_0) {
nofralloc
#include "asm/d/bg/d_bg_s/ShdwDraw__4cBgSFP13cBgS_ShdwDraw.s"
void cBgS::ShdwDraw(cBgS_ShdwDraw* p_shdw) {
cBgS_ChkElm* elm = m_chk_element;
for (int i = 0; i < 0x100; i++) {
if (elm->ChkUsed()) {
elm->m_bgw_base_ptr->ShdwDraw(p_shdw);
}
elm++;
}
}
#pragma pop
/* 800748AC-800748FC 06F1EC 0050+00 1/1 0/0 0/0 .text GetGrpInf__4cBgSCFRC13cBgS_PolyInfo
*/
@@ -384,6 +420,7 @@ u32 cBgS::GetGrpInf(cBgS_PolyInfo const& poly) const {
if (!m_chk_element[id].ChkUsed()) {
return -1;
}
return m_chk_element[id].m_bgw_base_ptr->GetGrpInf(poly);
}
@@ -407,25 +444,30 @@ void dBgS::ClrMoveFlag() {
}
/* 800749A8-80074A08 06F2E8 0060+00 0/0 1/1 0/0 .text Move__4dBgSFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgS::Move() {
nofralloc
#include "asm/d/bg/d_bg_s/Move__4dBgSFv.s"
void dBgS::Move() {
cBgS_ChkElm* elm = m_chk_element;
for (int i = 0; i < 0x100; i++) {
if (elm->ChkUsed()) {
elm->m_bgw_base_ptr->CalcDiffShapeAngleY(elm->m_actor_ptr->mCollisionRot.y);
}
elm++;
}
}
#pragma pop
/* 80074A08-80074AB4 06F348 00AC+00 0/0 2/2 127/127 .text Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool dBgS::Regist(dBgW_Base* param_0, fopAc_ac_c* param_1) {
nofralloc
#include "asm/d/bg/d_bg_s/Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c.s"
bool dBgS::Regist(dBgW_Base* pbgw, fopAc_ac_c* p_actor) {
if (pbgw == NULL) {
return true;
}
if (p_actor != NULL && pbgw->ChkMoveBg()) {
pbgw->SetOldShapeAngleY(p_actor->mCollisionRot.y);
pbgw->SetRoomId(fopAcM_GetRoomNo(p_actor));
}
return cBgS::Regist(pbgw, fopAcM_GetID(p_actor), p_actor);
}
#pragma pop
/* 80074AB4-80074ABC -00001 0008+00 0/0 0/0 0/0 .text SetOldShapeAngleY__9dBgW_BaseFs */
void dBgW_Base::SetOldShapeAngleY(s16 shape_angle) {
@@ -439,10 +481,12 @@ bool dBgS::ChkMoveBG(cBgS_PolyInfo const& poly) {
if (base->ChkLock()) {
return false;
}
if (base->ChkMoveBg()) {
return true;
}
}
return false;
}
@@ -452,6 +496,7 @@ bool dBgS::ChkMoveBG_NoDABg(cBgS_PolyInfo const& poly) {
if (base != NULL && base->ChkMoveBg()) {
return true;
}
return false;
}
@@ -491,13 +536,13 @@ BOOL dBgS::GetHorseNoEntry(cBgS_PolyInfo const& poly) {
}
/* 80074CBC-80074D0C 06F5FC 0050+00 0/0 4/4 9/9 .text GetSpecialCode__4dBgSFRC13cBgS_PolyInfo */
bool dBgS::GetSpecialCode(cBgS_PolyInfo const& poly) {
int dBgS::GetSpecialCode(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->GetSpecialCode(poly);
}
return false;
return 0;
}
/* 80074D0C-80074D5C 06F64C 0050+00 0/0 2/2 2/2 .text GetMagnetCode__4dBgSFRC13cBgS_PolyInfo */
@@ -512,24 +557,24 @@ int dBgS::GetMagnetCode(cBgS_PolyInfo const& poly) {
/* 80074D5C-80074DAC 06F69C 0050+00 0/0 5/5 0/0 .text GetMonkeyBarsCode__4dBgSFRC13cBgS_PolyInfo
*/
bool dBgS::GetMonkeyBarsCode(cBgS_PolyInfo const& poly) {
int dBgS::GetMonkeyBarsCode(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->GetMonkeyBarsCode(poly);
}
return false;
return 0;
}
/* 80074DAC-80074E00 06F6EC 0054+00 0/0 0/0 1/1 .text
* GetUnderwaterRoofCode__4dBgSFRC13cBgS_PolyInfo */
bool dBgS::GetUnderwaterRoofCode(cBgS_PolyInfo const& poly) {
int 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());
}
return false;
return 0;
}
/* 80074E00-80074E50 06F740 0050+00 0/0 13/13 5/5 .text GetWallCode__4dBgSFRC13cBgS_PolyInfo */
@@ -539,7 +584,7 @@ s32 dBgS::GetWallCode(cBgS_PolyInfo const& poly) {
return m_chk_element[bg_index].m_bgw_base_ptr->GetWallCode(poly);
}
return false;
return 0;
}
/* 80074E50-80074EA0 06F790 0050+00 0/0 29/29 28/28 .text GetPolyAtt0__4dBgSFRC13cBgS_PolyInfo */
@@ -563,13 +608,13 @@ int dBgS::GetPolyAtt1(cBgS_PolyInfo const& poly) {
}
/* 80074EF0-80074F40 06F830 0050+00 0/0 7/7 8/8 .text GetGroundCode__4dBgSFRC13cBgS_PolyInfo */
bool dBgS::GetGroundCode(cBgS_PolyInfo const& poly) {
int dBgS::GetGroundCode(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->GetGroundCode(poly);
}
return false;
return 0;
}
/* 80074F40-80074F90 06F880 0050+00 0/0 1/1 0/0 .text GetCamMoveBG__4dBgSFRC13cBgS_PolyInfo */
@@ -677,60 +722,132 @@ u32 dBgS::ChkPolyHSStick(cBgS_PolyInfo const& poly) {
return m_chk_element[bg_index].m_bgw_base_ptr->GetPolyHSStick(poly.GetPolyIndex());
}
return false;
return 0;
}
/* 8007524C-80075374 06FB8C 0128+00 0/0 1/1 0/0 .text WallCorrect__4dBgSFP9dBgS_Acch */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgS::WallCorrect(dBgS_Acch* param_0) {
nofralloc
#include "asm/d/bg/d_bg_s/WallCorrect__4dBgSFP9dBgS_Acch.s"
void dBgS::WallCorrect(dBgS_Acch* p_acch) {
p_acch->CalcWallRR();
p_acch->CalcMovePosWork();
for (int i = 0; i < 3; i++) {
cBgS_ChkElm* elm = m_chk_element;
for (int j = 0; j < 0x100; j++) {
if (elm->ChkUsed() && !elm->m_bgw_base_ptr->ChkNotReady()) {
dBgW_Base* pbgw = elm->m_bgw_base_ptr;
if (pbgw->ChkPriority(i) && !p_acch->ChkSameActorPid(elm->m_actor_id)) {
if (!p_acch->ChkMoveBGOnly() || (pbgw->ChkMoveBg() && !pbgw->ChkLock())) {
p_acch->SetNowActorInfo(j, elm->m_bgw_base_ptr, elm->m_actor_id);
pbgw->WallCorrect(p_acch);
}
}
}
elm++;
}
}
}
#pragma pop
/* 80075374-8007549C 06FCB4 0128+00 0/0 1/1 0/0 .text WallCorrectSort__4dBgSFP9dBgS_Acch
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgS::WallCorrectSort(dBgS_Acch* param_0) {
nofralloc
#include "asm/d/bg/d_bg_s/WallCorrectSort__4dBgSFP9dBgS_Acch.s"
void dBgS::WallCorrectSort(dBgS_Acch* p_acch) {
p_acch->CalcWallRR();
p_acch->CalcMovePosWork();
for (int i = 0; i < 3; i++) {
cBgS_ChkElm* elm = m_chk_element;
for (int j = 0; j < 0x100; j++) {
if (elm->ChkUsed() && !elm->m_bgw_base_ptr->ChkNotReady()) {
dBgW_Base* pbgw = elm->m_bgw_base_ptr;
if (pbgw->ChkPriority(i) && !p_acch->ChkSameActorPid(elm->m_actor_id)) {
if (!p_acch->ChkMoveBGOnly() || (pbgw->ChkMoveBg() && !pbgw->ChkLock())) {
p_acch->SetNowActorInfo(j, elm->m_bgw_base_ptr, elm->m_actor_id);
pbgw->WallCorrectSort(p_acch);
}
}
}
elm++;
}
}
}
#pragma pop
/* 8007549C-80075564 06FDDC 00C8+00 0/0 17/17 1/1 .text RoofChk__4dBgSFP12dBgS_RoofChk */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm f32 dBgS::RoofChk(dBgS_RoofChk* param_0) {
nofralloc
#include "asm/d/bg/d_bg_s/RoofChk__4dBgSFP12dBgS_RoofChk.s"
f32 dBgS::RoofChk(dBgS_RoofChk* p_roof) {
p_roof->Init();
cBgS_ChkElm* elm = m_chk_element;
for (int i = 0; i < 0x100; i++) {
if (elm->ChkUsed() && !elm->m_bgw_base_ptr->ChkNotReady()) {
if (!p_roof->ChkSameActorPid(elm->m_actor_id)) {
dBgW_Base* pbgw = elm->m_bgw_base_ptr;
if (pbgw->RoofChk(p_roof)) {
p_roof->SetActorInfo(i, elm->m_bgw_base_ptr, elm->m_actor_id);
}
}
}
elm++;
}
return p_roof->GetNowY();
}
#pragma pop
/* 80075564-80075688 06FEA4 0124+00 0/0 2/2 3/3 .text SplGrpChk__4dBgSFP14dBgS_SplGrpChk
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool dBgS::SplGrpChk(dBgS_SplGrpChk* param_0) {
nofralloc
#include "asm/d/bg/d_bg_s/SplGrpChk__4dBgSFP14dBgS_SplGrpChk.s"
bool dBgS::SplGrpChk(dBgS_SplGrpChk* p_grp) {
bool ret = false;
p_grp->Init();
cBgS_ChkElm* elm = m_chk_element;
for (int i = 0; i < 0x100; i++) {
if (elm->ChkUsed() && !elm->m_bgw_base_ptr->ChkNotReady()) {
if (!p_grp->ChkSameActorPid(elm->m_actor_id)) {
dBgW_Base* pbgw = elm->m_bgw_base_ptr;
if (!p_grp->ChkMoveBGOnly() || (pbgw->ChkMoveBg() && !pbgw->ChkLock())) {
if (pbgw->SplGrpChk(p_grp)) {
ret = true;
p_grp->SetActorInfo(i, elm->m_bgw_base_ptr, elm->m_actor_id);
p_grp->OnFind();
}
}
}
}
elm++;
}
return ret;
}
#pragma pop
/* 80075688-80075774 06FFC8 00EC+00 0/0 1/1 1/1 .text SphChk__4dBgSFP11dBgS_SphChkPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgS::SphChk(dBgS_SphChk* param_0, void* param_1) {
nofralloc
#include "asm/d/bg/d_bg_s/SphChk__4dBgSFP11dBgS_SphChkPv.s"
bool dBgS::SphChk(dBgS_SphChk* p_sph, void* param_1) {
if (p_sph->mCallback == NULL) {
return false;
}
bool ret = false;
p_sph->ClearPi();
cBgS_ChkElm* elm = m_chk_element;
for (int i = 0; i < 0x100; i++) {
if (elm->ChkUsed() && !elm->m_bgw_base_ptr->ChkNotReady()) {
if (!p_sph->ChkSameActorPid(elm->m_actor_id)) {
dBgW_Base* pbgw = elm->m_bgw_base_ptr;
if (pbgw->SphChk(p_sph, param_1)) {
p_sph->SetActorInfo(i, elm->m_bgw_base_ptr, elm->m_actor_id);
ret = true;
}
}
}
elm++;
}
return ret;
}
#pragma pop
/* 80075774-80075880 0700B4 010C+00 0/0 3/3 0/0 .text
* MoveBgCrrPos__4dBgSFRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyzbb */
@@ -839,8 +956,8 @@ void dBgS_MoveBGProc_Trans(dBgW* param_0, void* param_1, cBgS_PolyInfo const& pa
/* 80075B84-80075BF4 0704C4 0070+00 0/0 1/1 2/2 .text
* RideCallBack__4dBgSFRC13cBgS_PolyInfoP10fopAc_ac_c */
void dBgS::RideCallBack(cBgS_PolyInfo const& param_0, fopAc_ac_c* param_1) {
u16 bg_index = param_0.GetBgIndex();
void dBgS::RideCallBack(cBgS_PolyInfo const& poly, fopAc_ac_c* param_1) {
u16 bg_index = poly.GetBgIndex();
dBgW_Base* base = m_chk_element[bg_index].m_bgw_base_ptr;
if (base->ChkUsed()) {
base->CallRideCallBack(m_chk_element[bg_index].m_actor_ptr, param_1);
@@ -849,8 +966,8 @@ void dBgS::RideCallBack(cBgS_PolyInfo const& param_0, fopAc_ac_c* param_1) {
/* 80075BF4-80075C6C 070534 0078+00 0/0 0/0 2/2 .text
* ArrowStickCallBack__4dBgSFRC13cBgS_PolyInfoP10fopAc_ac_cR4cXyz */
void dBgS::ArrowStickCallBack(cBgS_PolyInfo const& param_0, fopAc_ac_c* param_1, cXyz& param_2) {
u16 bg_index = param_0.GetBgIndex();
void dBgS::ArrowStickCallBack(cBgS_PolyInfo const& poly, fopAc_ac_c* param_1, cXyz& param_2) {
u16 bg_index = poly.GetBgIndex();
dBgW_Base* base = m_chk_element[bg_index].m_bgw_base_ptr;
if (base->ChkUsed()) {
base->CallArrowStickCallBack(m_chk_element[bg_index].m_actor_ptr, param_1, param_2);
@@ -891,10 +1008,10 @@ asm bool dBgS::PushPullCallBack(cBgS_PolyInfo const& param_0, fopAc_ac_c* param_
#endif
/* 80075D0C-80075D7C 07064C 0070+00 0/0 8/8 1/1 .text dBgS_CheckBWallPoly__FRC13cBgS_PolyInfo */
bool dBgS_CheckBWallPoly(cBgS_PolyInfo const& param_0) {
bool dBgS_CheckBWallPoly(cBgS_PolyInfo const& poly) {
cM3dGPla pla;
if (!dComIfG_Bgsp().GetTriPla(param_0, &pla)) {
if (!dComIfG_Bgsp().GetTriPla(poly, &pla)) {
return false;
}
@@ -902,10 +1019,10 @@ bool dBgS_CheckBWallPoly(cBgS_PolyInfo const& param_0) {
}
/* 80075D7C-80075DEC 0706BC 0070+00 0/0 3/3 1/1 .text dBgS_CheckBGroundPoly__FRC13cBgS_PolyInfo */
bool dBgS_CheckBGroundPoly(cBgS_PolyInfo const& param_0) {
bool dBgS_CheckBGroundPoly(cBgS_PolyInfo const& poly) {
cM3dGPla pla;
if (!dComIfG_Bgsp().GetTriPla(param_0, &pla)) {
if (!dComIfG_Bgsp().GetTriPla(poly, &pla)) {
return false;
}
@@ -913,10 +1030,10 @@ bool dBgS_CheckBGroundPoly(cBgS_PolyInfo const& param_0) {
}
/* 80075DEC-80075E5C 07072C 0070+00 0/0 0/0 1/1 .text dBgS_CheckBRoofPoly__FRC13cBgS_PolyInfo */
bool dBgS_CheckBRoofPoly(cBgS_PolyInfo const& param_0) {
bool dBgS_CheckBRoofPoly(cBgS_PolyInfo const& poly) {
cM3dGPla pla;
if (!dComIfG_Bgsp().GetTriPla(param_0, &pla)) {
if (!dComIfG_Bgsp().GetTriPla(poly, &pla)) {
return false;
}
@@ -924,10 +1041,10 @@ bool dBgS_CheckBRoofPoly(cBgS_PolyInfo const& param_0) {
}
/* 80075E5C-80075EAC 07079C 0050+00 0/0 1/1 0/0 .text dBgS_GetNY__FRC13cBgS_PolyInfo */
f32 dBgS_GetNY(cBgS_PolyInfo const& param_0) {
f32 dBgS_GetNY(cBgS_PolyInfo const& poly) {
cM3dGPla pla;
dComIfG_Bgsp().GetTriPla(param_0, &pla);
dComIfG_Bgsp().GetTriPla(poly, &pla);
return pla.mNormal.y;
}
+11 -11
View File
@@ -767,7 +767,7 @@ asm void cBgW::GroundCrossGrpRp(cBgS_GndChk* param_0, int param_1, int param_2)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgW::GroundCross(cBgS_GndChk* param_0) {
asm bool cBgW::GroundCross(cBgS_GndChk* param_0) {
nofralloc
#include "asm/d/bg/d_bg_w/GroundCross__4cBgWFP11cBgS_GndChk.s"
}
@@ -913,7 +913,7 @@ asm void cBgW::GetTopUnder(f32* param_0, f32* param_1) const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgW::GetTriPla(cBgS_PolyInfo const& param_0) const {
asm cM3dGPla cBgW::GetTriPla(cBgS_PolyInfo const& param_0) const {
nofralloc
#include "asm/d/bg/d_bg_w/GetTriPla__4cBgWCFRC13cBgS_PolyInfo.s"
}
@@ -995,7 +995,7 @@ asm BOOL dBgW::GetHorseNoEntry(cBgS_PolyInfo const& param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool dBgW::GetSpecialCode(cBgS_PolyInfo const& param_0) {
asm int dBgW::GetSpecialCode(cBgS_PolyInfo const& param_0) {
nofralloc
#include "asm/d/bg/d_bg_w/GetSpecialCode__4dBgWFRC13cBgS_PolyInfo.s"
}
@@ -1005,7 +1005,7 @@ asm bool dBgW::GetSpecialCode(cBgS_PolyInfo const& param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgW::GetSpecialCode(int param_0) {
asm int dBgW::GetSpecialCode(int param_0) {
nofralloc
#include "asm/d/bg/d_bg_w/GetSpecialCode__4dBgWFi.s"
}
@@ -1026,7 +1026,7 @@ asm int dBgW::GetMagnetCode(cBgS_PolyInfo const& param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool dBgW::GetMonkeyBarsCode(cBgS_PolyInfo const& param_0) {
asm int dBgW::GetMonkeyBarsCode(cBgS_PolyInfo const& param_0) {
nofralloc
#include "asm/d/bg/d_bg_w/GetMonkeyBarsCode__4dBgWFRC13cBgS_PolyInfo.s"
}
@@ -1126,7 +1126,7 @@ asm void dBgW::GetShdwThrough(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool dBgW::GetUnderwaterRoofCode(int param_0) {
asm int dBgW::GetUnderwaterRoofCode(int param_0) {
nofralloc
#include "asm/d/bg/d_bg_w/GetUnderwaterRoofCode__4dBgWFi.s"
}
@@ -1187,7 +1187,7 @@ asm int dBgW::GetPolyAtt1(cBgS_PolyInfo const& param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool dBgW::GetGroundCode(cBgS_PolyInfo const& param_0) {
asm int dBgW::GetGroundCode(cBgS_PolyInfo const& param_0) {
nofralloc
#include "asm/d/bg/d_bg_w/GetGroundCode__4dBgWFRC13cBgS_PolyInfo.s"
}
@@ -1288,7 +1288,7 @@ asm void cBgW::GetTriGrp(int param_0) const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgW::ChkNotReady() const {
asm bool cBgW::ChkNotReady() const {
nofralloc
#include "asm/d/bg/d_bg_w/ChkNotReady__4cBgWCFv.s"
}
@@ -1483,7 +1483,7 @@ asm void dBgW::RoofChkGrpRp(dBgS_RoofChk* param_0, int param_1, int param_2) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgW::RoofChk(dBgS_RoofChk* param_0) {
asm bool dBgW::RoofChk(dBgS_RoofChk* param_0) {
nofralloc
#include "asm/d/bg/d_bg_w/RoofChk__4dBgWFP12dBgS_RoofChk.s"
}
@@ -1524,7 +1524,7 @@ asm void dBgW::SplGrpChkGrpRp(dBgS_SplGrpChk* param_0, int param_1, int param_2)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgW::SplGrpChk(dBgS_SplGrpChk* param_0) {
asm bool dBgW::SplGrpChk(dBgS_SplGrpChk* param_0) {
nofralloc
#include "asm/d/bg/d_bg_w/SplGrpChk__4dBgWFP14dBgS_SplGrpChk.s"
}
@@ -1607,7 +1607,7 @@ asm void dBgW::SphChkGrpRp(dBgS_SphChk* param_0, void* param_1, int param_2, int
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgW::SphChk(dBgS_SphChk* param_0, void* param_1) {
asm bool dBgW::SphChk(dBgS_SphChk* param_0, void* param_1) {
nofralloc
#include "asm/d/bg/d_bg_w/SphChk__4dBgWFP11dBgS_SphChkPv.s"
}
+12 -12
View File
@@ -261,7 +261,7 @@ asm void dBgWKCol::getTriNrm(KC_PrismData* param_0, Vec** param_1) const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgWKCol::ChkNotReady() const {
asm bool dBgWKCol::ChkNotReady() const {
nofralloc
#include "asm/d/bg/d_bg_w_kcol/ChkNotReady__8dBgWKColCFv.s"
}
@@ -286,7 +286,7 @@ bool dBgWKCol::ChkMoveFlag() const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgWKCol::GetTriPla(cBgS_PolyInfo const& param_0) const {
asm cM3dGPla dBgWKCol::GetTriPla(cBgS_PolyInfo const& param_0) const {
nofralloc
#include "asm/d/bg/d_bg_w_kcol/GetTriPla__8dBgWKColCFRC13cBgS_PolyInfo.s"
}
@@ -410,7 +410,7 @@ SECTION_SDATA2 static f32 lit_4191 = -0.007499999832361937f;
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgWKCol::LineCheck(cBgS_LinChk* param_0) {
asm bool dBgWKCol::LineCheck(cBgS_LinChk* param_0) {
nofralloc
#include "asm/d/bg/d_bg_w_kcol/LineCheck__8dBgWKColFP11cBgS_LinChk.s"
}
@@ -424,7 +424,7 @@ SECTION_SDATA2 static f32 lit_4293 = 0.014000000432133675f;
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgWKCol::GroundCross(cBgS_GndChk* param_0) {
asm bool dBgWKCol::GroundCross(cBgS_GndChk* param_0) {
nofralloc
#include "asm/d/bg/d_bg_w_kcol/GroundCross__8dBgWKColFP11cBgS_GndChk.s"
}
@@ -512,7 +512,7 @@ asm void dBgWKCol::WallCorrect(dBgS_Acch* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgWKCol::RoofChk(dBgS_RoofChk* param_0) {
asm bool dBgWKCol::RoofChk(dBgS_RoofChk* param_0) {
nofralloc
#include "asm/d/bg/d_bg_w_kcol/RoofChk__8dBgWKColFP12dBgS_RoofChk.s"
}
@@ -522,7 +522,7 @@ asm void dBgWKCol::RoofChk(dBgS_RoofChk* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgWKCol::SplGrpChk(dBgS_SplGrpChk* param_0) {
asm bool dBgWKCol::SplGrpChk(dBgS_SplGrpChk* param_0) {
nofralloc
#include "asm/d/bg/d_bg_w_kcol/SplGrpChk__8dBgWKColFP14dBgS_SplGrpChk.s"
}
@@ -537,7 +537,7 @@ static u8 vtx_tbl_5950[36];
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgWKCol::SphChk(dBgS_SphChk* param_0, void* param_1) {
asm bool dBgWKCol::SphChk(dBgS_SphChk* param_0, void* param_1) {
nofralloc
#include "asm/d/bg/d_bg_w_kcol/SphChk__8dBgWKColFP11dBgS_SphChkPv.s"
}
@@ -604,7 +604,7 @@ asm void dBgWKCol::GetHorseNoEntry(cBgS_PolyInfo const& param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgWKCol::GetSpecialCode(cBgS_PolyInfo const& param_0) {
asm int dBgWKCol::GetSpecialCode(cBgS_PolyInfo const& param_0) {
nofralloc
#include "asm/d/bg/d_bg_w_kcol/GetSpecialCode__8dBgWKColFRC13cBgS_PolyInfo.s"
}
@@ -614,7 +614,7 @@ asm void dBgWKCol::GetSpecialCode(cBgS_PolyInfo const& param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgWKCol::GetSpecialCode(int param_0) {
asm int dBgWKCol::GetSpecialCode(int param_0) {
nofralloc
#include "asm/d/bg/d_bg_w_kcol/GetSpecialCode__8dBgWKColFi.s"
}
@@ -636,7 +636,7 @@ asm int dBgWKCol::GetMagnetCode(cBgS_PolyInfo const& param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgWKCol::GetMonkeyBarsCode(cBgS_PolyInfo const& param_0) {
asm int dBgWKCol::GetMonkeyBarsCode(cBgS_PolyInfo const& param_0) {
nofralloc
#include "asm/d/bg/d_bg_w_kcol/GetMonkeyBarsCode__8dBgWKColFRC13cBgS_PolyInfo.s"
}
@@ -727,7 +727,7 @@ asm void dBgWKCol::GetPolyBombThrough(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgWKCol::GetUnderwaterRoofCode(int param_0) {
asm int dBgWKCol::GetUnderwaterRoofCode(int param_0) {
nofralloc
#include "asm/d/bg/d_bg_w_kcol/GetUnderwaterRoofCode__8dBgWKColFi.s"
}
@@ -788,7 +788,7 @@ asm int dBgWKCol::GetPolyAtt1(cBgS_PolyInfo const& param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgWKCol::GetGroundCode(cBgS_PolyInfo const& param_0) {
asm int dBgWKCol::GetGroundCode(cBgS_PolyInfo const& param_0) {
nofralloc
#include "asm/d/bg/d_bg_w_kcol/GetGroundCode__8dBgWKColFRC13cBgS_PolyInfo.s"
}
+9 -9
View File
@@ -50,10 +50,10 @@ struct dBgW {
/* 8007B3AC */ void GetExitId(cBgS_PolyInfo const&);
/* 8007B3D8 */ void GetPolyColor(cBgS_PolyInfo const&);
/* 8007B404 */ void GetHorseNoEntry(cBgS_PolyInfo const&);
/* 8007B430 */ void GetSpecialCode(cBgS_PolyInfo const&);
/* 8007B460 */ void GetSpecialCode(int);
/* 8007B430 */ int GetSpecialCode(cBgS_PolyInfo const&);
/* 8007B460 */ int GetSpecialCode(int);
/* 8007B488 */ void GetMagnetCode(cBgS_PolyInfo const&);
/* 8007B4B4 */ void GetMonkeyBarsCode(cBgS_PolyInfo const&);
/* 8007B4B4 */ int GetMonkeyBarsCode(cBgS_PolyInfo const&);
/* 8007B4E0 */ void GetPolyObjThrough(int);
/* 8007B504 */ void GetPolyCamThrough(int);
/* 8007B52C */ void GetPolyLinkThrough(int);
@@ -63,12 +63,12 @@ struct dBgW {
/* 8007B5BC */ void GetPolyRopeThrough(int);
/* 8007B5E0 */ void GetPolyBombThrough(int);
/* 8007B604 */ void GetShdwThrough(int);
/* 8007B630 */ void GetUnderwaterRoofCode(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 */ void GetGroundCode(cBgS_PolyInfo const&);
/* 8007B760 */ int GetGroundCode(cBgS_PolyInfo const&);
/* 8007B7DC */ void GetIronBallThrough(int);
/* 8007B800 */ void GetAttackThrough(int);
/* 8007B87C */ void GetCamMoveBG(cBgS_PolyInfo const&);
@@ -78,7 +78,7 @@ struct dBgW {
/* 8007C484 */ void WallCorrect(dBgS_Acch*);
/* 8007C910 */ void WallCorrectSort(dBgS_Acch*);
/* 8007D470 */ void RoofChk(dBgS_RoofChk*);
/* 8007D830 */ void SplGrpChk(dBgS_SplGrpChk*);
/* 8007D830 */ bool SplGrpChk(dBgS_SplGrpChk*);
/* 8007DAF8 */ void CaptPoly(dBgS_CaptPoly&);
/* 8007DF00 */ void SphChk(dBgS_SphChk*, void*);
/* 8007DF28 */ void GetPolyGrpRoomInfId(cBgS_PolyInfo const&);
@@ -104,8 +104,8 @@ struct cBgW {
/* 800797BC */ void ClassifyPlane();
/* 80079EEC */ void ChkMemoryError();
/* 80079F38 */ void Set(cBgD_t*, u32, f32 (*)[3][4]);
/* 8007A658 */ void LineCheck(cBgS_LinChk*);
/* 8007AB9C */ void GroundCross(cBgS_GndChk*);
/* 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;
@@ -113,7 +113,7 @@ struct cBgW {
/* 8007B240 */ void GetTopUnder(f32*, f32*) const;
/* 8007B270 */ void GetTriPla(cBgS_PolyInfo const&) const;
/* 8007B2B0 */ void GetGrpInf(cBgS_PolyInfo const&) const;
/* 8007B948 */ void ChkNotReady() const;
/* 8007B948 */ bool ChkNotReady() const;
/* 8007B958 */ void ChkLock() const;
/* 8007B964 */ void ChkMoveBg() const;
};
+77 -69
View File
@@ -24,7 +24,7 @@ void dCcD_GAtTgCoCommonBase::ClrActorInfo() {
void dCcD_GAtTgCoCommonBase::ct() {
mGFlag = NULL;
mRPrm = 0;
field_0x08 = 0;
mHitCallback = NULL;
mEffCounter = 0;
}
@@ -124,7 +124,9 @@ void dCcD_Stts::Init(int param_0, int param_1, fopAc_ac_c* pActor) {
} else {
actorPid = 0xFFFFFFFF;
}
this->cCcD_Stts::Init(param_0, param_1, pActor, actorPid);
cCcD_Stts::Init(param_0, param_1, pActor, actorPid);
s32 roomNo;
if (pActor != NULL) {
roomNo = fopAcM_GetRoomNo(pActor);
@@ -132,6 +134,7 @@ void dCcD_Stts::Init(int param_0, int param_1, fopAc_ac_c* pActor) {
roomNo = 0;
field_0x1C |= 1;
}
if (roomNo != -1) {
mRoomId = roomNo;
} else {
@@ -141,8 +144,8 @@ void dCcD_Stts::Init(int param_0, int param_1, fopAc_ac_c* pActor) {
/* 800838F4-80083928 07E234 0034+00 1/0 0/0 0/0 .text Ct__9dCcD_SttsFv */
void dCcD_Stts::Ct() {
this->cCcD_Stts::Ct();
this->dCcD_GStts::Ct();
cCcD_Stts::Ct();
dCcD_GStts::Ct();
}
/* 80083928-80083934 07E268 000C+00 1/0 0/0 0/0 .text ClrAt__9dCcD_SttsFv */
@@ -152,29 +155,29 @@ void dCcD_Stts::ClrAt() {
/* 80083934-80083944 07E274 0010+00 1/0 0/0 0/0 .text ClrTg__9dCcD_SttsFv */
void dCcD_Stts::ClrTg() {
this->cCcD_Stts::ClrTg();
this->dCcD_GStts::ClrTg();
cCcD_Stts::ClrTg();
dCcD_GStts::ClrTg();
}
/* 80083944-800839A0 07E284 005C+00 1/1 0/0 0/0 .text Set__11dCcD_GObjAtFRC14dCcD_SrcGObjAt */
void dCcD_GObjAt::Set(dCcD_SrcGObjAt const& src) {
this->dCcD_GAtTgCoCommonBase::Set(src.mBase);
this->mSe = src.mSe;
this->mMtrl = src.mMtrl;
this->mHitMark = src.mHitMark;
this->mSpl = src.mSpl;
dCcD_GAtTgCoCommonBase::Set(src.mBase);
mSe = src.mSe;
mMtrl = src.mMtrl;
mHitMark = src.mHitMark;
mSpl = src.mSpl;
}
/* 800839A0-80083A28 07E2E0 0088+00 1/1 0/0 0/0 .text Set__11dCcD_GObjTgFRC14dCcD_SrcGObjTg */
void dCcD_GObjTg::Set(dCcD_SrcGObjTg const& src) {
this->dCcD_GAtTgCoCommonBase::Set(src.mBase);
this->mSe = src.mSe;
this->mMtrl = src.mMtrl;
this->mHitMark = src.mHitMark;
this->mSpl = src.mSpl;
this->mHitPos = cXyz::Zero;
this->mShieldFrontRangeYAngle = NULL;
this->mShieldRange = 0x4000;
dCcD_GAtTgCoCommonBase::Set(src.mBase);
mSe = src.mSe;
mMtrl = src.mMtrl;
mHitMark = src.mHitMark;
mSpl = src.mSpl;
mHitPos = cXyz::Zero;
mShieldFrontRangeYAngle = NULL;
mShieldRange = 0x4000;
}
/* 80083A28-80083B8C 07E368 0164+00 0/0 4/4 496/496 .text __ct__12dCcD_GObjInfFv */
@@ -208,7 +211,7 @@ s32 dCcD_GObjInf::ChkAtHit() {
/* 80084318-80084358 07EC58 0040+00 0/0 10/10 7/7 .text ResetAtHit__12dCcD_GObjInfFv */
void dCcD_GObjInf::ResetAtHit() {
this->ClrAtHit();
ClrAtHit();
mGObjAt.mEffCounter = 0;
}
@@ -223,7 +226,7 @@ cCcD_Obj* dCcD_GObjInf::GetAtHitObj() {
/* 800843A8-800843DC 07ECE8 0034+00 0/0 2/2 3/3 .text GetAtHitGObj__12dCcD_GObjInfFv */
cCcD_GObjInf* dCcD_GObjInf::GetAtHitGObj() {
cCcD_Obj* obj = this->GetAtHitObj();
cCcD_Obj* obj = GetAtHitObj();
if (obj == NULL) {
return NULL;
} else {
@@ -270,7 +273,7 @@ bool dCcD_GObjInf::ChkTgHit() {
/* 800844B8-800844F8 07EDF8 0040+00 0/0 1/1 5/5 .text ResetTgHit__12dCcD_GObjInfFv */
void dCcD_GObjInf::ResetTgHit() {
this->ClrTgHit();
ClrTgHit();
mGObjTg.mEffCounter = 0;
}
@@ -286,7 +289,7 @@ cCcD_Obj* dCcD_GObjInf::GetTgHitObj() {
/* 80084548-8008457C 07EE88 0034+00 1/1 5/5 63/63 .text GetTgHitGObj__12dCcD_GObjInfFv */
dCcD_GObjInf* dCcD_GObjInf::GetTgHitGObj() {
cCcD_Obj* obj = this->GetTgHitObj();
cCcD_Obj* obj = GetTgHitObj();
if (obj == NULL) {
return NULL;
} else {
@@ -297,7 +300,7 @@ dCcD_GObjInf* dCcD_GObjInf::GetTgHitGObj() {
/* 8008457C-800845B0 07EEBC 0034+00 0/0 2/2 18/18 .text GetTgHitObjSe__12dCcD_GObjInfFv
*/
u8 dCcD_GObjInf::GetTgHitObjSe() {
dCcD_GObjInf* objInf = this->GetTgHitGObj();
dCcD_GObjInf* objInf = GetTgHitGObj();
if (objInf == NULL) {
return NULL;
} else {
@@ -308,25 +311,30 @@ u8 dCcD_GObjInf::GetTgHitObjSe() {
/* ############################################################################################## */
/* 8037A780-8037A7E0 006DE0 0060+00 1/1 0/0 0/0 .rodata m_hitSeID__12dCcD_GObjInf */
u32 const dCcD_GObjInf::m_hitSeID[24] = {
0x0004000F, 0x00040000, 0x00040002, 0x00040004, 0x00040009, 0x0004000B, 0x0004000C, 0x0004000D,
0x0004000E, 0x0004000F, 0x00040001, 0x00040004, 0x00040010, 0x00040011, 0x00040012, 0x00040013,
0x00040014, 0x00040015, 0x00040018, 0x00040016, 0x00040003, 0x00040005, 0x00040006, 0x00040007,
Z2SE_HIT_DUMMY_CANCEL, Z2SE_HIT_SWORD, Z2SE_HIT_SHIELD_ATTACK,
Z2SE_HIT_WOLFKICK, Z2SE_HIT_HOOKSHOT_STICK, Z2SE_HIT_METAL_WEAPON,
Z2SE_HIT_STONE_WEAPON, Z2SE_HIT_HARD_BODY, Z2SE_HIT_SOFT_BODY,
Z2SE_HIT_DUMMY_CANCEL, Z2SE_HIT_SWORD_STAB, Z2SE_HIT_WOLFKICK,
Z2SE_HIT_SWORD_RUN, Z2SE_HIT_EN_WOOD_WEAPON, Z2SE_HIT_THOROW_OBJ,
Z2SE_HIT_SPINNER, Z2SE_HIT_COPYROD, Z2SE_HIT_STATUE_HAMMER,
Z2SE_HIT_PACHINKO, Z2SE_HIT_AL_ARROW_STICK, Z2SE_HIT_WOLFBITE,
Z2SE_HIT_WOOD_WEAPON, Z2SE_HIT_HAMMER, Z2SE_HIT_ARROW_STICK,
};
/* 800845B0-8008460C 07EEF0 005C+00 0/0 3/3 32/32 .text getHitSeID__12dCcD_GObjInfFUci */
u32 dCcD_GObjInf::getHitSeID(u8 param_0, int param_1) {
if (param_1 != 0) {
if (param_0 == 0x17) {
return 0x40017;
u32 dCcD_GObjInf::getHitSeID(u8 seIdx, int useRebound) {
if (useRebound) {
if (seIdx == 23) {
return Z2SE_HIT_AL_ARROW_REBOUND;
}
if (param_0 == 7) {
return 0x40008;
if (seIdx == 7) {
return Z2SE_HIT_ARROW_REBOUND;
}
if (param_0 == 8) {
return 0x4000A;
if (seIdx == 8) {
return Z2SE_HIT_HOOKSHOT_REBOUND;
}
}
return m_hitSeID[param_0];
return m_hitSeID[seIdx];
}
/* 8008460C-80084658 07EF4C 004C+00 5/0 0/0 0/0 .text ClrCoHit__12dCcD_GObjInfFv */
@@ -364,22 +372,22 @@ cCcD_Obj* dCcD_GObjInf::GetCoHitObj() {
}
/* 80084740-8008479C 07F080 005C+00 4/4 0/0 0/0 .text Set__12dCcD_GObjInfFRC15dCcD_SrcGObjInf */
void dCcD_GObjInf::Set(dCcD_SrcGObjInf const& param_0) {
this->cCcD_Obj::Set(param_0.mObj);
mGObjAt.Set(param_0.mGObjAt);
mGObjTg.Set(param_0.mGObjTg);
mGObjCo.Set(param_0.mGObjCo);
void dCcD_GObjInf::Set(dCcD_SrcGObjInf const& src) {
cCcD_Obj::Set(src.mObj);
mGObjAt.Set(src.mGObjAt);
mGObjTg.Set(src.mGObjTg);
mGObjCo.Set(src.mGObjCo);
}
/* 8008479C-800847C8 07F0DC 002C+00 2/2 1/1 3/3 .text dCcD_GetGObjInf__FP8cCcD_Obj */
dCcD_GObjInf* dCcD_GetGObjInf(cCcD_Obj* obj) {
return (dCcD_GObjInf*)obj->GetGObjInf();
dCcD_GObjInf* dCcD_GetGObjInf(cCcD_Obj* p_obj) {
return (dCcD_GObjInf*)p_obj->GetGObjInf();
}
/* 800847D0-80084814 07F110 0044+00 0/0 1/1 20/20 .text Set__8dCcD_CpsFRC11dCcD_SrcCps */
void dCcD_Cps::Set(dCcD_SrcCps const& param_0) {
this->dCcD_GObjInf::Set(param_0.mObjInf);
this->cCcD_CpsAttr::Set(param_0.mCps);
void dCcD_Cps::Set(dCcD_SrcCps const& src) {
dCcD_GObjInf::Set(src.mObjInf);
cCcD_CpsAttr::Set(src.mCps);
}
/* 80084814-80084824 07F154 0010+00 1/0 0/0 0/0 .text GetShapeAttr__8dCcD_CpsFv */
@@ -390,18 +398,18 @@ cCcD_ShapeAttr* dCcD_Cps::GetShapeAttr() {
/* 80084824-80084854 07F164 0030+00 0/0 0/0 6/6 .text CalcAtVec__8dCcD_CpsFv */
void dCcD_Cps::CalcAtVec() {
cXyz& dest = mGObjAt.GetVec();
PSVECSubtract(&this->GetEndP(), &this->GetStartP(), &dest);
PSVECSubtract(&GetEndP(), &GetStartP(), &dest);
}
/* 80084854-80084884 07F194 0030+00 0/0 0/0 2/2 .text CalcTgVec__8dCcD_CpsFv */
void dCcD_Cps::CalcTgVec() {
cXyz& dest = mGObjTg.GetVec();
PSVECSubtract(&this->GetEndP(), &this->GetStartP(), &dest);
PSVECSubtract(&GetEndP(), &GetStartP(), &dest);
}
/* 80084884-800848A4 07F1C4 0020+00 0/0 0/0 5/5 .text Set__8dCcD_TriFRC11dCcD_SrcTri */
void dCcD_Tri::Set(dCcD_SrcTri const& param_0) {
this->dCcD_GObjInf::Set(param_0.mObjInf);
void dCcD_Tri::Set(dCcD_SrcTri const& src) {
dCcD_GObjInf::Set(src.mObjInf);
}
/* 800848A4-800848B4 07F1E4 0010+00 1/0 0/0 0/0 .text GetShapeAttr__8dCcD_TriFv */
@@ -411,9 +419,9 @@ cCcD_ShapeAttr* dCcD_Tri::GetShapeAttr() {
/* 800848B4-800848F8 07F1F4 0044+00 0/0 2/2 245/245 .text Set__8dCcD_CylFRC11dCcD_SrcCyl
*/
void dCcD_Cyl::Set(dCcD_SrcCyl const& param_0) {
this->dCcD_GObjInf::Set(param_0.mObjInf);
this->cCcD_CylAttr::Set(param_0.mCyl);
void dCcD_Cyl::Set(dCcD_SrcCyl const& src) {
dCcD_GObjInf::Set(src.mObjInf);
cCcD_CylAttr::Set(src.mCyl);
}
/* 800848F8-80084908 07F238 0010+00 1/0 0/0 0/0 .text GetShapeAttr__8dCcD_CylFv */
@@ -422,10 +430,10 @@ cCcD_ShapeAttr* dCcD_Cyl::GetShapeAttr() {
}
/* 80084908-80084954 07F248 004C+00 0/0 3/3 3/3 .text StartCAt__8dCcD_CylFR4cXyz */
void dCcD_Cyl::StartCAt(cXyz& param_0) {
void dCcD_Cyl::StartCAt(cXyz& pos) {
cXyz zero = cXyz::Zero;
mGObjAt.SetVec(zero);
this->SetC(param_0);
SetC(pos);
}
inline void vecDiff(cXyz& out, const cXyz& a, const cXyz& b) {
@@ -433,41 +441,41 @@ inline void vecDiff(cXyz& out, const cXyz& a, const cXyz& b) {
}
/* 80084954-800849C4 07F294 0070+00 0/0 3/3 4/4 .text MoveCAt__8dCcD_CylFR4cXyz */
void dCcD_Cyl::MoveCAt(cXyz& param_0) {
void dCcD_Cyl::MoveCAt(cXyz& pos) {
cXyz diff;
vecDiff(diff, param_0, this->GetCP());
vecDiff(diff, pos, GetCP());
mGObjAt.SetVec(diff);
this->SetC(param_0);
SetC(pos);
}
/* 800849C4-80084A34 07F304 0070+00 0/0 0/0 1/1 .text MoveCTg__8dCcD_CylFR4cXyz */
void dCcD_Cyl::MoveCTg(cXyz& param_0) {
void dCcD_Cyl::MoveCTg(cXyz& pos) {
cXyz diff;
vecDiff(diff, param_0, this->GetCP());
vecDiff(diff, pos, GetCP());
mGObjTg.SetVec(diff);
this->SetC(param_0);
SetC(pos);
}
/* 80084A34-80084A78 07F374 0044+00 0/0 2/2 196/196 .text Set__8dCcD_SphFRC11dCcD_SrcSph
*/
void dCcD_Sph::Set(dCcD_SrcSph const& param_0) {
this->dCcD_GObjInf::Set(param_0.mObjInf);
this->cCcD_SphAttr::Set(param_0.mSph);
void dCcD_Sph::Set(dCcD_SrcSph const& src) {
dCcD_GObjInf::Set(src.mObjInf);
cCcD_SphAttr::Set(src.mSph);
}
/* 80084A78-80084AC4 07F3B8 004C+00 0/0 3/3 25/25 .text StartCAt__8dCcD_SphFR4cXyz */
void dCcD_Sph::StartCAt(cXyz& xyz) {
void dCcD_Sph::StartCAt(cXyz& pos) {
cXyz zero(cXyz::Zero);
SetAtVec(zero);
this->cM3dGSph::SetC(xyz);
cM3dGSph::SetC(pos);
}
/* 80084AC4-80084B34 07F404 0070+00 0/0 2/2 23/23 .text MoveCAt__8dCcD_SphFR4cXyz */
void dCcD_Sph::MoveCAt(cXyz& param_0) {
void dCcD_Sph::MoveCAt(cXyz& pos) {
cXyz diff;
vecDiff(diff, param_0, GetC());
vecDiff(diff, pos, GetC());
mGObjAt.SetVec(diff);
this->SetC(param_0);
SetC(pos);
}
cCcD_ShapeAttr* dCcD_Sph::GetShapeAttr() {
+54 -35
View File
@@ -9,14 +9,10 @@
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Declarations:
//
/* 800852E0-800852F0 07FC20 0010+00 1/1 0/0 0/0 .text
* Set__12dCcMassS_ObjFP8cCcD_ObjUcPFP10fopAc_ac_cP4cXyzUl_v */
void dCcMassS_Obj::Set(cCcD_Obj* obj, u8 priority, dCcMassS_ObjCallback callback) {
mpObj = obj;
void dCcMassS_Obj::Set(cCcD_Obj* p_obj, u8 priority, dCcMassS_ObjCallback callback) {
mpObj = p_obj;
mPriority = priority;
mpCallback = callback;
}
@@ -40,7 +36,7 @@ void dCcMassS_HitInf::ClearPointer() {
/* 80085350-80085450 07FC90 0100+00 0/0 1/1 0/0 .text __ct__12dCcMassS_MngFv */
dCcMassS_Mng::dCcMassS_Mng() {
this->Ct();
Ct();
}
/* 800855C8-800855E4 07FF08 001C+00 1/1 0/0 0/0 .text __ct__12dCcMassS_ObjFv */
@@ -52,13 +48,13 @@ void dCcMassS_Mng::Ct() {
mResultCam = 0;
mCamTopPos.set(0, -1000000000.0f, 0);
mCamBottomPos.set(0, -1000000000.0f, 0);
this->Clear();
Clear();
}
/* 80085630-80085690 07FF70 0060+00 0/0 0/0 2/2 .text SetAttr__12dCcMassS_MngFffUcUc */
void dCcMassS_Mng::SetAttr(f32 param_0, f32 param_1, u8 param_2, u8 param_3) {
mCylAttr.SetR(param_0);
mCylAttr.SetH(param_1);
void dCcMassS_Mng::SetAttr(f32 radius, f32 height, u8 param_2, u8 param_3) {
mCylAttr.SetR(radius);
mCylAttr.SetH(height);
field_0x200 = param_2;
field_0x201 = param_3;
}
@@ -67,34 +63,41 @@ void dCcMassS_Mng::SetAttr(f32 param_0, f32 param_1, u8 param_2, u8 param_3) {
void dCcMassS_Mng::Prepare() {
cM3dGAab aab;
aab.ClearForMinMax();
for (dCcMassS_Obj* pObj = mMassObjs; pObj < mMassObjs + mMassObjCount; ++pObj) {
cCcD_ShapeAttr* objShape = pObj->GetObj()->GetShapeAttr();
objShape->CalcAabBox();
aab.SetMinMax(objShape->GetWorkAab());
}
for (dCcMassS_Obj* pObj = mMassAreas; pObj < mMassAreas + mMassAreaCount; ++pObj) {
cCcD_ShapeAttr* objShape = pObj->GetObj()->GetShapeAttr();
objShape->CalcAabBox();
aab.SetMinMax(objShape->GetWorkAab());
}
if (field_0x202 & 1) {
mCpsAttr.CalcAabBox();
aab.SetMinMax(mCpsAttr.GetWorkAab());
}
mDivideArea.SetArea(aab);
for (dCcMassS_Obj* pObj = mMassObjs; pObj < mMassObjs + mMassObjCount; ++pObj) {
cCcD_ShapeAttr* objShape = pObj->GetObj()->GetShapeAttr();
cCcD_DivideInfo* divideInfo = &pObj->GetDivideInfo();
mDivideArea.CalcDivideInfo(divideInfo, objShape->GetWorkAab(), 0);
}
for (dCcMassS_Obj* pObj = mMassAreas; pObj < mMassAreas + mMassAreaCount; ++pObj) {
cCcD_ShapeAttr* objShape = pObj->GetObj()->GetShapeAttr();
cCcD_DivideInfo* divideInfo = &pObj->GetDivideInfo();
mDivideArea.CalcDivideInfo(divideInfo, objShape->GetWorkAab(), 0);
}
if (field_0x202 & 1) {
mDivideArea.CalcDivideInfo(&mDivideInfo, mCpsAttr.GetWorkAab(), 0);
}
mCamTopPos.set(0, -1000000000.0f, 0);
mCamTopDist = 1000000000.0f;
mCamBottomPos.set(0, -1000000000.0f, 0);
@@ -103,14 +106,17 @@ void dCcMassS_Mng::Prepare() {
/* 800858AC-80085CF0 0801EC 0444+00 0/0 0/0 2/2 .text
* Chk__12dCcMassS_MngFP4cXyzPP10fopAc_ac_cP15dCcMassS_HitInf */
u32 dCcMassS_Mng::Chk(cXyz* xyz, fopAc_ac_c** pActor, dCcMassS_HitInf* hitInf) {
u32 dCcMassS_Mng::Chk(cXyz* p_xyz, fopAc_ac_c** p_actor, dCcMassS_HitInf* p_hitInf) {
cCcD_DivideInfo divideInfo;
u32 flagsMaybe = 0;
*pActor = NULL;
mCylAttr.SetC(*xyz);
*p_actor = NULL;
mCylAttr.SetC(*p_xyz);
mCylAttr.CalcAabBox();
mDivideArea.CalcDivideInfoOverArea(&divideInfo, mCylAttr.GetWorkAab());
hitInf->ClearPointer();
p_hitInf->ClearPointer();
if (field_0x200 & 8) {
for (dCcMassS_Obj* massObj = mMassAreas; massObj < mMassAreas + mMassAreaCount; ++massObj) {
if (massObj->GetDivideInfo().Chk(divideInfo)) {
@@ -119,17 +125,19 @@ u32 dCcMassS_Mng::Chk(cXyz* xyz, fopAc_ac_c** pActor, dCcMassS_HitInf* hitInf) {
f32 f;
if (obj->ChkCoSet() && mCylAttr.CrossCo(*objShape, &f)) {
flagsMaybe |= 4;
*pActor = obj->GetStts()->GetAc();
if (hitInf != NULL) {
hitInf->SetAreaHitObj(obj);
*p_actor = obj->GetStts()->GetAc();
if (p_hitInf != NULL) {
p_hitInf->SetAreaHitObj(obj);
}
if (massObj->GetCallback() != NULL) {
massObj->GetCallback()(obj->GetStts()->GetAc(), xyz, field_0x201);
massObj->GetCallback()(obj->GetStts()->GetAc(), p_xyz, field_0x201);
}
}
}
}
}
for (dCcMassS_Obj* massObj = mMassObjs; massObj < mMassObjs + mMassObjCount; ++massObj) {
if (massObj->GetDivideInfo().Chk(divideInfo)) {
cCcD_Obj* obj = massObj->GetObj();
@@ -139,18 +147,20 @@ u32 dCcMassS_Mng::Chk(cXyz* xyz, fopAc_ac_c** pActor, dCcMassS_HitInf* hitInf) {
if (obj->ChkAtSet() && !gobjInf->ChkAtNoMass() &&
mCylAttr.CrossAtTg(*objShape, &unusedVec) && (field_0x200 & 1)) {
flagsMaybe |= 1;
*pActor = obj->GetStts()->GetAc();
if (hitInf != NULL) {
hitInf->SetAtHitObj(obj);
*p_actor = obj->GetStts()->GetAc();
if (p_hitInf != NULL) {
p_hitInf->SetAtHitObj(obj);
}
}
f32 f;
if (obj->ChkCoSet() && mCylAttr.CrossCo(*objShape, &f) && (field_0x200 & 2)) {
flagsMaybe |= 2;
*pActor = obj->GetStts()->GetAc();
*p_actor = obj->GetStts()->GetAc();
if (field_0x200 & 0x10) {
Vec vec;
PSVECSubtract(&(*pActor)->mCurrent.mPosition, xyz, &vec);
PSVECSubtract(&(*p_actor)->mCurrent.mPosition, p_xyz, &vec);
vec.y = 0;
f32 vecMag = PSVECMag(&vec);
if (cM3d_IsZero(vecMag)) {
@@ -160,23 +170,27 @@ u32 dCcMassS_Mng::Chk(cXyz* xyz, fopAc_ac_c** pActor, dCcMassS_HitInf* hitInf) {
}
obj->GetStts()->PlusCcMove(vec.x, vec.y, vec.z);
}
if (hitInf != NULL) {
hitInf->SetCoHitObj(obj);
hitInf->SetCoHitLen(f);
if (p_hitInf != NULL) {
p_hitInf->SetCoHitObj(obj);
p_hitInf->SetCoHitLen(f);
}
}
}
}
f32 f;
if ((field_0x202 & 1) && mDivideInfo.Chk(divideInfo) && mCylAttr.CrossCo(mCpsAttr, &f)) {
mResultCam |= 1;
mResultCam |= 1 << (field_0x201 + 1);
if ((mResultCam & 2) || (mResultCam & 8)) {
cXyz tmpVec;
f32 plusH = xyz->y + mCylAttr.GetH();
tmpVec.x = xyz->x;
f32 plusH = p_xyz->y + mCylAttr.GetH();
tmpVec.x = p_xyz->x;
tmpVec.y = plusH;
tmpVec.z = xyz->z;
tmpVec.z = p_xyz->z;
if (mCamTopPos.y < (20.0f + plusH)) {
f32 newCamTopDist = PSVECSquareDistance(&tmpVec, &mCpsAttr.GetStartP());
if (mCamTopDist > newCamTopDist) {
@@ -184,6 +198,7 @@ u32 dCcMassS_Mng::Chk(cXyz* xyz, fopAc_ac_c** pActor, dCcMassS_HitInf* hitInf) {
mCamTopPos = tmpVec;
}
}
if (mCamBottomPos.y < (20.0f + plusH)) {
f32 newCamBottomDist = PSVECSquareDistance(&tmpVec, &mCpsAttr.GetEndP());
if (mCamBottomDist > newCamBottomDist) {
@@ -193,6 +208,7 @@ u32 dCcMassS_Mng::Chk(cXyz* xyz, fopAc_ac_c** pActor, dCcMassS_HitInf* hitInf) {
}
}
}
return flagsMaybe;
}
@@ -200,12 +216,15 @@ u32 dCcMassS_Mng::Chk(cXyz* xyz, fopAc_ac_c** pActor, dCcMassS_HitInf* hitInf) {
void dCcMassS_Mng::Clear() {
mMassObjCount = 0;
mMassAreaCount = 0;
for (int i = 0; i < (s32)ARRAY_SIZE(mMassObjs); ++i) {
mMassObjs[i].Clear();
}
for (int i = 0; i < (s32)ARRAY_SIZE(mMassAreas); ++i) {
mMassAreas[i].Clear();
}
mCylAttr.SetR(0.0f);
mCylAttr.SetH(0.0f);
field_0x200 = 0;
@@ -213,17 +232,17 @@ void dCcMassS_Mng::Clear() {
}
/* 80085D98-80085E6C 0806D8 00D4+00 0/0 4/4 7/7 .text Set__12dCcMassS_MngFP8cCcD_ObjUc */
void dCcMassS_Mng::Set(cCcD_Obj* obj, u8 priority) {
void dCcMassS_Mng::Set(cCcD_Obj* p_obj, u8 priority) {
if (mMassObjCount >= (s32)ARRAY_SIZE(mMassObjs)) {
for (int i = 0; i < (s32)ARRAY_SIZE(mMassObjs); ++i) {
int prevPrio = mMassObjs[i].GetPriority();
if (prevPrio > priority || (prevPrio == priority && cM_rndF(1.0f) < 0.5f)) {
mMassObjs[i].Set(obj, priority, NULL);
mMassObjs[i].Set(p_obj, priority, NULL);
break;
}
}
} else {
mMassObjs[mMassObjCount].Set(obj, priority, NULL);
mMassObjs[mMassObjCount].Set(p_obj, priority, NULL);
mMassObjCount++;
}
}
@@ -243,6 +262,6 @@ u8 dCcMassS_Mng::GetResultCam() const {
/* 80085EB8-80085ED4 0807F8 001C+00 0/0 1/1 0/0 .text GetCamTopPos__12dCcMassS_MngFP3Vec
*/
void dCcMassS_Mng::GetCamTopPos(Vec* out) {
*out = mCamTopPos;
void dCcMassS_Mng::GetCamTopPos(Vec* p_out) {
*p_out = mCamTopPos;
}
+184 -122
View File
@@ -52,8 +52,64 @@ BOOL daPy_py_c::checkNowWolf() {
/* ############################################################################################## */
/* 803AC418-803AC500 009538 00E8+00 1/1 0/0 0/0 .data plCutLRC */
SECTION_DATA static int plCutLRC[58] = {
0, 0, 1, 1, 2, 0, 2, 1, 0, 0, 0, 2, 1, 1, 1, 2, 2, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
0, //
0, // CUT_VERTICAL
1, // CUT_STAB
1, // CUT_SWEEP
2, // CUT_HORIZONTAL
0, // CUT_HEAD
2, // CUT_LEFT_SWEEP_FINISH
1, // CUT_DOWN_FINISH
0, // CUT_TURN_RIGHT
0, //
0, // CUT_JUMP
2, //
1, //
1, //
1, //
2, //
2, // CUT_AIR
1, //
1, // CUT_LARGE_JUMP_INIT
0, // CUT_LARGE_JUMP
0, // CUT_LARGE_JUMP_FINISH
1, // CUT_RIGHT_SWEEP_FINISH
0, // CUT_TURN_LEFT
0, // CUT_LARGE_TURN_LEFT
0, // CUT_LARGE_TURN_RIGHT
0, //
0, // CUT_FAST_MOVE
0, //
0, //
0, //
0, // CUT_TWIRL
0, // CUT_FAST
0, // CUT_STAB_FINISH
2, // CUT_STAB_COMBO
0, //
0, //
0, //
2, //
1, //
0, //
0, //
0, //
0, //
0, //
0, //
0, //
0, //
0, //
0, //
0, //
0, //
2, //
1, //
0, //
0, //
0, //
0, //
0, //
};
/* 800873B0-800873D4 081CF0 0024+00 0/0 0/0 3/3 .text pl_cut_LRC__Fi */
@@ -113,31 +169,31 @@ static int getMapInfo(s8 param_0) {
}
/* 800874F0-80087514 081E30 0024+00 2/2 0/0 0/0 .text getHitId__FP8cCcD_Obji */
static u32 getHitId(cCcD_Obj* obj, int param_1) {
dCcD_GObjInf* dObj = static_cast<dCcD_GObjInf*>(obj);
return dObj->getHitSeID(dObj->GetAtSe(), param_1);
static u32 getHitId(cCcD_Obj* p_obj, int useReboundSE) {
dCcD_GObjInf* dObj = static_cast<dCcD_GObjInf*>(p_obj);
return dObj->getHitSeID(dObj->GetAtSe(), useReboundSE);
}
/* 80087514-80087594 081E54 0080+00 0/0 0/0 47/47 .text
* def_se_set__FP10Z2CreatureP8cCcD_ObjUlP10fopAc_ac_c */
void def_se_set(Z2Creature* sound, cCcD_Obj* collider, u32 map_info, fopAc_ac_c* actor) {
if (sound != NULL) {
int tmp;
if (actor != NULL && fopAcM_checkStatus(actor, 0x280000)) {
tmp = 0;
void def_se_set(Z2Creature* p_sound, cCcD_Obj* p_collider, u32 map_info, fopAc_ac_c* p_actor) {
if (p_sound != NULL) {
int useReboundSE;
if (p_actor != NULL && fopAcM_checkStatus(p_actor, 0x280000)) {
useReboundSE = false;
} else {
tmp = 1;
useReboundSE = true;
}
sound->startCollisionSE(getHitId(collider, tmp), map_info);
p_sound->startCollisionSE(getHitId(p_collider, useReboundSE), map_info);
}
}
/* 80087594-80087A58 081ED4 04C4+00 1/1 0/0 0/0 .text at_power_get__FP11dCcU_AtInfo */
static u8 at_power_get(dCcU_AtInfo* info) {
u8 power = info->mpCollider->GetAtAtp();
static u8 at_power_get(dCcU_AtInfo* p_info) {
u8 power = p_info->mpCollider->GetAtAtp();
if (info->mPowerType == 0) {
if (info->mpCollider->ChkAtType(0x10000000)) {
if (p_info->mPowerType == 0) {
if (p_info->mpCollider->ChkAtType(0x10000000)) {
power = 0;
} else if (power == 1) {
power = 1;
@@ -150,8 +206,8 @@ static u8 at_power_get(dCcU_AtInfo* info) {
} else if (power >= 4) {
power = 200;
}
} else if (info->mPowerType == 6) {
if (info->mpCollider->ChkAtType(0x10000000)) {
} else if (p_info->mPowerType == 6) {
if (p_info->mpCollider->ChkAtType(0x10000000)) {
power = 0;
} else if (power == 1) {
power = 1;
@@ -162,10 +218,10 @@ static u8 at_power_get(dCcU_AtInfo* info) {
} else if (power >= 3) {
power *= 10;
}
} else if (info->mPowerType == 4) {
if (info->mpCollider->ChkAtType(0x400000)) {
} else if (p_info->mPowerType == 4) {
if (p_info->mpCollider->ChkAtType(AT_TYPE_IRON_BALL)) {
power = 200;
} else if (info->mpCollider->ChkAtType(0x10000000)) {
} else if (p_info->mpCollider->ChkAtType(0x10000000)) {
power = 0;
} else if (power == 1) {
power = 1;
@@ -178,8 +234,8 @@ static u8 at_power_get(dCcU_AtInfo* info) {
} else if (power >= 4) {
power = 200;
}
} else if (info->mPowerType == 5) {
if (info->mpCollider->ChkAtType(0x2000)) {
} else if (p_info->mPowerType == 5) {
if (p_info->mpCollider->ChkAtType(AT_TYPE_ARROW)) {
power = 0;
} else if (power == 1) {
power = 1;
@@ -188,8 +244,8 @@ static u8 at_power_get(dCcU_AtInfo* info) {
} else if (power >= 3) {
power = 4;
}
} else if (info->mPowerType == 2) {
if (info->mpCollider->ChkAtType(0x400000)) {
} else if (p_info->mPowerType == 2) {
if (p_info->mpCollider->ChkAtType(AT_TYPE_IRON_BALL)) {
power = 200;
} else if (power == 1) {
power = 1;
@@ -202,14 +258,14 @@ static u8 at_power_get(dCcU_AtInfo* info) {
} else if (power >= 4) {
power = 200;
}
} else if (info->mPowerType == 1) {
if (info->mpCollider->ChkAtType(0x400000) || power >= 4) {
} else if (p_info->mPowerType == 1) {
if (p_info->mpCollider->ChkAtType(AT_TYPE_IRON_BALL) || power >= 4) {
power = 200;
} else {
power *= 10;
}
} else if (info->mPowerType == 3) {
if (info->mpCollider->ChkAtType(0x400000) || power >= 4) {
} else if (p_info->mPowerType == 3) {
if (p_info->mpCollider->ChkAtType(AT_TYPE_IRON_BALL) || power >= 4) {
power = 200;
} else if (power == 1) {
power = 10;
@@ -218,10 +274,10 @@ static u8 at_power_get(dCcU_AtInfo* info) {
} else if (power >= 3) {
power = 40;
}
} else if (info->mPowerType == 7) {
if (info->mpCollider->ChkAtType(0x420008)) {
} else if (p_info->mPowerType == 7) {
if (p_info->mpCollider->ChkAtType(0x420008)) {
power = 50;
} else if (info->mpCollider->ChkAtType(0x2000)) {
} else if (p_info->mpCollider->ChkAtType(AT_TYPE_ARROW)) {
power = 27;
} else if (power == 1) {
power = 1;
@@ -234,7 +290,7 @@ static u8 at_power_get(dCcU_AtInfo* info) {
} else if (power >= 4) {
power = 200;
}
} else if (info->mPowerType == 8) {
} else if (p_info->mPowerType == 8) {
if (power == 1) {
power = 3;
} else if (power == 2) {
@@ -244,11 +300,11 @@ static u8 at_power_get(dCcU_AtInfo* info) {
} else if (power >= 3) {
power *= 10;
}
} else if (info->mPowerType == 9 || info->mPowerType == 10) {
if (info->mpCollider->ChkAtType(0x4000)) {
} else if (p_info->mPowerType == 9 || p_info->mPowerType == 10) {
if (p_info->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) {
power = 0;
}
if (info->mpCollider->ChkAtType(0x400000)) {
if (p_info->mpCollider->ChkAtType(AT_TYPE_IRON_BALL)) {
power = 19;
}
@@ -263,8 +319,8 @@ static u8 at_power_get(dCcU_AtInfo* info) {
} else if (power >= 4) {
power = 200;
}
} else if (info->mPowerType == 11) {
if (info->mpCollider->ChkAtType(0x4000)) {
} else if (p_info->mPowerType == 11) {
if (p_info->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) {
power = 0;
}
@@ -277,7 +333,7 @@ static u8 at_power_get(dCcU_AtInfo* info) {
} else if (power >= 4) {
power = 100;
}
} else if (info->mPowerType == 12) {
} else if (p_info->mPowerType == 12) {
if (power == 1) {
power = 10;
} else if (power == 2) {
@@ -294,57 +350,59 @@ static u8 at_power_get(dCcU_AtInfo* info) {
/* 80087A58-80087C04 082398 01AC+00 1/1 0/0 38/38 .text at_power_check__FP11dCcU_AtInfo
*/
fopAc_ac_c* at_power_check(dCcU_AtInfo* info) {
if (info->mpCollider == NULL) {
fopAc_ac_c* at_power_check(dCcU_AtInfo* p_info) {
if (p_info->mpCollider == NULL) {
return NULL;
}
info->mpActor = info->mpCollider->GetAc();
info->mHitType = 12;
info->mAttackPower = 0;
info->mHitBit = 0;
p_info->mpActor = p_info->mpCollider->GetAc();
p_info->mHitType = 12;
p_info->mAttackPower = 0;
p_info->mHitBit = 0;
if (info->mpActor != NULL) {
info->mAttackPower = at_power_get(info);
if (p_info->mpActor != NULL) {
p_info->mAttackPower = at_power_get(p_info);
s16 ac_name = fopAcM_GetName(info->mpActor);
s16 ac_name = fopAcM_GetName(p_info->mpActor);
if (ac_name == PROC_ALINK || ac_name == PROC_ALINK) {
if (info->mpCollider->ChkAtType(0x8000) || info->mpCollider->ChkAtType(0x400000)) {
info->mHitType = 9;
if (p_info->mpCollider->ChkAtType(0x8000) ||
p_info->mpCollider->ChkAtType(AT_TYPE_IRON_BALL)) {
p_info->mHitType = HIT_TYPE_LINK_HEAVY_ATTACK;
} else {
info->mHitType = 1;
info->mHitBit = cc_pl_cut_bit_get();
p_info->mHitType = HIT_TYPE_LINK_NORMAL_ATTACK;
p_info->mHitBit = cc_pl_cut_bit_get();
}
} else if (ac_name == PROC_NBOMB) {
info->mHitType = 2;
info->mHitBit = 0x10000000;
p_info->mHitType = HIT_TYPE_BOMB;
p_info->mHitBit = 0x10000000;
} else if (ac_name == PROC_BOOMERANG) {
info->mHitType = 10;
info->mHitBit = 0x40000000;
p_info->mHitType = HIT_TYPE_BOOMERANG;
p_info->mHitBit = 0x40000000;
} else if (ac_name == PROC_ARROW) {
info->mHitType = 15;
info->mHitBit = 0x80000000;
p_info->mHitType = HIT_TYPE_ARROW;
p_info->mHitBit = 0x80000000;
}
}
info->mHitStatus = 0;
if (info->mpCollider->ChkAtType(0x40) || info->mpCollider->ChkAtType(0x10000) ||
info->mpCollider->ChkAtType(0x80) || info->mpCollider->ChkAtType(0x10)) {
info->mHitType = 0x10;
} else if (info->mpCollider->ChkAtType(0x4000)) {
info->mHitBit = 0x1000;
p_info->mHitStatus = 0;
if (p_info->mpCollider->ChkAtType(0x40) || p_info->mpCollider->ChkAtType(AT_TYPE_BOOMERANG) ||
p_info->mpCollider->ChkAtType(AT_TYPE_SLINGSHOT) ||
p_info->mpCollider->ChkAtType(AT_TYPE_SHIELD_ATTACK)) {
p_info->mHitType = HIT_TYPE_STUN;
} else if (p_info->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) {
p_info->mHitBit = 0x1000;
} else {
s16 ac_name = fopAcM_GetName(info->mpActor);
s16 ac_name = fopAcM_GetName(p_info->mpActor);
if (ac_name == PROC_ALINK || ac_name == PROC_ALINK) {
if (dCcD_GetGObjInf(info->mpCollider)->GetAtSpl() == 1) {
info->mHitStatus = 1;
if (dCcD_GetGObjInf(p_info->mpCollider)->GetAtSpl() == 1) {
p_info->mHitStatus = 1;
}
} else if (info->mAttackPower >= 3) {
info->mHitStatus = 1;
} else if (p_info->mAttackPower >= 3) {
p_info->mHitStatus = 1;
}
}
return info->mpActor;
return p_info->mpActor;
}
/* ############################################################################################## */
@@ -381,113 +439,115 @@ SECTION_SDATA2 static f32 lit_4218[1 + 1 /* padding */] = {
/* 80087C04-80088134 082544 0530+00 0/0 0/0 84/84 .text cc_at_check__FP10fopAc_ac_cP11dCcU_AtInfo
*/
// reg issues
// just float reg issues
#ifdef NONMATCHING
fopAc_ac_c* cc_at_check(fopAc_ac_c* enemy, dCcU_AtInfo* info) {
fopAc_ac_c* cc_at_check(fopAc_ac_c* p_enemy, dCcU_AtInfo* p_info) {
daPy_py_c* link = (daPy_py_c*)dComIfGp_getPlayer(0);
info->mpActor = at_power_check(info);
p_info->mpActor = at_power_check(p_info);
if (info->mpActor != NULL) {
cXyz tmp = info->mpActor->mSpeed;
if (p_info->mpActor != NULL) {
cXyz tmp = p_info->mpActor->mSpeed;
tmp.y = 0.0f;
if (tmp.abs() > 100.0f) {
f32 x = info->mpActor->mSpeed.x;
f32 z = info->mpActor->mSpeed.z;
info->mHitDirection = cM_atan2s(-x, -z) + (s16)cM_rndFX(4000.0f);
f32 x = p_info->mpActor->mSpeed.x;
f32 z = p_info->mpActor->mSpeed.z;
p_info->mHitDirection = cM_atan2s(-x, -z) + (s16)cM_rndFX(4000.0f);
} else {
if (fopAcM_GetName(info->mpActor) == PROC_BOOMERANG) {
f32 x_diff = enemy->mCurrent.mPosition.x - link->mCurrent.mPosition.x;
f32 z_diff = enemy->mCurrent.mPosition.z - link->mCurrent.mPosition.z;
info->mHitDirection = cM_atan2s(-x_diff, -z_diff) + (s16)cM_rndFX(10000.0f);
if (fopAcM_GetName(p_info->mpActor) == PROC_BOOMERANG) {
f32 x_diff = p_enemy->mCurrent.mPosition.x - link->mCurrent.mPosition.x;
f32 z_diff = p_enemy->mCurrent.mPosition.z - link->mCurrent.mPosition.z;
p_info->mHitDirection = cM_atan2s(-x_diff, -z_diff) + (s16)cM_rndFX(10000.0f);
} else {
f32 x_diff = enemy->mCurrent.mPosition.x - info->mpActor->mCurrent.mPosition.x;
f32 z_diff = enemy->mCurrent.mPosition.z - info->mpActor->mCurrent.mPosition.z;
info->mHitDirection = cM_atan2s(-x_diff, -z_diff);
f32 x_diff = p_enemy->mCurrent.mPosition.x - p_info->mpActor->mCurrent.mPosition.x;
f32 z_diff = p_enemy->mCurrent.mPosition.z - p_info->mpActor->mCurrent.mPosition.z;
p_info->mHitDirection = cM_atan2s(-x_diff, -z_diff);
}
}
if (info->mHitType == 1 && link->getCutType() == daPy_py_c::TYPE_CUT_HEAD) {
info->mHitDirection = link->mCollisionRot.y;
if (p_info->mHitType == HIT_TYPE_LINK_NORMAL_ATTACK &&
link->getCutType() == daPy_py_c::TYPE_CUT_HEAD) {
p_info->mHitDirection = link->mCollisionRot.y;
}
if (info->mpCollider->ChkAtType(0x4000) && fopAcM_checkStatus(enemy, 0x380000)) {
info->mAttackPower = 0;
if (p_info->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT) &&
fopAcM_checkStatus(p_enemy, 0x380000)) {
p_info->mAttackPower = 0;
}
if (static_cast<dCcD_GObjInf*>(info->mpCollider)->GetAtMtrl() == 4) {
if (fopAcM_GetName(enemy) == PROC_B_GND) {
info->mAttackPower = 0;
} else if (fopAcM_GetName(enemy) != PROC_B_ZANT) {
info->mAttackPower = 100;
if (static_cast<dCcD_GObjInf*>(p_info->mpCollider)->GetAtMtrl() == 4) {
if (fopAcM_GetName(p_enemy) == PROC_B_GND) {
p_info->mAttackPower = 0;
} else if (fopAcM_GetName(p_enemy) != PROC_B_ZANT) {
p_info->mAttackPower = 100;
}
}
if (info->mHitType == 1) {
if (p_info->mHitType == HIT_TYPE_LINK_NORMAL_ATTACK) {
if (!daPy_py_c::checkNowWolf()) {
if (link->checkMasterSwordEquip()) {
info->mAttackPower *= 2;
p_info->mAttackPower *= 2;
}
if (daPy_py_c::checkWoodSwordEquip()) {
// probably supposed to be some sort of division
info->mAttackPower = info->mAttackPower >> 1;
p_info->mAttackPower /= 2;
}
}
if (link->getSwordAtUpTime()) {
info->mAttackPower *= 2;
info->mHitStatus = 1;
p_info->mAttackPower *= 2;
p_info->mHitStatus = 1;
}
}
if (info->mAttackPower != 0) {
enemy->field_0x562 -= info->mAttackPower;
if (p_info->mAttackPower != 0) {
p_enemy->field_0x562 -= p_info->mAttackPower;
}
s8 pause_time = 0;
if (info->mAttackPower != 0 && enemy->field_0x562 <= 0) {
info->mHitStatus = 2;
enemy->field_0x562 = 0;
if (p_info->mAttackPower != 0 && p_enemy->field_0x562 <= 0) {
p_info->mHitStatus = 2;
p_enemy->field_0x562 = 0;
}
int uvar8;
if (info->mpCollider->ChkAtType(0x4000) && !fopAcM_checkStatus(enemy, 0x280000)) {
if (p_info->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT) &&
!fopAcM_checkStatus(p_enemy, 0x280000)) {
uvar8 = 1;
} else {
uvar8 = 0;
}
if (info->mpSound != NULL) {
if (info->field_0x18 != 0) {
info->mpSound->startCollisionSE(getHitId(info->mpCollider, uvar8),
info->field_0x18);
if (p_info->mpSound != NULL) {
if (p_info->field_0x18 != 0) {
p_info->mpSound->startCollisionSE(getHitId(p_info->mpCollider, uvar8),
p_info->field_0x18);
} else {
info->mpSound->startCollisionSE(getHitId(info->mpCollider, uvar8),
getMapInfo(info->mHitStatus));
p_info->mpSound->startCollisionSE(getHitId(p_info->mpCollider, uvar8),
getMapInfo(p_info->mHitStatus));
}
}
if (info->mHitStatus != 0) {
if (p_info->mHitStatus != 0) {
pause_time = 5;
} else {
if (info->mAttackPower > 1) {
if (p_info->mAttackPower > 1) {
pause_time = 2;
}
}
if (info->mpCollider->ChkAtType(0x8000000) ||
if (p_info->mpCollider->ChkAtType(AT_TYPE_MIDNA_LOCK) ||
((daPy_py_c*)dComIfGp_getPlayer(0))->checkHorseRide()) {
// actor is Bulblin or Horseback Ganon
// add bulblin class later
if ((fopAcM_GetName(enemy) == PROC_E_RD && *(char*)((char*)&enemy + 0x1292) != 0) ||
fopAcM_GetName(enemy) == PROC_B_GND) {
if ((fopAcM_GetName(p_enemy) == PROC_E_RD &&
static_cast<e_rd_class*>(p_enemy)->field_0x129a != 0) ||
fopAcM_GetName(p_enemy) == PROC_B_GND) {
pause_time = 3;
} else {
pause_time = 0;
}
}
s16 ac_name = fopAcM_GetName(enemy);
s16 ac_name = fopAcM_GetName(p_enemy);
// actor is Stalkin, Chu, Keese, Shadow Keese, Shadow Vermin, Baby Gohma, or Rat
if (ac_name == PROC_E_BS || ac_name == PROC_E_SM2 || ac_name == PROC_E_BA ||
ac_name == PROC_E_YK || ac_name == PROC_E_YG || ac_name == PROC_E_GM ||
@@ -495,15 +555,17 @@ fopAc_ac_c* cc_at_check(fopAc_ac_c* enemy, dCcU_AtInfo* info) {
pause_time = 0;
}
if (info->mHitType == 1 || info->mpCollider->ChkAtType(0x8)) {
if (!link->checkCutJumpCancelTurn() && info->mpCollider->ChkAtType(0x8)) {
if ((p_info->mHitType == HIT_TYPE_LINK_NORMAL_ATTACK ||
p_info->mpCollider->ChkAtType(AT_TYPE_THROW_OBJ)) &&
!link->checkCutJumpCancelTurn()) {
if (p_info->mpCollider->ChkAtType(AT_TYPE_THROW_OBJ)) {
pause_time = 4;
}
dScnPly_c::setPauseTimer(pause_time);
}
}
return info->mpActor;
return p_info->mpActor;
}
#else
#pragma push
+10 -22
View File
@@ -16,9 +16,14 @@ struct mDoCPd_c {
static u8 m_cpadInfo[256];
};
struct dAttDrawParam_c {
class dAttDrawParam_c {
public:
/* 80070158 */ dAttDrawParam_c();
/* 80073FC4 */ ~dAttDrawParam_c();
/* 80073FC4 */ virtual ~dAttDrawParam_c();
/* 0x4 */ s8 field_0x4;
/* 0x8 */ f32 mCursorDistance;
/* 0xC */ f32 field_0xc;
};
//
@@ -347,11 +352,8 @@ SECTION_DEAD static char const* const stringBase_8037A778 = "Always";
SECTION_DEAD static char const* const pad_8037A77F = "";
#pragma pop
/* 80424B00-80424B0C 051820 000C+00 1/1 0/0 0/0 .bss @4093 */
static u8 lit_4093[12];
/* 80424B0C-80424B20 05182C 0010+04 3/3 0/0 0/0 .bss g_AttDwHIO */
static u8 g_AttDwHIO[16 + 4 /* padding */];
static dAttDrawParam_c g_AttDwHIO;
/* 80070198-80070774 06AAD8 05DC+00 0/0 1/1 0/0 .text __ct__12dAttention_cFP10fopAc_ac_cUl */
#pragma push
@@ -1093,27 +1095,13 @@ asm void dAttLook_c::request(fopAc_ac_c* param_0, f32 param_1, f32 param_2, f32
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dAttDrawParam_c::~dAttDrawParam_c() {
// asm dAttDrawParam_c::~dAttDrawParam_c() {
extern "C" asm void __dt__15dAttDrawParam_cFv() {
nofralloc
#include "asm/d/d_attention/__dt__15dAttDrawParam_cFv.s"
}
#pragma pop
/* 8007400C-80074048 06E94C 003C+00 0/0 1/0 0/0 .text __sinit_d_attention_cpp */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void __sinit_d_attention_cpp() {
nofralloc
#include "asm/d/d_attention/__sinit_d_attention_cpp.s"
}
#pragma pop
#pragma push
#pragma force_active on
REGISTER_CTORS(0x8007400C, __sinit_d_attention_cpp);
#pragma pop
/* ############################################################################################## */
/* 8045067A-8045067E -00001 0004+00 0/0 0/0 0/0 .sdata None */
#pragma push
+361 -488
View File
File diff suppressed because it is too large Load Diff
+127 -176
View File
@@ -10,27 +10,14 @@
#include "dolphin/mtx/mtx44.h"
#include "dolphin/mtx/mtxvec.h"
#include "dolphin/types.h"
#include "m_Do/m_Do_mtx.h"
#include "m_Do/m_Do_lib.h"
#include "m_Do/m_Do_graphic.h"
//
// Types:
//
struct mDoMtx_stack_c {
/* 8000CE38 */ void scaleM(f32, f32, f32);
static u8 now[48];
};
struct mDoLib_clipper {
static u8 mClipper[92];
static f32 mSystemFar;
static f32 mFovyRate;
};
struct mDoGph_gInf_c {
static u8 mBackColor[4];
};
struct dDlst_effectLine_c {
/* 80053E9C */ void draw();
/* 800541F4 */ void update(cXyz&, _GXColor&, u16, u16, u16, u16, f32, f32, f32, f32);
@@ -52,12 +39,6 @@ struct dDlst_2DT_c {
/* 80051F98 */ void draw();
};
struct dDlst_2DT2_c {
/* 80052354 */ void draw();
/* 80052B00 */ dDlst_2DT2_c();
/* 80052B4C */ void init(ResTIMG*, f32, f32, f32, f32, u8, u8, u8, f32, f32);
};
struct dDlst_2DQuad_c {
/* 80051CF0 */ void draw();
};
@@ -88,11 +69,6 @@ struct ShdwDrawPoly_c {
/* 80054A6C */ ~ShdwDrawPoly_c();
};
struct J3DUClipper {
/* 8027378C */ void calcViewFrustum();
/* 80273A44 */ void clip(f32 const (*)[4], Vec*, Vec*) const;
};
//
// Forward References:
//
@@ -230,7 +206,6 @@ extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs();
extern "C" void draw__13J3DDrawBufferCFv();
extern "C" void GXClearVtxDesc();
extern "C" void GXPixModeSync();
extern "C" void GXPeekZ();
extern "C" void GXGetTexObjWidth();
extern "C" void GXGetTexObjHeight();
extern "C" void GXGetTexObjWrapS();
@@ -256,7 +231,6 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern u8 g_mDoMtx_identity[48 + 24 /* padding */];
extern "C" extern void* __vt__26mDoExt_3DlineMatSortPacket[5];
extern "C" extern void* __vt__12dDlst_base_c[3];
extern "C" extern void* __vt__9J3DPacket[5];
@@ -279,23 +253,23 @@ extern "C" u8 sOldVcdVatCmd__8J3DShape[4];
//
/* 80051AC0-80051ADC 04C400 001C+00 0/0 3/3 0/0 .text setViewPort__14dDlst_window_cFffffff */
void dDlst_window_c::setViewPort(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4,
f32 param_5) {
mViewport = param_0;
field_0x04 = param_1;
field_0x08 = param_2;
field_0x0C = param_3;
field_0x10 = param_4;
field_0x14 = param_5;
void dDlst_window_c::setViewPort(f32 xOrig, f32 yOrig, f32 width, f32 height, f32 nearZ,
f32 farZ) {
mXOrig = xOrig;
mYOrig = yOrig;
mWidth = width;
mHeight = height;
mNearZ = nearZ;
mFarZ = farZ;
}
/* 80051ADC-80051AF0 04C41C 0014+00 0/0 4/4 0/0 .text setScissor__14dDlst_window_cFffff
*/
void dDlst_window_c::setScissor(f32 param_0, f32 param_1, f32 param_2, f32 param_3) {
mScissor = param_0;
field_0x1c = param_1;
field_0x20 = param_2;
field_0x24 = param_3;
void dDlst_window_c::setScissor(f32 xOrig, f32 yOrig, f32 width, f32 height) {
mScissorXOrig = xOrig;
mScissorYOrig = yOrig;
mScissorWidth = width;
mScissorHeight = height;
}
/* 80051AF0-80051CF0 04C430 0200+00 1/0 0/0 0/0 .text draw__13dDlst_2DTri_cFv */
@@ -374,7 +348,8 @@ SECTION_SDATA2 static f32 lit_4270 = 1.0f;
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dDlst_2DT2_c::draw() {
// asm void dDlst_2DT2_c::draw() {
extern "C" asm void draw__12dDlst_2DT2_cFv() {
nofralloc
#include "asm/d/d_drawlist/draw__12dDlst_2DT2_cFv.s"
}
@@ -1944,7 +1919,7 @@ SECTION_DATA static u8 l_matDL[123 + 1 /* padding */] = {
};
/* 803A8D7C-803A8D8C 005E9C 0010+00 1/1 0/0 0/0 .data l_imageDrawColor$5405 */
SECTION_DATA static _GXColor l_imageDrawColor[4] = {{0xFF, 0x00, 0x00, 0x00},
SECTION_DATA static GXColor l_imageDrawColor[4] = {{0xFF, 0x00, 0x00, 0x00},
{0x00, 0xFF, 0x00, 0x00},
{0x00, 0x00, 0xFF, 0x00},
{0x00, 0x00, 0x00, 0xFF}};
@@ -2050,18 +2025,10 @@ SECTION_DATA extern void* __vt__12dDlst_2DT2_c[3] = {
(void*)draw__12dDlst_2DT2_cFv,
};
/* 80456B68-80456B70 000008 0004+04 1/1 0/0 0/0 .sbss2 @4275 */
SECTION_SBSS2 static u8 lit_4275[4 + 4 /* padding */];
/* 80052B00-80052B4C 04D440 004C+00 1/1 0/0 0/0 .text __ct__12dDlst_2DT2_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dDlst_2DT2_c::dDlst_2DT2_c() {
nofralloc
#include "asm/d/d_drawlist/__ct__12dDlst_2DT2_cFv.s"
dDlst_2DT2_c::dDlst_2DT2_c() {
field_0x40 = (GXColor){0, 0, 0, 0};
}
#pragma pop
/* ############################################################################################## */
/* 8045202C-80452030 00062C 0004+00 1/1 0/0 0/0 .sdata2 @4284 */
@@ -2693,35 +2660,43 @@ asm void dDlst_shadowControl_c::setSimpleTex(ResTIMG const* param_0) {
#pragma pop
/* 80056018-80056080 050958 0068+00 0/0 3/3 9/9 .text newData__13dDlst_peekZ_cFssPUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dDlst_peekZ_c::newData(s16 param_0, s16 param_1, u32* param_2) {
nofralloc
#include "asm/d/d_drawlist/newData__13dDlst_peekZ_cFssPUl.s"
int dDlst_peekZ_c::newData(s16 x, s16 y, u32* dst) {
if (mCount >= 0x40 || x < 0 || x > 607 || y < 0 || y > 447) {
return 0;
}
dDlst_peekZ_entry* entry = &mEntries[mCount];
entry->x = x;
entry->y = y;
entry->dst = dst;
mCount++;
return 1;
}
#pragma pop
/* 80056080-800560F0 0509C0 0070+00 0/0 1/1 0/0 .text peekData__13dDlst_peekZ_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dDlst_peekZ_c::peekData() {
nofralloc
#include "asm/d/d_drawlist/peekData__13dDlst_peekZ_cFv.s"
void dDlst_peekZ_c::peekData() {
dDlst_peekZ_entry* entry = mEntries;
for (int i = 0; i < mCount; i++) {
GXPeekZ(entry->x, entry->y, entry->dst);
entry++;
}
mCount = 0;
}
#pragma pop
/* 800560F0-800561C8 050A30 00D8+00 0/0 1/1 0/0 .text __ct__12dDlst_list_cFv */
#ifdef NONMATCHING
dDlst_list_c::dDlst_list_c() {
field_0x68 = &field_0x64;
field_0xb0 = &field_0xac;
field_0x1b8 = &field_0x1b4;
field_0x240 = &field_0x23c;
J3DDrawBuffer** tmp = &mOpaListSky;
for (int i = 0; i < 0x15; i++) {
*(tmp + i) = NULL;
mpCopy2DSet[1] = mpCopy2DSet[0];
mp2DOpaTopSet[1] = mp2DOpaTopSet[0];
mp2DOpaSet[1] = mp2DOpaSet[0];
mp2DXluSet[1] = mp2DXluSet[0];
J3DDrawBuffer** buffer = mDrawBuffers;
for (int i = 0; i < 21; i++) {
*buffer = NULL;
buffer++;
}
}
#else
@@ -2749,7 +2724,8 @@ asm mDoExt_3DlineMatSortPacket::mDoExt_3DlineMatSortPacket() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dDlst_shadowReal_c::~dDlst_shadowReal_c() {
// asm dDlst_shadowReal_c::~dDlst_shadowReal_c() {
extern "C" asm void __dt__18dDlst_shadowReal_cFv() {
nofralloc
#include "asm/d/d_drawlist/__dt__18dDlst_shadowReal_cFv.s"
}
@@ -2792,57 +2768,33 @@ dDlst_shadowSimple_c::dDlst_shadowSimple_c() {
/* ############################################################################################## */
/* 8037A178-8037A1A4 0067D8 002A+02 1/1 0/0 0/0 .rodata l_drawlistSize$5656 */
SECTION_RODATA static u8 const l_drawlistSize[42 + 2 /* padding */] = {
0x00,
0x01,
0x00,
0x01,
0x00,
0x01,
0x00,
0x80,
0x00,
0x01,
0x00,
0x01,
0x00,
0x01,
0x00,
0x80,
0x01,
0x00,
0x00,
0x01,
0x01,
0x00,
0x00,
0x01,
0x00,
0x20,
0x00,
0x10,
0x00,
0x10,
0x00,
0x20,
0x00,
0x20,
0x01,
0x00,
0x00,
0x01,
0x00,
0x04,
0x00,
0x04,
/* padding */
0x00,
0x00,
SECTION_RODATA static u16 const l_drawlistSize[21] = {
0x0001,
0x0001,
0x0001,
0x0080,
0x0001,
0x0001,
0x0001,
0x0080,
0x0100,
0x0001,
0x0100,
0x0001,
0x0020,
0x0010,
0x0010,
0x0020,
0x0020,
0x0100,
0x0001,
0x0004,
0x0004,
};
COMPILER_STRIP_GATE(0x8037A178, &l_drawlistSize);
/* 8037A1A4-8037A1B0 006804 0009+03 1/1 0/0 0/0 .rodata l_nonSortId$5662 */
SECTION_RODATA static u8 const l_nonSortId[9 + 3 /* padding */] = {
SECTION_RODATA static u8 const l_nonSortId[9] = {
0x00,
0x01,
0x02,
@@ -2852,27 +2804,55 @@ SECTION_RODATA static u8 const l_nonSortId[9 + 3 /* padding */] = {
0x09,
0x12,
0x0D,
/* padding */
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x8037A1A4, &l_nonSortId);
/* 804520C4-804520CC 0006C4 0006+02 1/1 0/0 0/0 .sdata2 l_zSortId$5668 */
SECTION_SDATA2 static u8 l_zSortId[6 + 2 /* padding */] = {
SECTION_SDATA2 static u8 l_zSortId[6] = {
0x08,
0x0A,
0x0C,
0x0E,
0x10,
0x11,
/* padding */
0x00,
0x00,
};
/* 80056390-8005648C 050CD0 00FC+00 0/0 1/1 0/0 .text init__12dDlst_list_cFv */
#ifdef NONMATCHING
void dDlst_list_c::init() {
J3DDrawBuffer** buffer = mDrawBuffers;
const u16* size = l_drawlistSize;
for (int i = 0; i < 21; i++) {
u32 bufSize = *size;
size++;
*buffer = J3DDrawBuffer__create(bufSize);
buffer++;
}
const u8* nonsortID = l_nonSortId;
for (int i = 0; i < 9; i++) {
mDrawBuffers[*nonsortID]->setNonSort();
nonsortID++;
}
u8* zsortID = l_zSortId;
for (int i = 0; i < 6; i++) {
mDrawBuffers[*zsortID]->setZSort();
zsortID++;
}
setOpaList();
setXluList();
mpCopy2DSet[0] = mpCopy2DDraw[0];
mp2DOpaTopSet[0] = mp2DOpaTopDraw[0];
mp2DOpaSet[0] = mp2DOpaDraw[0];
mp2DXluSet[0] = mp2DXluDraw[0];
mShadowControl.init();
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2881,6 +2861,7 @@ asm void dDlst_list_c::init() {
#include "asm/d/d_drawlist/init__12dDlst_list_cFv.s"
}
#pragma pop
#endif
/* 8005648C-80056538 050DCC 00AC+00 0/0 1/1 0/0 .text __dt__12dDlst_list_cFv */
#pragma push
@@ -2937,43 +2918,32 @@ void dDlst_list_c::drawXluDrawList(J3DDrawBuffer* pDrawBuf) {
/* 8005674C-80056770 05108C 0024+00 0/0 1/1 0/0 .text drawOpaListItem3d__12dDlst_list_cFv
*/
void dDlst_list_c::drawOpaListItem3d() {
drawOpaDrawList(mOpaListItem3d);
drawOpaDrawList(mDrawBuffers[DB_OPA_LIST_ITEM3D]);
}
/* 80056770-80056794 0510B0 0024+00 0/0 1/1 0/0 .text drawXluListItem3d__12dDlst_list_cFv
*/
void dDlst_list_c::drawXluListItem3d() {
drawXluDrawList(mXluListItem3d);
drawXluDrawList(mDrawBuffers[DB_XLU_LIST_ITEM3D]);
}
/* 80056794-800567C4 0510D4 0030+00 2/2 35/35 6/6 .text
* set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c */
#ifdef NONMATCHING
int dDlst_list_c::set(dDlst_base_c**& param_0, dDlst_base_c**& param_1, dDlst_base_c* param_2) {
if (*param_0 >= *param_1) {
int dDlst_list_c::set(dDlst_base_c**& p_start, dDlst_base_c**& p_end, dDlst_base_c* p_newDlst) {
if (p_start >= p_end) {
return 0;
}
*param_0 = param_2;
*param_0++;
*p_start = p_newDlst;
*p_start++;
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int dDlst_list_c::set(dDlst_base_c**& param_0, dDlst_base_c**& param_1, dDlst_base_c* param_2) {
nofralloc
#include "asm/d/d_drawlist/set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c.s"
}
#pragma pop
#endif
/* 800567C4-8005681C 051104 0058+00 0/0 1/1 0/0 .text
* draw__12dDlst_list_cFPP12dDlst_base_cPP12dDlst_base_c */
void dDlst_list_c::draw(dDlst_base_c** pStart, dDlst_base_c** pEnd) {
for (; pStart < pEnd; pStart++) {
dDlst_base_c* base = *pStart;
base->draw();
void dDlst_list_c::draw(dDlst_base_c** p_start, dDlst_base_c** p_end) {
for (; p_start < p_end; p_start++) {
dDlst_base_c* dlst = *p_start;
dlst->draw();
}
}
@@ -2987,18 +2957,13 @@ SECTION_DEAD static char const* const pad_8037A1BC = "\0\0\0";
#pragma pop
/* 804248F0-80424938 051610 0048+00 3/3 0/0 0/0 .bss mWipeDlst__12dDlst_list_c */
u8 dDlst_list_c::mWipeDlst[72];
dDlst_2DT2_c dDlst_list_c::mWipeDlst;
/* 8045065C-80450660 0000DC 0004+00 1/1 0/0 0/0 .sdata mWipeColor__12dDlst_list_c */
SECTION_SDATA u8 dDlst_list_c::mWipeColor[4] = {
0x00,
0x00,
0x00,
0x00,
};
SECTION_SDATA GXColor dDlst_list_c::mWipeColor = {0, 0, 0, 0};
/* 80450ED0-80450ED4 0003D0 0004+00 2/2 1/1 0/0 .sbss None */
u8 data_80450ED0;
u8 dDlst_list_c::mWipe;
/* 80450ED4-80450ED8 0003D4 0004+00 2/2 1/1 0/0 .sbss mWipeRate__12dDlst_list_c */
f32 dDlst_list_c::mWipeRate;
@@ -3055,7 +3020,8 @@ asm void dDlst_list_c::calcWipe() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dDlst_shadowRealPoly_c::getTri() {
// asm void dDlst_shadowRealPoly_c::getTri() {
extern "C" asm void getTri__22dDlst_shadowRealPoly_cFv() {
nofralloc
#include "asm/d/d_drawlist/getTri__22dDlst_shadowRealPoly_cFv.s"
}
@@ -3073,21 +3039,6 @@ extern "C" void searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen() {
/* empty function */
}
/* 800569B4-800569DC 0512F4 0028+00 0/0 1/0 0/0 .text __sinit_d_drawlist_cpp */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void __sinit_d_drawlist_cpp() {
nofralloc
#include "asm/d/d_drawlist/__sinit_d_drawlist_cpp.s"
}
#pragma pop
#pragma push
#pragma force_active on
REGISTER_CTORS(0x800569B4, __sinit_d_drawlist_cpp);
#pragma pop
/* ############################################################################################## */
/* 803A8E68-803A8E74 005F88 000C+00 0/0 0/0 0/0 .data __vt__11dDlst_2DT_c */
SECTION_DATA extern void* __vt__11dDlst_2DT_c[3] = {
+13 -4
View File
@@ -77,10 +77,18 @@ struct dMenu_save_c {
/* 801F69FC */ void _draw2();
};
struct dGov_HIO_c {
class dGov_HIO_c {
public:
/* 8019AFE0 */ dGov_HIO_c();
/* 8019C06C */ ~dGov_HIO_c();
};
/* 8019C06C */ virtual ~dGov_HIO_c();
/* 0x04 */ s8 field_0x4;
/* 0x08 */ f32 mScale;
/* 0x0C */ f32 mAlpha;
/* 0x10 */ f32 mAnimSpeed;
/* 0x14 */ GXColor mBlack;
/* 0x18 */ GXColor mWhite;
}; // Size: 0x1C
struct dDlst_base_c {};
@@ -919,7 +927,8 @@ asm void d_GameOver_Delete(unsigned int& param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dGov_HIO_c::~dGov_HIO_c() {
// asm dGov_HIO_c::~dGov_HIO_c() {
extern "C" asm void __dt__10dGov_HIO_cFv() {
nofralloc
#include "asm/d/d_gameover/__dt__10dGov_HIO_cFv.s"
}
+3 -60
View File
@@ -6,40 +6,7 @@
#include "d/d_kantera_icon_meter.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Forward References:
//
extern "C" void __ct__15dKantera_icon_cFv();
extern "C" void __dt__15dKantera_icon_cFv();
extern "C" void initiate__15dKantera_icon_cFv();
extern "C" void setAlphaRate__15dKantera_icon_cFf();
extern "C" void setPos__15dKantera_icon_cFff();
extern "C" void setScale__15dKantera_icon_cFff();
extern "C" void setNowGauge__15dKantera_icon_cFUsUs();
extern "C" void draw__19dDlst_KanteraIcon_cFv();
extern "C" void __dt__19dDlst_KanteraIcon_cFv();
extern "C" extern char const* const d_d_kantera_icon_meter__stringBase0;
//
// External References:
//
extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap();
extern "C" void dPaneClass_showNullPane__FP9J2DScreen();
extern "C" void setAlphaRate__13CPaneMgrAlphaFf();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void __ct__9J2DScreenFv();
extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive();
extern "C" void draw__9J2DScreenFffPC14J2DGrafContext();
extern "C" extern void* __vt__12dDlst_base_c[3];
extern "C" extern u8 g_drawHIO[3880];
//
// Declarations:
//
#include "d/meter/d_meter_HIO.h"
/* 801AE938-801AE974 1A9278 003C+00 0/0 3/3 0/0 .text __ct__15dKantera_icon_cFv */
dKantera_icon_c::dKantera_icon_c() {
@@ -80,38 +47,14 @@ void dKantera_icon_c::setAlphaRate(f32 alphaRate) {
}
/* 801AEBA0-801AEBF4 1A94E0 0054+00 0/0 3/3 0/0 .text setPos__15dKantera_icon_cFff */
// need g_drawHIO global setup
#ifdef NONMATCHING
void dKantera_icon_c::setPos(f32 x, f32 y) {
mpParent->translate(x + g_drawHIO.mLanternIconMeterPosX, y + g_drawHIO.mLanternIconMeterPosY)
mpParent->translate(x + g_drawHIO.mLanternIconMeterPosX, y + g_drawHIO.mLanternIconMeterPosY);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dKantera_icon_c::setPos(f32 param_0, f32 param_1) {
nofralloc
#include "asm/d/d_kantera_icon_meter/setPos__15dKantera_icon_cFff.s"
}
#pragma pop
#endif
/* 801AEBF4-801AEC44 1A9534 0050+00 0/0 4/4 0/0 .text setScale__15dKantera_icon_cFff */
// need g_drawHIO global setup
#ifdef NONMATCHING
void dKantera_icon_c::setScale(f32 h, f32 v) {
mpParent->scale(h * g_drawHIO.mLanternIconMeterSize, v * g_drawHIO.mLanternIconMeterSize)
mpParent->scale(h * g_drawHIO.mLanternIconMeterSize, v * g_drawHIO.mLanternIconMeterSize);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dKantera_icon_c::setScale(f32 param_0, f32 param_1) {
nofralloc
#include "asm/d/d_kantera_icon_meter/setScale__15dKantera_icon_cFff.s"
}
#pragma pop
#endif
/* 801AEC44-801AECB8 1A9584 0074+00 0/0 4/4 0/0 .text setNowGauge__15dKantera_icon_cFUsUs
*/
+148 -111
View File
@@ -21,8 +21,6 @@
// Forward References:
//
extern "C" static bool func_80041480();
extern "C" static void func_80041488();
extern "C" void __ct__14dEvt_control_cFv();
extern "C" void __ct__12dEvt_order_cFv();
extern "C" void orderOld__14dEvt_control_cFUsUsUsUsPvPvPCv();
@@ -149,13 +147,14 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
/* 80041480-80041488 03BDC0 0008+00 1/1 0/0 0/0 .text event_debug_evnt__21@unnamed@d_event_cpp@Fv
*/
static bool func_80041480() {
namespace {
static bool event_debug_evnt() {
return false;
}
/* 80041488-80041580 03BDC8 00F8+00 1/1 0/0 0/0 .text
* clear_tmpflag_for_message__21@unnamed@d_event_cpp@Fv */
static void func_80041488() {
static void clear_tmpflag_for_message() {
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[11]);
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[12]);
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[13]);
@@ -167,32 +166,31 @@ static void func_80041488() {
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[54]);
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[55]);
}
}; // namespace
dEvt_control_c::dEvt_control_c() {
remove();
}
dEvt_order_c::dEvt_order_c() {
/* empty function */
}
dEvt_order_c::dEvt_order_c() {}
/* 800415D8-80041668 03BF18 0090+00 1/1 0/0 0/0 .text orderOld__14dEvt_control_cFUsUsUsUsPvPvPCv
*/
s32 dEvt_control_c::orderOld(u16 param_0, u16 param_1, u16 param_2, u16 param_3, void* param_4,
void* param_5, void const* param_6) {
int eventIdx = i_dComIfGp_getEventManager().getEventIdx((char*)param_6, -1, -1);
return order(param_0, param_1, param_2, param_3, param_4, param_5, eventIdx, -1);
s32 dEvt_control_c::orderOld(u16 eventType, u16 priority, u16 flag, u16 hind, void* param_4,
void* param_5, void const* eventName) {
int eventIdx = i_dComIfGp_getEventManager().getEventIdx((char*)eventName, -1, -1);
return order(eventType, priority, flag, hind, param_4, param_5, eventIdx, -1);
}
/* 80041668-80041804 03BFA8 019C+00 3/3 13/13 0/0 .text order__14dEvt_control_cFUsUsUsUsPvPvsUc */
s32 dEvt_control_c::order(u16 eventType, u16 priority, u16 flag, u16 param_3, void* param_4,
s32 dEvt_control_c::order(u16 eventType, u16 priority, u16 flag, u16 hind, void* param_4,
void* param_5, s16 eventID, u8 infoIdx) {
if (!(flag & 0x400) && infoIdx != 0xFF) {
int roomNo = dComIfGp_roomControl_getStayNo();
dStage_MapEvent_dt_c* data = searchMapEventData(infoIdx, roomNo);
if (data != NULL && data->field_0x1B != 0xFF) {
if (dComIfGs_isSwitch(data->field_0x1B, roomNo)) {
if (data != NULL && data->mSwitch != 0xFF) {
if (dComIfGs_isSwitch(data->mSwitch, roomNo)) {
return 0;
}
}
@@ -209,7 +207,7 @@ s32 dEvt_control_c::order(u16 eventType, u16 priority, u16 flag, u16 param_3, vo
order->mActor1 = (fopAc_ac_c*)param_4;
order->mActor2 = (fopAc_ac_c*)param_5;
order->mEventId = eventID;
order->field_0x04 = param_3;
order->mHindFlag = hind;
order->mEventInfoIdx = infoIdx;
if (order->mPriority == 0) {
@@ -217,27 +215,27 @@ s32 dEvt_control_c::order(u16 eventType, u16 priority, u16 flag, u16 param_3, vo
}
if (mNum == 0) {
field_0xe3 = 0;
mOrderIdx = 0;
order->mNextOrderIdx = -1;
} else {
dEvt_order_c* order2;
int tmp_e3 = field_0xe3;
order2 = &mOrder[tmp_e3];
dEvt_order_c* curOrder;
int curOrderIdx = mOrderIdx;
curOrder = &mOrder[curOrderIdx];
if (order->mPriority < order2->mPriority) {
field_0xe3 = mNum;
order->mNextOrderIdx = tmp_e3;
if (order->mPriority < curOrder->mPriority) {
mOrderIdx = mNum;
order->mNextOrderIdx = curOrderIdx;
} else {
while (order2->mNextOrderIdx >= 0) {
if (order->mPriority < mOrder[order2->mNextOrderIdx].mPriority) {
while (curOrder->mNextOrderIdx >= 0) {
if (order->mPriority < mOrder[curOrder->mNextOrderIdx].mPriority) {
break;
}
int nextOrderIdx = order2->mNextOrderIdx;
order2 = &mOrder[nextOrderIdx];
int nextOrderIdx = curOrder->mNextOrderIdx;
curOrder = &mOrder[nextOrderIdx];
}
order->mNextOrderIdx = order2->mNextOrderIdx;
order2->mNextOrderIdx = mNum;
order->mNextOrderIdx = curOrder->mNextOrderIdx;
curOrder->mNextOrderIdx = mNum;
}
}
mNum++;
@@ -252,7 +250,7 @@ void dEvt_control_c::setParam(dEvt_order_c* p_order) {
setPt2(p_order->mActor2);
mSpecifiedEvent = p_order->mEventId;
mHindFlag = p_order->field_0x04;
mHindFlag = p_order->mHindFlag;
if (dComIfGp_getPlayer(0) != p_order->mActor1) {
setPtT(p_order->mActor1);
@@ -273,8 +271,8 @@ void dEvt_control_c::setParam(dEvt_order_c* p_order) {
if (data != NULL) {
field_0xea = data->field_0x16;
if (data->field_0x1B != 0xFF) {
dComIfGs_onSwitch(data->field_0x1B, roomNo);
if (data->mSwitch != 0xFF) {
dComIfGs_onSwitch(data->mSwitch, roomNo);
}
if (p_order->mFlag & 0x300) {
@@ -283,7 +281,7 @@ void dEvt_control_c::setParam(dEvt_order_c* p_order) {
}
if (!(p_order->mFlag & 0x200)) {
field_0xe0 = p_order->mEventId;
mEventID = p_order->mEventId;
}
mCullRate = 1.0f;
@@ -319,14 +317,14 @@ void dEvt_control_c::afterFlagProc(dEvt_order_c* p_order) {
/* 800419A8-80041A20 03C2E8 0078+00 4/4 0/0 0/0 .text
* commonCheck__14dEvt_control_cFP12dEvt_order_cUsUs */
int dEvt_control_c::commonCheck(dEvt_order_c* p_order, u16 param_1, u16 param_2) {
int dEvt_control_c::commonCheck(dEvt_order_c* p_order, u16 condition, u16 command) {
fopAc_ac_c* actor1 = p_order->mActor1;
fopAc_ac_c* actor2 = p_order->mActor2;
if ((actor1 != NULL && actor1->mEvtInfo.chkCondition(param_1)) &&
(actor2 != NULL && actor2->mEvtInfo.chkCondition(param_1))) {
actor1->mEvtInfo.setCommand(param_2);
actor2->mEvtInfo.setCommand(param_2);
if ((actor1 != NULL && actor1->mEvtInfo.chkCondition(condition)) &&
(actor2 != NULL && actor2->mEvtInfo.chkCondition(condition))) {
actor1->mEvtInfo.setCommand(command);
actor2->mEvtInfo.setCommand(command);
setParam(p_order);
return 1;
}
@@ -357,13 +355,14 @@ int dEvt_control_c::talkCheck(dEvt_order_c* p_order) {
event = "MHINT_TALK";
}
}
if (commonCheck(p_order, 1, 1)) {
mMode = 1;
mMode = EVT_MODE_TALK;
if (mSpecifiedEvent == -1) {
if (actor != NULL && actor->mEvtInfo.getEventName() != NULL) {
mSpecifiedEvent = actor->mEvtInfo.getEventId();
} else {
mSpecifiedEvent = i_dComIfGp_getEventManager().getEventIdx(event, 0xFF, UINT32_MAX);
mSpecifiedEvent = i_dComIfGp_getEventManager().getEventIdx(event, 0xFF, -1);
}
}
i_dComIfGp_getEventManager().order(mSpecifiedEvent);
@@ -395,30 +394,34 @@ SECTION_DEAD static char const* const stringBase_80379DA3 = "DEFAULT_TALK_XY";
int dEvt_control_c::talkXyCheck(dEvt_order_c* p_order) {
const char* event = "DEFAULT_TALK_XY";
fopAc_ac_c* pActor2 = p_order->mActor2;
int iVar5;
int itemIndex;
switch (p_order->mEventType) {
case 6:
iVar5 = 0;
case EVT_TYPE_SHOWITEM_X:
itemIndex = SELECT_ITEM_X;
field_0xed = 1;
break;
case 7:
case EVT_TYPE_SHOWITEM_Y:
field_0xed = 2;
iVar5 = 1;
itemIndex = SELECT_ITEM_Y;
break;
default:
field_0xed = 0;
return 0;
}
if (dComIfGp_getSelectItem(iVar5) == 0xFF) {
if (dComIfGp_getSelectItem(itemIndex) == NO_ITEM) {
return 0;
}
if (pActor2 == NULL || !pActor2->mEvtInfo.chkCondition(0x20)) {
return 0;
}
if (commonCheck(p_order, 1, 1)) {
mMode = 1;
mPreItemNo = dComIfGp_getSelectItem(iVar5);
mSpecifiedEvent = i_dComIfGp_getEventManager().getEventIdx(event, 0xFF, UINT32_MAX);
mMode = EVT_MODE_TALK;
mPreItemNo = dComIfGp_getSelectItem(itemIndex);
mSpecifiedEvent = i_dComIfGp_getEventManager().getEventIdx(event, 0xFF, -1);
i_dComIfGp_getEventManager().order(mSpecifiedEvent);
return 1;
} else {
@@ -435,13 +438,16 @@ int dEvt_control_c::catchCheck(dEvt_order_c* p_order) {
if (actor1 == NULL || (actor2 != NULL && !actor2->mEvtInfo.chkCondition(0x40))) {
return 0;
}
actor1->mEvtInfo.setCommand(6);
if (actor2 != NULL) {
actor2->mEvtInfo.setCommand(6);
}
setParam(p_order);
mPreItemNo = dComIfGp_att_getCatchChgItem();
mMode = 2;
mMode = EVT_MODE_DEMO;
if (mSpecifiedEvent != -1) {
i_dComIfGp_getEventManager().order(mSpecifiedEvent);
}
@@ -454,14 +460,17 @@ int dEvt_control_c::talkEnd() {
if (actor != NULL) {
actor->mEvtInfo.setCommand(0);
}
actor = (fopAc_ac_c*)getPt2();
if (actor != NULL) {
actor->mEvtInfo.setCommand(0);
}
if (mSpecifiedEvent != -1) {
i_dComIfGp_getEventManager().endProc(mSpecifiedEvent, 1);
mSpecifiedEvent = -1;
}
daItemBase_c* item = (daItemBase_c*)fopAcM_getItemEventPartner(NULL);
if (item != NULL && fopAcM_GetName(item) == PROC_ITEM) {
item->dead();
@@ -475,33 +484,42 @@ int dEvt_control_c::demoCheck(dEvt_order_c* p_order) {
fopAc_ac_c* actor1 = p_order->mActor1;
fopAc_ac_c* actor2 = p_order->mActor2;
int eventId = p_order->mEventId;
if (actor2 == NULL) {
return 0;
}
if (!(p_order->mFlag & 0x10)) {
if (actor1 != NULL && !actor1->mEvtInfo.chkCondition(2)) {
return 0;
}
if (actor2 != NULL && !actor2->mEvtInfo.chkCondition(2)) {
return 0;
}
}
if (!beforeFlagProc(p_order)) {
return 0;
}
if (actor1 != NULL) {
i_dComIfGp_getEventManager().setObjectArchive(actor1->mEvtInfo.getArchiveName());
}
if (!i_dComIfGp_getEventManager().order(eventId)) {
return 0;
}
if (actor1 != NULL) {
actor1->mEvtInfo.setCommand(2);
}
if (actor2 != NULL) {
actor2->mEvtInfo.setCommand(2);
}
mMode = 2;
mMode = EVT_MODE_DEMO;
setParam(p_order);
afterFlagProc(p_order);
return 1;
@@ -513,10 +531,12 @@ int dEvt_control_c::demoEnd() {
if (actor != NULL) {
actor->mEvtInfo.setCommand(0);
}
actor = (fopAc_ac_c*)getPt2();
if (actor != NULL) {
actor->mEvtInfo.setCommand(0);
}
if (mSpecifiedEvent != -1) {
i_dComIfGp_getEventManager().endProc(mSpecifiedEvent, 1);
mSpecifiedEvent = -1;
@@ -531,7 +551,7 @@ int dEvt_control_c::potentialCheck(dEvt_order_c* p_order) {
return 0;
} else {
actor->mEvtInfo.setCommand(2);
mMode = 2;
mMode = EVT_MODE_DEMO;
setParam(p_order);
afterFlagProc(p_order);
return 1;
@@ -542,14 +562,17 @@ int dEvt_control_c::potentialCheck(dEvt_order_c* p_order) {
*/
int dEvt_control_c::doorCheck(dEvt_order_c* p_order) {
if (commonCheck(p_order, 4, 3)) {
mMode = 2;
mMode = EVT_MODE_DEMO;
fopAc_ac_c* actor2 = (fopAc_ac_c*)getPt2();
if (actor2 != NULL) {
i_dComIfGp_getEventManager().setObjectArchive(actor2->mEvtInfo.getArchiveName());
}
if (mSpecifiedEvent == -1 && actor2 != NULL && actor2->mEvtInfo.getEventId() != -1) {
mSpecifiedEvent = actor2->mEvtInfo.getEventId();
}
if (mSpecifiedEvent != -1 &&
i_dComIfGp_getEventManager().getEventData(mSpecifiedEvent) != NULL) {
i_dComIfGp_getEventManager().order(mSpecifiedEvent);
@@ -557,11 +580,13 @@ int dEvt_control_c::doorCheck(dEvt_order_c* p_order) {
mSpecifiedEvent = -1;
reset();
}
if (p_order->mEventType == 0xB) {
if (p_order->mEventType == EVT_TYPE_TREASURE) {
onEventFlag(4);
} else {
onEventFlag(0x40);
}
return 1;
} else {
return 0;
@@ -574,7 +599,7 @@ int dEvt_control_c::itemCheck(dEvt_order_c* p_order) {
const char* event = "DEFAULT_GETITEM";
if (commonCheck(p_order, 8, 4)) {
mMode = 2;
mMode = EVT_MODE_DEMO;
mSpecifiedEvent = i_dComIfGp_getEventManager().getEventIdx(event, -1, -1);
i_dComIfGp_getEventManager().order(mSpecifiedEvent);
return 1;
@@ -584,27 +609,26 @@ int dEvt_control_c::itemCheck(dEvt_order_c* p_order) {
}
/* 800421C0-80042254 03CB00 0094+00 1/1 0/0 0/0 .text endProc__14dEvt_control_cFv */
// missing extra branch
int dEvt_control_c::endProc() {
switch (mMode) {
case 1:
case EVT_MODE_TALK:
talkEnd();
break;
case 2:
case EVT_MODE_DEMO:
demoEnd();
break;
case 3:
break;
}
mMode = 0;
mMode = EVT_MODE_NONE;
field_0xea = 255;
mMapToolId = 255;
mStageEventDt = NULL;
field_0xec = 255;
field_0xed = 0;
field_0xe0 = 255;
mPreItemNo = 255;
mEventID = 255;
mPreItemNo = NO_ITEM;
i_dComIfGp_getEventManager().setStartDemo(-2);
return 1;
}
@@ -612,22 +636,22 @@ int dEvt_control_c::endProc() {
/* 80042254-800422C0 03CB94 006C+00 1/1 0/0 0/0 .text change__14dEvt_control_cFv */
int dEvt_control_c::change() {
dEvt_order_c* order;
s8 var_r7;
s8 curOrderIdx;
if (mNum != 0) {
var_r7 = field_0xe3;
curOrderIdx = mOrderIdx;
do {
order = &mOrder[var_r7];
order = &mOrder[curOrderIdx];
if (order->mFlag & 0xE00 && order->mActor1 == mChangeOK) {
field_0xe3 = var_r7;
mOrderIdx = curOrderIdx;
mNum = 1;
order->mNextOrderIdx = -1;
return var_r7;
return curOrderIdx;
}
var_r7 = order->mNextOrderIdx;
} while (var_r7 >= 0);
curOrderIdx = order->mNextOrderIdx;
} while (curOrderIdx >= 0);
}
return -1;
@@ -636,7 +660,7 @@ int dEvt_control_c::change() {
/* 800422C0-80042468 03CC00 01A8+00 2/1 0/0 0/0 .text entry__14dEvt_control_cFv */
int dEvt_control_c::entry() {
if (mNum != 0) {
s8 orderIdx = field_0xe3;
s8 orderIdx = mOrderIdx;
mNum = 0;
do {
@@ -644,43 +668,43 @@ int dEvt_control_c::entry() {
orderIdx = order->mNextOrderIdx;
switch (order->mEventType) {
case 0:
case EVT_TYPE_TALK:
if (i_dComIfGs_getLife() != 0 && talkCheck(order) != 0) {
return 1;
}
break;
case 2:
case EVT_TYPE_OTHER:
if (i_dComIfGs_getLife() != 0 && demoCheck(order) != 0) {
return 1;
}
break;
case 1:
case 11:
case EVT_TYPE_DOOR:
case EVT_TYPE_TREASURE:
if (i_dComIfGs_getLife() != 0 && doorCheck(order) != 0) {
return 1;
}
break;
case 3:
case EVT_TYPE_COMPULSORY:
mMode = 3;
setParam(order);
return 1;
case 4:
case EVT_TYPE_POTENTIAL:
if (i_dComIfGs_getLife() != 0 && potentialCheck(order) != 0) {
return 1;
}
break;
case 5:
case EVT_TYPE_ITEM:
if (i_dComIfGs_getLife() != 0 && itemCheck(order) != 0) {
return 1;
}
break;
case 6:
case 7:
case EVT_TYPE_SHOWITEM_X:
case EVT_TYPE_SHOWITEM_Y:
if (i_dComIfGs_getLife() != 0 && talkXyCheck(order) != 0) {
return 1;
}
break;
case 10:
case EVT_TYPE_CATCH:
if (i_dComIfGs_getLife() != 0 && catchCheck(order) != 0) {
return 1;
}
@@ -701,7 +725,7 @@ void dEvt_control_c::reset() {
s16 eventIdx = i_dComIfGp_getEventManager().getEventIdx(NULL, field_0xec, -1);
void* pt2 = getPt2();
order(2, 3, 0x201, mHindFlag, pt1, pt2, eventIdx, field_0xec);
order(EVT_TYPE_OTHER, 3, 0x201, mHindFlag, pt1, pt2, eventIdx, field_0xec);
mChangeOK = pt1;
}
@@ -713,7 +737,7 @@ void dEvt_control_c::reset(void* param_0) {
if (field_0xec != 0xFF) {
s16 eventIdx = i_dComIfGp_getEventManager().getEventIdx((fopAc_ac_c*)param_0, field_0xec);
void* pt2 = getPt2();
order(2, 3, 0x201, mHindFlag, param_0, pt2, eventIdx, field_0xec);
order(EVT_TYPE_OTHER, 3, 0x201, mHindFlag, param_0, pt2, eventIdx, field_0xec);
}
mChangeOK = param_0;
@@ -985,7 +1009,7 @@ int dEvt_control_c::Step() {
mDoGph_gInf_c::fadeOut(-0.05f);
}
offFlag2(2);
func_80041488();
clear_tmpflag_for_message();
}
endProc();
@@ -995,7 +1019,7 @@ int dEvt_control_c::Step() {
}
mEventStatus = 2;
} else if (mEventStatus == 5 && (chkFlag2(2) || mSkipTimer < 0)) {
func_80041488();
clear_tmpflag_for_message();
}
if (change() != -1) {
@@ -1013,7 +1037,7 @@ int dEvt_control_c::Step() {
int roomNo = dComIfGp_roomControl_getStayNo();
if (mRoomNo != roomNo) {
field_0x129 = 0;
mRoomInfoSet = 0;
mRoomNo = roomNo;
}
@@ -1044,7 +1068,7 @@ int dEvt_control_c::Step() {
evtMng->Experts();
return 1;
} else {
if (!field_0x129) {
if (!mRoomInfoSet) {
char lastStageName[7];
strncpy(lastStageName, dComIfGp_getStartStageName(), 7);
lastStageName[7] = 0;
@@ -1052,7 +1076,7 @@ int dEvt_control_c::Step() {
dComIfGp_setLastPlayStageName(lastStageName);
dComIfGs_onVisitedRoom(mRoomNo);
}
field_0x129 = 1;
mRoomInfoSet = true;
}
return 0;
@@ -1065,19 +1089,22 @@ int dEvt_control_c::moveApproval(void* param_0) {
if (fopAcM_checkStatus(actor, 0x20000)) {
return 2;
}
if (!runCheck()) {
return 1;
}
switch (mMode) {
case 1:
case EVT_MODE_TALK:
if (getPt1() == actor || getPt2() == actor) {
return 2;
}
break;
case 2:
case EVT_MODE_DEMO:
if (getPt1() == actor || getPt2() == actor) {
return 2;
}
if (actor->mDemoActorId != 0) {
return 2;
}
@@ -1088,36 +1115,45 @@ int dEvt_control_c::moveApproval(void* param_0) {
}
break;
}
if (fopAcM_checkStatus(actor, 0x8000)) {
return 2;
}
if (fopAcM_checkStatus(actor, 0x800)) {
return 1;
}
if (i_dComIfGp_checkPlayerStatus0(0, 0x20000000) ||
i_dComIfGp_checkPlayerStatus1(0, 0x4002000)) {
return 0;
}
if (mMode == 1 && fopAcM_checkStatus(actor, 0x40)) {
if (mMode == EVT_MODE_TALK && fopAcM_checkStatus(actor, 0x40)) {
return 1;
}
if (dDemo_c::getMode() == 1) {
return 1;
}
if ((getMode() == 3 || getMode() == 1) && fopAcM_checkStatus(actor, 0x4000000)) {
if ((getMode() == 3 || getMode() == EVT_MODE_TALK) && fopAcM_checkStatus(actor, 0x4000000)) {
return 0;
}
if (fopAcM_checkStatus(actor, 0x4000)) {
return 1;
}
if (fopAcM_checkStatus(actor, 0x2000)) {
return 1;
}
return 0;
}
/* 8004316C-800431E8 03DAAC 007C+00 0/0 28/28 0/0 .text compulsory__14dEvt_control_cFPvPCcUs */
BOOL dEvt_control_c::compulsory(void* param_0, char const* param_1, u16 param_2) {
BOOL dEvt_control_c::compulsory(void* param_0, char const* eventName, u16 hind) {
bool check = (mEventStatus == 0 || mEventStatus == 2);
if (!check || mCompulsory) {
@@ -1125,11 +1161,11 @@ BOOL dEvt_control_c::compulsory(void* param_0, char const* param_1, u16 param_2)
}
mCompulsory = 1;
return orderOld(3, 2, 0, param_2, param_0, NULL, param_1);
return orderOld(EVT_TYPE_COMPULSORY, 2, 0, hind, param_0, NULL, eventName);
}
void dEvt_control_c::remove() {
mMode = 0;
mMode = EVT_MODE_NONE;
mEventStatus = 0;
mNum = 0;
mDebugStb = 0;
@@ -1140,15 +1176,15 @@ void dEvt_control_c::remove() {
mMapToolId = -1;
field_0xec = -1;
mStageEventDt = NULL;
field_0xe0 = 255;
mEventID = 255;
field_0xed = 0;
mPreItemNo = -1;
mPreItemNo = NO_ITEM;
mEventFlag = 0;
mFlag2 = 0;
mChangeOK = NULL;
clearSkipSystem();
mCompulsory = 0;
field_0x129 = 0;
mRoomInfoSet = false;
mRoomNo = -1;
}
@@ -1159,7 +1195,7 @@ dStage_MapEvent_dt_c* dEvt_control_c::getStageEventDt() {
}
void dEvt_control_c::sceneChange(int exitId) {
dStage_changeScene4Event(exitId, mRoomNo, -1, field_0x129, 0.0f, 0, 0, -1);
dStage_changeScene4Event(exitId, mRoomNo, -1, mRoomInfoSet, 0.0f, 0, 0, -1);
}
u32 dEvt_control_c::getPId(void* actor) {
@@ -1171,33 +1207,34 @@ u32 dEvt_control_c::getPId(void* actor) {
}
/* 800432EC-8004331C 03DC2C 0030+00 7/7 13/13 16/16 .text convPId__14dEvt_control_cFUi */
void* dEvt_control_c::convPId(unsigned int param_0) {
return fopAcIt_Judge(fpcSch_JudgeByID, (void*)&param_0);
void* dEvt_control_c::convPId(unsigned int id) {
return fopAcIt_Judge(fpcSch_JudgeByID, &id);
}
/* 8004331C-800433F0 03DC5C 00D4+00 0/0 1/1 0/0 .text getStbDemoData__14dEvt_control_cFPc
*/
void* dEvt_control_c::getStbDemoData(char* param_0) {
void* dEvt_control_c::getStbDemoData(char* resName) {
char* demoArcName = dStage_roomControl_c::getDemoArcName();
if (*demoArcName != 0) {
void* res = dComIfG_getObjectRes(demoArcName, param_0);
void* res = dComIfG_getObjectRes(demoArcName, resName);
if (res != NULL) {
func_80041480();
event_debug_evnt();
return res;
}
func_80041480();
event_debug_evnt();
} else {
func_80041480();
event_debug_evnt();
}
char* roomArcName = dComIfG_getRoomArcName(dComIfGp_roomControl_getStayNo());
void* res2 = dComIfG_getStageRes(roomArcName, param_0);
void* res2 = dComIfG_getStageRes(roomArcName, resName);
if (res2 != NULL) {
func_80041480();
event_debug_evnt();
return res2;
} else {
res2 = dComIfG_getStageRes(param_0);
res2 = dComIfG_getStageRes(resName);
if (res2 != NULL) {
func_80041480();
event_debug_evnt();
return res2;
} else {
return NULL;
@@ -1226,11 +1263,11 @@ void dEvt_info_c::setEventName(char* name) {
/* 80043480-800434CC 03DDC0 004C+00 1/1 0/0 0/0 .text getEventName__11dEvt_info_cFv */
char* dEvt_info_c::getEventName() {
if (mEventId == -1) {
return 0;
return NULL;
} else {
dEvDtEvent_c* data = i_dComIfGp_getEventManager().getEventData(mEventId);
if (data == NULL) {
return 0;
return NULL;
} else {
return data->getName();
}
@@ -1277,8 +1314,8 @@ dStage_MapEvent_dt_c* dEvt_control_c::searchMapEventData(u8 mapToolID, s32 roomN
return NULL;
}
s16 dEvt_control_c::runningEventID(s16 param_0) {
return param_0 == field_0xe0 ? mSpecifiedEvent : param_0;
s16 dEvt_control_c::runningEventID(s16 eventID) {
return eventID == mEventID ? mSpecifiedEvent : eventID;
}
void dEvt_control_c::setPt1(void* ptr) {
+80 -28
View File
@@ -190,9 +190,11 @@ static u16 getTelopNo() {
static u16 getStartTelopNo() {
const char* startStageName = dComIfGp_getStartStageName();
const char* lastPlayStateName = dComIfGp_getLastPlayStageName();
if (strcmp(startStageName, lastPlayStateName) == 0) {
return 0xFFFF;
}
TelopDataStruct* telopData = NULL;
s32 val = ((startStageName[3] == 'B' ? 'd' : startStageName[0]) << 0x18 |
startStageName[4] << 0x10 | startStageName[5] << 8 | startStageName[6]);
@@ -202,6 +204,7 @@ static u16 getStartTelopNo() {
break;
}
}
if (telopData == NULL || telopData->_8 == 0) {
return 0xFFFF;
} else if (telopData->_8 == 2 && telopData->_6 != 0xFFFF &&
@@ -214,12 +217,14 @@ static u16 getStartTelopNo() {
TelopDataStruct* lastTelopData = NULL;
val = ((lastPlayStateName[3] == 'B' ? 'd' : lastPlayStateName[0]) << 0x18 |
lastPlayStateName[4] << 0x10 | lastPlayStateName[5] << 8 | lastPlayStateName[6]);
for (s32 i = 0; i < numTelopData; i++) {
if (val == TelopData[i].mName) {
lastTelopData = &TelopData[i];
break;
}
}
if (lastTelopData != NULL && telopData->mTelopNo == lastTelopData->mTelopNo) {
return 0xFFFF;
} else {
@@ -285,6 +290,7 @@ static int dEvDt_Next_Stage(int index, int wipe_type) {
int id = *p_id;
s8 room_no = dComIfGp_roomControl_getStayNo();
stage_scls_info_dummy_class* info;
if (room_no == -1) {
info = dComIfGp_getStageSclsInfo();
} else {
@@ -379,11 +385,11 @@ static asm int dEvDt_Next_Stage(int param_0, int param_1) {
#endif
/* 80043D60-80043DC8 03E6A0 0068+00 3/3 0/0 0/0 .text flagCheck__11dEvDtFlag_cFi */
BOOL dEvDtFlag_c::flagCheck(int param_0) {
if (flagMaxCheck(param_0)) {
BOOL dEvDtFlag_c::flagCheck(int flag) {
if (flagMaxCheck(flag)) {
return FALSE;
} else {
if (mFlags[(u32)param_0 / 0x20] & (1 << (param_0 & 0x1F))) {
if (mFlags[(u32)flag / 0x20] & (1 << (flag & 0x1F))) {
return TRUE;
} else {
return FALSE;
@@ -392,21 +398,21 @@ BOOL dEvDtFlag_c::flagCheck(int param_0) {
}
/* 80043DC8-80043E30 03E708 0068+00 2/2 1/1 0/0 .text flagSet__11dEvDtFlag_cFi */
BOOL dEvDtFlag_c::flagSet(int param_0) {
if (flagMaxCheck(param_0)) {
BOOL dEvDtFlag_c::flagSet(int flag) {
if (flagMaxCheck(flag)) {
return FALSE;
} else {
mFlags[(u32)param_0 / 0x20] |= (1 << (param_0 & 0x1F));
mFlags[(u32)flag / 0x20] |= (1 << (flag & 0x1F));
return TRUE;
}
}
BOOL dEvDtFlag_c::flagMaxCheck(int flag_id) {
if (flag_id == -1) {
BOOL dEvDtFlag_c::flagMaxCheck(int flag) {
if (flag == -1) {
return TRUE;
}
if (FlagMax <= flag_id) {
if (FlagMax <= flag) {
return TRUE;
} else {
return FALSE;
@@ -426,6 +432,7 @@ int dEvDtEvent_c::finishCheck() {
if (tmp == -1) {
return 1;
}
if (!i_dComIfGp_getEventManager().flagCheck(tmp)) {
return 0;
}
@@ -436,33 +443,27 @@ int dEvDtEvent_c::finishCheck() {
/* 80043EFC-80043F70 03E83C 0074+00 0/0 1/1 0/0 .text forceFinish__12dEvDtEvent_cFv */
int dEvDtEvent_c::forceFinish() {
for (int i = 0; i < 3; i++) {
int tmp = field_0x88[i];
if (tmp == -1) {
int flag = field_0x88[i];
if (flag == -1) {
return 1;
}
i_dComIfGp_getEventManager().setFlag(tmp);
i_dComIfGp_getEventManager().setFlag(flag);
}
return 1;
}
/* 80043F70-80043FD8 03E8B0 0068+00 0/0 1/1 0/0 .text
* specialStaffProc__12dEvDtEvent_cFP12dEvDtStaff_c */
void dEvDtEvent_c::specialStaffProc(dEvDtStaff_c* param_0) {
void dEvDtEvent_c::specialStaffProc(dEvDtStaff_c* p_staff) {
for (int i = 0; i < mNStaff; i++) {
param_0[mStaff[i]].specialProc();
p_staff[mStaff[i]].specialProc();
}
}
/* ############################################################################################## */
/* 80379DD0-80379DD0 006430 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80379E0D = "Timer";
#pragma pop
/* 80043FD8-8004403C 03E918 0064+00 4/4 0/0 0/0 .text specialProc_WaitStart__12dEvDtStaff_cFi */
void dEvDtStaff_c::specialProc_WaitStart(int param_0) {
int* timer = dComIfGp_evmng_getMyIntegerP(param_0, "Timer");
void dEvDtStaff_c::specialProc_WaitStart(int index) {
int* timer = dComIfGp_evmng_getMyIntegerP(index, "Timer");
if (timer == NULL) {
mWaitTimer = 0;
} else {
@@ -558,14 +559,17 @@ void dEvDtStaff_c::specialProcLight() {
int staffId = i_dComIfGp_evmng_getMyStaffId("LIGHT", NULL, 0);
if (staffId != -1) {
char* nowCutName = i_dComIfGp_getEventManager().getMyNowCutName(staffId);
if (dComIfGp_evmng_getIsAddvance(staffId)) {
f32* hourP;
switch (*(int*)nowCutName) {
case 'CHAN':
hourP = dComIfGp_evmng_getMyFloatP(staffId, "Hour");
if (hourP != NULL) {
dKy_instant_timechg(*hourP * 15.0f);
}
int* weatherP = dComIfGp_evmng_getMyIntegerP(staffId, "Weather");
if (weatherP != NULL) {
switch (*weatherP) {
@@ -609,6 +613,7 @@ void dEvDtStaff_c::specialProcMessage() {
if (staffId == -1) {
return;
}
char* nowCutName = i_dComIfGp_getEventManager().getMyNowCutName(staffId);
if (dComIfGp_evmng_getIsAddvance(staffId)) {
switch (*(int*)nowCutName) {
@@ -651,6 +656,7 @@ void dEvDtStaff_c::specialProcMessage() {
break;
case 'TELO':
int* forStartP = dComIfGp_evmng_getMyIntegerP(staffId, "ForStart");
if (forStartP != NULL && *forStartP != 0) {
work->mMsgNo = getStartTelopNo();
} else {
@@ -664,12 +670,14 @@ void dEvDtStaff_c::specialProcMessage() {
work->mMsgNo = getTelopNo();
}
}
data->unk = 0;
if (work->mMsgNo != 0xFFFF) {
work->_0 = fopMsgM_messageSetDemo(work->mMsgNo);
}
}
}
switch (*(int*)nowCutName) {
case 'WAIT':
specialProc_WaitProc(staffId);
@@ -715,6 +723,7 @@ void dEvDtStaff_c::specialProcMessage() {
if (work->mLMsg == NULL) {
break;
}
switch (work->mLMsg->field_0xf8) {
case 0xE:
work->mLMsg->field_0xf8 = 0x10;
@@ -800,6 +809,7 @@ void dEvDtStaff_c::specialProcSound() {
if (staffId == -1) {
return;
}
char* nowCutName = i_dComIfGp_getEventManager().getMyNowCutName(staffId);
if (dComIfGp_evmng_getIsAddvance(staffId)) {
switch (*(int*)nowCutName) {
@@ -827,6 +837,7 @@ void dEvDtStaff_c::specialProcSound() {
}
}
}
switch (*(int*)nowCutName) {
case 'WAIT':
specialProc_WaitProc(staffId);
@@ -874,10 +885,12 @@ void dEvDtStaff_c::specialProcCreate() {
csXyz angle;
cXyz scale;
dStage_objectNameInf* objNameInf;
int staffId = i_dComIfGp_evmng_getMyStaffId("CREATER", NULL, 0);
if (staffId == -1) {
return;
}
char* nowCutName = i_dComIfGp_getEventManager().getMyNowCutName(staffId);
if (dComIfGp_evmng_getIsAddvance(staffId)) {
switch (*(int*)nowCutName) {
@@ -886,30 +899,35 @@ void dEvDtStaff_c::specialProcCreate() {
case 'CREA':
name = dComIfGp_evmng_getMyStringP(staffId, "MAKECAST");
objNameInf = dStage_searchName(name);
int* argP = dComIfGp_evmng_getMyIntegerP(staffId, "ARG");
if (argP == NULL) {
arg = UINT32_MAX;
} else {
arg = *argP;
}
cXyz* posP = dComIfGp_evmng_getMyXyzP(staffId, "POS");
if (posP == NULL) {
pos = ((fopAc_ac_c*)dComIfGp_getPlayer(0))->getPosition();
} else {
pos = *posP;
}
int* angleP = dComIfGp_evmng_getMyIntegerP(staffId, "ANGLE");
if (angleP == NULL) {
angle.setall(0);
} else {
angle.set(angleP[0], angleP[1], angleP[2]);
}
cXyz* scaleP = dComIfGp_evmng_getMyXyzP(staffId, "SCALE");
if (scaleP == NULL) {
scale.setAll(1.0f);
} else {
scale = *scaleP;
}
fopAcM_create(objNameInf->mProcName, arg, &pos, dComIfGp_roomControl_getStayNo(),
&angle, &scale, objNameInf->mSubtype);
break;
@@ -958,20 +976,24 @@ void dEvDtStaff_c::specialProcDirector() {
DirectorData* data = (DirectorData*)mData;
daPy_py_c* player = dComIfGp_getLinkPlayer();
dEvt_control_c& evtControl = i_dComIfGp_getEvent();
int staffId = i_dComIfGp_evmng_getMyStaffId("DIRECTOR", NULL, 0);
if (staffId == -1) {
return;
}
char* nowCutName = i_dComIfGp_getEventManager().getMyNowCutName(staffId);
if (dComIfGp_evmng_getIsAddvance(staffId)) {
int* eventFlagP = dComIfGp_evmng_getMyIntegerP(staffId, "EventFlag");
if (eventFlagP != NULL) {
dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[*eventFlagP]);
}
int* eventFlagOffP = dComIfGp_evmng_getMyIntegerP(staffId, "EventFlagOff");
if (eventFlagOffP != NULL) {
dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[*eventFlagOffP]);
}
int* switchTableP = dComIfGp_evmng_getMyIntegerP(staffId, "SwitchTable");
int switchTable;
if (switchTableP != NULL) {
@@ -979,22 +1001,27 @@ void dEvDtStaff_c::specialProcDirector() {
} else {
switchTable = i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo());
}
int* switchBitP = dComIfGp_evmng_getMyIntegerP(staffId, "SwitchBit");
if (switchBitP != NULL) {
dComIfGs_onStageSwitch(switchTable, *switchBitP);
}
int* switchOffP = dComIfGp_evmng_getMyIntegerP(staffId, "SwitchOff");
if (switchOffP != NULL) {
dComIfGs_offStageSwitch(switchTable, *switchOffP);
}
int* tmpBitP = dComIfGp_evmng_getMyIntegerP(staffId, "TmpBit");
if (tmpBitP != NULL) {
dComIfGs_onTmpBit(dSv_event_tmp_flag_c::tempBitLabels[*tmpBitP]);
}
int* tmpOffP = dComIfGp_evmng_getMyIntegerP(staffId, "TmpBitOff");
if (tmpOffP != NULL) {
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[*tmpOffP]);
}
switch (*(int*)nowCutName) {
case 'WAIT':
specialProc_WaitStart(staffId);
@@ -1016,6 +1043,7 @@ void dEvDtStaff_c::specialProcDirector() {
if (NULL == pt) {
pt = evtControl.getPt2();
}
if (zev != NULL) {
evtControl.setSkipZev(pt, zev);
} else {
@@ -1025,6 +1053,7 @@ void dEvDtStaff_c::specialProcDirector() {
case 'FADE':
f32* rateP = dComIfGp_evmng_getMyFloatP(staffId, "Rate");
int* colorP = dComIfGp_evmng_getMyIntegerP(staffId, "Color");
if (*rateP > 0) {
mDoGph_gInf_c::setFadeRate(0);
}
@@ -1053,6 +1082,7 @@ void dEvDtStaff_c::specialProcDirector() {
} else {
data->unk = 1;
}
int* soundP = dComIfGp_evmng_getMyIntegerP(staffId, "SOUND");
if (soundP != NULL) {
switch (*soundP) {
@@ -1083,6 +1113,7 @@ void dEvDtStaff_c::specialProcDirector() {
evtControl.setPt2(pt2);
}
}
char* ptTName = dComIfGp_evmng_getMyStringP(staffId, "PtT");
if (ptTName != NULL) {
fopAc_ac_c* ptT = fopAcM_searchFromName4Event(ptTName, -1);
@@ -1090,6 +1121,7 @@ void dEvDtStaff_c::specialProcDirector() {
evtControl.setPtT(ptT);
}
}
char* ptIName = dComIfGp_evmng_getMyStringP(staffId, "PtI");
if (ptIName != NULL) {
fopAc_ac_c* ptI = fopAcM_searchFromName4Event(ptIName, -1);
@@ -1097,6 +1129,7 @@ void dEvDtStaff_c::specialProcDirector() {
evtControl.setPtI(ptI);
}
}
char* ptDName = dComIfGp_evmng_getMyStringP(staffId, "PtD");
if (ptDName != NULL) {
fopAc_ac_c* ptD = fopAcM_searchFromName4Event(ptDName, -1);
@@ -1113,6 +1146,7 @@ void dEvDtStaff_c::specialProcDirector() {
if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[506])) {
dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[566]);
}
if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[507])) {
dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[567]);
}
@@ -1121,6 +1155,7 @@ void dEvDtStaff_c::specialProcDirector() {
break;
}
}
switch (*(int*)nowCutName) {
case 'WAIT':
specialProc_WaitProc(staffId);
@@ -1130,6 +1165,7 @@ void dEvDtStaff_c::specialProcDirector() {
dComIfGp_evmng_cutEnd(staffId);
break;
}
if (mDoGph_gInf_c::getFadeRate() >= 1) {
f32* rateP = dComIfGp_evmng_getMyFloatP(staffId, "Rate");
if (*rateP > 0) {
@@ -1202,10 +1238,12 @@ void dEvDtStaff_c::specialProcPackage() {
if (!!msgObj) {
dMsgObject_demoMessageGroup();
}
int staffId = i_dComIfGp_evmng_getMyStaffId("PACKAGE", NULL, 0);
if (staffId == -1) {
return;
}
char* nowCutName = i_dComIfGp_getEventManager().getMyNowCutName(staffId);
if (dComIfGp_evmng_getIsAddvance(staffId)) {
switch (*(int*)nowCutName) {
@@ -1222,10 +1260,12 @@ void dEvDtStaff_c::specialProcPackage() {
} else {
offsetAngY = 0.0f;
}
// should not save event from g_dComIfG_gameInfo to register
u8* demoData = (u8*)i_dComIfGp_getEvent().getStbDemoData(fileName);
dDemo_c::start(demoData, offsetPos, offsetAngY);
dComIfGp_event_setCullRate(10.0f);
int* eventFlagP = dComIfGp_evmng_getMyIntegerP(staffId, "EventFlag");
if (eventFlagP != NULL) {
dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[*eventFlagP]);
@@ -1248,6 +1288,7 @@ void dEvDtStaff_c::specialProcPackage() {
dDemo_c::end();
}
}
if (dDemo_c::getMode() == 0) {
dComIfGp_evmng_cutEnd(staffId);
}
@@ -1282,6 +1323,7 @@ void dEvDtStaff_c::specialProcTimekeeper() {
if (staffId == -1) {
return;
}
char* nowCutName = i_dComIfGp_getEventManager().getMyNowCutName(staffId);
if (dComIfGp_evmng_getIsAddvance(staffId)) {
switch (*(int*)nowCutName) {
@@ -1292,6 +1334,7 @@ void dEvDtStaff_c::specialProcTimekeeper() {
break;
}
}
switch (*(int*)nowCutName) {
case 'COUN':
if (dataP->timer > 0) {
@@ -1332,6 +1375,7 @@ void dEvDtStaff_c::specialProcEffect() {
if (staffId == -1) {
return;
}
char* nowCutName = i_dComIfGp_getEventManager().getMyNowCutName(staffId);
if (dComIfGp_evmng_getIsAddvance(staffId)) {
data->unk = 0;
@@ -1354,6 +1398,7 @@ void dEvDtStaff_c::specialProcEffect() {
} else {
power = 5;
}
int* typeP = dComIfGp_evmng_getMyIntegerP(staffId, "Type");
int type;
if (typeP != NULL) {
@@ -1369,12 +1414,14 @@ void dEvDtStaff_c::specialProcEffect() {
int timer;
int random;
u8* pattern;
int* timerP = dComIfGp_evmng_getMyIntegerP(staffId, "Timer");
if (timerP != NULL) {
timer = *timerP;
} else {
timer = 30;
}
data->unk = timer;
int* powerP = dComIfGp_evmng_getMyIntegerP(staffId, "Power");
if (powerP != NULL) {
@@ -1382,12 +1429,14 @@ void dEvDtStaff_c::specialProcEffect() {
} else {
power = 5;
}
int* typeP = dComIfGp_evmng_getMyIntegerP(staffId, "Type");
if (typeP != NULL) {
type = *typeP;
} else {
type = 0xF;
}
pattern = (u8*)dComIfGp_evmng_getMyStringP(staffId, "Pattern");
if (pattern != NULL) {
int* randomP = dComIfGp_evmng_getMyIntegerP(staffId, "Random");
@@ -1410,6 +1459,7 @@ void dEvDtStaff_c::specialProcEffect() {
timer = 30;
}
int timer2 = data->unk = timer;
f32* alphaP = dComIfGp_evmng_getMyFloatP(staffId, "Alpha");
f32 alpha;
if (alphaP != NULL) {
@@ -1417,6 +1467,7 @@ void dEvDtStaff_c::specialProcEffect() {
} else {
alpha = 0.8f;
}
f32* scaleP = dComIfGp_evmng_getMyFloatP(staffId, "Scale");
f32 scale;
if (scaleP != NULL) {
@@ -1475,6 +1526,7 @@ int dEvDtCut_c::startCheck() {
return 1;
}
}
if (!dEvDtFlagCheck(flag)) {
return 0;
}
@@ -1546,20 +1598,20 @@ void dEvDtBase_c::advanceCut(dEvDtEvent_c* p_event) {
/* 800462FC-800463DC 040C3C 00E0+00 1/1 0/0 0/0 .text
* advanceCutLocal__11dEvDtBase_cFP12dEvDtStaff_c */
BOOL dEvDtBase_c::advanceCutLocal(dEvDtStaff_c* param_0) {
dEvDtCut_c* cut = &mCutP[param_0->getCurrentCut()];
BOOL dEvDtBase_c::advanceCutLocal(dEvDtStaff_c* p_staff) {
dEvDtCut_c* cut = &mCutP[p_staff->getCurrentCut()];
if (dEvDtFlagCheck(cut->getFlagId()) && cut->getNext() != -1) {
switch (mCutP[cut->getNext()].startCheck()) {
case -1:
param_0->advanceCut(cut->getNext());
p_staff->advanceCut(cut->getNext());
return TRUE;
case 1:
dEvDtFlagSet(cut->getFlagId());
param_0->advanceCut(cut->getNext());
p_staff->advanceCut(cut->getNext());
return TRUE;
}
}
param_0->field_0x40 = false;
p_staff->field_0x40 = false;
return FALSE;
}
+109 -100
View File
@@ -148,17 +148,17 @@ void dEvent_exception_c::init() {
}
/* 800463F0-80046480 040D30 0090+00 0/0 2/2 0/0 .text setStartDemo__18dEvent_exception_cFi */
s32 dEvent_exception_c::setStartDemo(int index) {
s32 dEvent_exception_c::setStartDemo(int mapToolID) {
int roomNo = dComIfGp_roomControl_getStayNo();
dStage_MapEvent_dt_c* eventData = dEvt_control_c::searchMapEventData(index, roomNo);
dStage_MapEvent_dt_c* eventData = dEvt_control_c::searchMapEventData(mapToolID, roomNo);
if (eventData != NULL && eventData->field_0x1B != 0xFF &&
dComIfGs_isSwitch(eventData->field_0x1B, roomNo)) {
if (eventData != NULL && eventData->mSwitch != 0xFF &&
dComIfGs_isSwitch(eventData->mSwitch, roomNo)) {
return 0xFF;
} else if (mEventInfoIdx != index) {
mEventInfoIdx = index;
} else if (mEventInfoIdx != mapToolID) {
mEventInfoIdx = mapToolID;
}
return index;
return mapToolID;
}
/* 80046480-800465E8 040DC0 0168+00 1/1 0/0 0/0 .text getEventName__18dEvent_exception_cFv */
@@ -177,16 +177,16 @@ const char* dEvent_exception_c::getEventName() {
return "(!NO REGIST!)";
}
if (0xC8 < mEventInfoIdx && mEventInfoIdx < 0xD7) {
if (mEventInfoIdx == 0xCB) {
if (200 < mEventInfoIdx && mEventInfoIdx < 215) {
if (mEventInfoIdx == 203) {
dStage_stagInfo_GetSTType(dComIfGp_getStageStagInfo());
} else if (mEventInfoIdx == 0xD5) {
} else if (mEventInfoIdx == 213) {
switch (dComIfGp_SelectWarpPt_get()) {
case 3:
mEventInfoIdx = 0xD6;
mEventInfoIdx = 214;
}
}
return soecial_names[mEventInfoIdx - 0xC9];
return soecial_names[mEventInfoIdx - 201];
} else {
if (eventInfo == NULL) {
return "(!NO INFO!)";
@@ -236,7 +236,9 @@ dEvent_manager_c::dEvent_manager_c() {
/* ############################################################################################## */
/* 80379F50-80379F60 0065B0 000F+01 6/6 0/0 0/0 .rodata
* DataFileName__29@unnamed@d_event_manager_cpp@ */
namespace {
static char const DataFileName[] = "event_list.dat";
};
/* 80046710-80046800 041050 00F0+00 0/0 1/1 0/0 .text create__16dEvent_manager_cFv */
int dEvent_manager_c::create() {
@@ -315,9 +317,9 @@ void dEvent_manager_c::roomInit(int roomNo) {
mRoomNo = roomNo;
}
void dEvent_manager_c::roomFinish(int param_0) {
void dEvent_manager_c::roomFinish(int roomNo) {
for (int i = 4; i <= 9; i++) {
if (mEventList[i].getHeaderP() != NULL && param_0 == mEventList[i].roomNo()) {
if (mEventList[i].getHeaderP() != NULL && roomNo == mEventList[i].roomNo()) {
mEventList[i].init();
}
}
@@ -331,21 +333,21 @@ int dEvent_manager_c::orderStartDemo() {
}
s16 eventIdx;
if (0xC8 < mEventException.mEventInfoIdx && mEventException.mEventInfoIdx < 0xD7) {
eventIdx = this->getEventIdx(mEventException.getEventName(), -1, -1);
if (200 < mEventException.mEventInfoIdx && mEventException.mEventInfoIdx < 215) {
eventIdx = getEventIdx(mEventException.getEventName(), -1, -1);
success = fopAcM_orderOtherEventId(NULL, eventIdx, 0xFF, 0xFFFF, 5, 1);
} else if (mEventException.mEventInfoIdx != -1 && mEventException.mEventInfoIdx != 0xFF) {
u8 eventInfoIdx = mEventException.mEventInfoIdx;
eventIdx = this->getEventIdx(NULL, eventInfoIdx, -1);
eventIdx = getEventIdx(NULL, eventInfoIdx, -1);
success = fopAcM_orderMapToolAutoNextEvent(NULL, eventInfoIdx, eventIdx, 0xFFFF, 1, 5);
} else if (dComIfGp_getStartStagePoint() == -2 || dComIfGp_getStartStagePoint() == -3) {
eventIdx = this->getEventIdx(
eventIdx = getEventIdx(
daPy_py_c::checkNowWolf() ? "WOLF_WORLD_CHANGE_OUT" : "WORLD_CHANGE_OUT", 0xFF, -1);
success = fopAcM_orderOtherEventId(NULL, eventIdx, 0xFF, 0xFFFF, 5, 1);
}
if (success == FALSE) {
eventIdx = this->getEventIdx("DEFAULT_START", 0xFF, -1);
eventIdx = getEventIdx("DEFAULT_START", 0xFF, -1);
fopAcM_orderOtherEventId(NULL, eventIdx, 0xFF, 0xFFFF, 5, 1);
}
@@ -384,11 +386,13 @@ static int allOffObjectCallBack(fopAc_ac_c* pActor, void* param_1) {
void dEvent_manager_c::startProc(dEvDtEvent_c* p_evnt) {
for (int i = 0; i < p_evnt->getNStaff(); i++) {
dEvDtStaff_c* staff = getBase().getStaffP(p_evnt->getStaff(i));
if (staff->getType() == dEvDtStaff_c::TYPE_DEFAULT) {
fopAc_ac_c* ac = specialCast(staff->getName(), 1);
if (ac == NULL) {
ac = fopAcM_searchFromName4Event(staff->getName(), -1);
}
if (ac != NULL) {
fopAcM_OnStatus(ac, 0x8000);
}
@@ -411,11 +415,11 @@ void dEvent_manager_c::closeProc(dEvDtEvent_c* p_evnt) {
}
/* 80046DAC-80046E64 0416EC 00B8+00 0/0 2/2 0/0 .text endProc__16dEvent_manager_cFsi */
void dEvent_manager_c::endProc(s16 param_0, int param_1) {
dEvDtEvent_c* event = this->getEventData(param_0);
void dEvent_manager_c::endProc(s16 eventID, int close) {
dEvDtEvent_c* event = getEventData(eventID);
if (event != NULL) {
if (param_1 != 0) {
this->closeProc(event);
if (close != 0) {
closeProc(event);
}
if (event->mEventState == 2) {
@@ -434,8 +438,9 @@ void dEvent_manager_c::endProc(s16 param_0, int param_1) {
/* 80046E64-800473FC 0417A4 0598+00 0/0 1/1 0/0 .text Sequencer__16dEvent_manager_cFv */
void dEvent_manager_c::Sequencer() {
dEvt_control_c& evtControl = i_dComIfGp_getEvent();
dEvDtEvent_c* event = this->getEventData(mCurrentEventCompositId);
dEvDtEvent_c* event = getEventData(mCurrentEventCompositId);
dStage_MapEvent_dt_c* mapEvent = evtControl.getStageEventDt();
if (event != NULL) {
if (evtControl.chkEventFlag(0x100)) {
char* name = NULL;
@@ -454,13 +459,16 @@ void dEvent_manager_c::Sequencer() {
if (dStage_MapEvent_dt_c_getEventSCutType(mapEvent) == 2) {
evtControl.onSkipFade();
}
void* actor = evtControl.getPt1();
if (actor == NULL) {
actor = evtControl.getPt2();
}
if (actor == NULL) {
actor = dComIfGp_getPlayer(0);
}
if (actor != NULL) {
switch (mapEvent->mType) {
case 2:
@@ -479,7 +487,7 @@ void dEvent_manager_c::Sequencer() {
Z2GetAudioMgr()->mStatusMgr.setDemoName(name);
}
if (event->finishCheck() != 0) {
if (event->finishCheck()) {
bool bVar1 = false;
if (evtControl.chkFlag2(1)) {
bVar1 = true;
@@ -523,12 +531,12 @@ void dEvent_manager_c::Sequencer() {
switch (mapEvent->mType) {
case 0:
switch (mapEvent->field_0x18) {
case 1:
mDoAud_seStart(0xC, NULL, 0, 0);
switch (mapEvent->mSeType) {
case EVT_SE_RIDDLE_A:
mDoAud_seStart(Z2SE_READ_RIDDLE_A, NULL, 0, 0);
break;
case 2:
mDoAud_seStart(0xD, NULL, 0, 0);
case EVT_SE_RIDDLE_B:
mDoAud_seStart(Z2SE_READ_RIDDLE_B, NULL, 0, 0);
break;
}
@@ -590,9 +598,9 @@ void dEvent_manager_c::Sequencer() {
/* 800473FC-80047454 041D3C 0058+00 0/0 1/1 0/0 .text Experts__16dEvent_manager_cFv */
void dEvent_manager_c::Experts() {
dEvDtEvent_c* event = this->getEventData(mCurrentEventCompositId);
dEvDtEvent_c* event = getEventData(mCurrentEventCompositId);
if (event != NULL && event->mEventState == 1) {
event->specialStaffProc(this->getBase().getStaffP(0));
event->specialStaffProc(getBase().getStaffP(0));
}
}
@@ -619,11 +627,12 @@ dEvDtEvent_c* dEvent_manager_c::getEventData(s16 param_0, int idx) {
*/
#ifdef NONMATCHING
dEvDtEvent_c* dEvent_manager_c::getEventData(s16 eventCompositId) {
if (param_0 == -1) {
if (eventCompositId == -1) {
return NULL;
} else {
// extsh instead of mr here
return this->getEventData(getIndexCompositId(param_0), getTypeCompositId(param_0));
return getEventData(getIndexCompositId(eventCompositId),
getTypeCompositId(eventCompositId));
}
}
#else
@@ -638,13 +647,13 @@ asm dEvDtEvent_c* dEvent_manager_c::getEventData(s16 eventCompositId) {
#endif
/* 80047514-80047698 041E54 0184+00 3/3 8/8 3/3 .text getEventIdx__16dEvent_manager_cFPCcUcl */
s16 dEvent_manager_c::getEventIdx(char const* eventName, u8 param_1, s32 roomNo) {
s16 dEvent_manager_c::getEventIdx(char const* eventName, u8 mapToolID, s32 roomNo) {
if (roomNo == -1) {
roomNo = dComIfGp_roomControl_getStayNo();
}
if (param_1 != 0xFF) {
dStage_MapEvent_dt_c* data = dEvt_control_c::searchMapEventData(param_1, roomNo);
if (mapToolID != 0xFF) {
dStage_MapEvent_dt_c* data = dEvt_control_c::searchMapEventData(mapToolID, roomNo);
if (data != NULL) {
switch (data->mType) {
case 1:
@@ -652,7 +661,7 @@ s16 dEvent_manager_c::getEventIdx(char const* eventName, u8 param_1, s32 roomNo)
return getEventIdx(data->mName, 0xFF, roomNo);
case 0:
static char map_tool_name[17];
sprintf(map_tool_name, "MapToolCamera%d", param_1);
sprintf(map_tool_name, "MapToolCamera%d", mapToolID);
return getEventIdx(map_tool_name, 0xFF, roomNo);
}
}
@@ -682,8 +691,8 @@ s16 dEvent_manager_c::getEventIdx(char const* eventName, u8 param_1, s32 roomNo)
/* 80047698-80047758 041FD8 00C0+00 0/0 3/3 25/25 .text
* getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc */
s16 dEvent_manager_c::getEventIdx(fopAc_ac_c* pActor, u8 param_1) {
dStage_MapEvent_dt_c* data = dEvt_control_c::searchMapEventData(param_1, pActor->getRoomNo());
s16 dEvent_manager_c::getEventIdx(fopAc_ac_c* pActor, u8 mapToolID) {
dStage_MapEvent_dt_c* data = dEvt_control_c::searchMapEventData(mapToolID, pActor->getRoomNo());
if (data != NULL) {
switch (data->mType) {
case 1:
@@ -691,7 +700,7 @@ s16 dEvent_manager_c::getEventIdx(fopAc_ac_c* pActor, u8 param_1) {
return getEventIdx(pActor, data->mName, 0xFF);
case 0:
static char map_tool_name[17];
sprintf(map_tool_name, "MapToolCamera%d", param_1);
sprintf(map_tool_name, "MapToolCamera%d", mapToolID);
return getEventIdx(pActor, map_tool_name, 0xFF);
}
}
@@ -700,11 +709,11 @@ s16 dEvent_manager_c::getEventIdx(fopAc_ac_c* pActor, u8 param_1) {
/* 80047758-80047930 042098 01D8+00 1/1 10/10 92/92 .text
* getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc */
s16 dEvent_manager_c::getEventIdx(fopAc_ac_c* pActor, char const* eventName, u8 param_2) {
s16 dEvent_manager_c::getEventIdx(fopAc_ac_c* pActor, char const* eventName, u8 mapToolID) {
s8 actorRoomNo = pActor->getRoomNo();
if (param_2 != 0xFF) {
dStage_MapEvent_dt_c* data = dEvt_control_c::searchMapEventData(param_2, actorRoomNo);
if (mapToolID != 0xFF) {
dStage_MapEvent_dt_c* data = dEvt_control_c::searchMapEventData(mapToolID, actorRoomNo);
if (data != NULL) {
switch (data->mType) {
case 1:
@@ -712,7 +721,7 @@ s16 dEvent_manager_c::getEventIdx(fopAc_ac_c* pActor, char const* eventName, u8
return getEventIdx(pActor, data->mName, 0xFF);
case 0:
static char map_tool_name[17];
sprintf(map_tool_name, "MapToolCamera%d", param_2);
sprintf(map_tool_name, "MapToolCamera%d", mapToolID);
return getEventIdx(pActor, map_tool_name, 0xFF);
}
}
@@ -748,12 +757,12 @@ s16 dEvent_manager_c::getEventIdx(fopAc_ac_c* pActor, char const* eventName, u8
}
/* 80047930-80047984 042270 0054+00 0/0 0/0 1/1 .text isMapToolCamera__16dEvent_manager_cFUcl */
int dEvent_manager_c::isMapToolCamera(u8 param_0, s32 roomNo) {
int dEvent_manager_c::isMapToolCamera(u8 mapToolID, s32 roomNo) {
if (roomNo == -1) {
roomNo = dComIfGp_roomControl_getStayNo();
}
dStage_MapEvent_dt_c* data = dEvt_control_c::searchMapEventData(param_0, roomNo);
dStage_MapEvent_dt_c* data = dEvt_control_c::searchMapEventData(mapToolID, roomNo);
if (data != NULL) {
return data->mType == 0;
} else {
@@ -763,20 +772,20 @@ int dEvent_manager_c::isMapToolCamera(u8 param_0, s32 roomNo) {
/* 80047984-800479F8 0422C4 0074+00 0/0 6/6 0/0 .text order__16dEvent_manager_cFs */
int dEvent_manager_c::order(s16 eventCompositId) {
dEvDtEvent_c* event = this->getEventData(eventCompositId);
dEvDtEvent_c* event = getEventData(eventCompositId);
if (event == NULL) {
return 0;
} else {
mCurrentEventType = getTypeCompositId(eventCompositId);
mCurrentEventCompositId = eventCompositId;
this->startProc(event);
startProc(event);
return 1;
}
}
/* 800479F8-80047A38 042338 0040+00 1/1 0/0 9/9 .text startCheck__16dEvent_manager_cFs */
int dEvent_manager_c::startCheck(s16 eventCompositId) {
dEvDtEvent_c* event = this->getEventData(eventCompositId);
dEvDtEvent_c* event = getEventData(eventCompositId);
if (event == NULL) {
return 0;
} else {
@@ -789,14 +798,14 @@ int dEvent_manager_c::startCheck(s16 eventCompositId) {
}
/* 80047A38-80047A78 042378 0040+00 0/0 2/2 0/0 .text startCheckOld__16dEvent_manager_cFPCc */
int dEvent_manager_c::startCheckOld(char const* pName) {
return this->startCheck(this->getEventIdx(pName, 0xFF, -1));
int dEvent_manager_c::startCheckOld(char const* name) {
return startCheck(getEventIdx(name, 0xFF, -1));
}
/* 80047A78-80047ADC 0423B8 0064+00 1/1 2/2 122/122 .text endCheck__16dEvent_manager_cFs
*/
int dEvent_manager_c::endCheck(s16 param_0) {
dEvDtEvent_c* event = this->getEventData(i_dComIfGp_getEvent().runningEventID(param_0));
int dEvent_manager_c::endCheck(s16 eventID) {
dEvDtEvent_c* event = getEventData(i_dComIfGp_getEvent().runningEventID(eventID));
if (event == NULL) {
return 0;
} else {
@@ -809,17 +818,17 @@ int dEvent_manager_c::endCheck(s16 param_0) {
}
/* 80047ADC-80047B1C 04241C 0040+00 0/0 2/2 10/10 .text endCheckOld__16dEvent_manager_cFPCc */
int dEvent_manager_c::endCheckOld(char const* pName) {
return this->endCheck(this->getEventIdx(pName, 0xFF, -1));
int dEvent_manager_c::endCheckOld(char const* name) {
return endCheck(getEventIdx(name, 0xFF, -1));
}
/* 80047B1C-80047D4C 04245C 0230+00 1/1 10/10 210/210 .text
* getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci */
int dEvent_manager_c::getMyStaffId(char const* pStaffName, fopAc_ac_c* pActor, int tagId) {
int dEvent_manager_c::getMyStaffId(char const* staffName, fopAc_ac_c* pActor, int tagId) {
int staffNum;
int i;
int evtIdx = -1;
if (i_dComIfGp_getEvent().getMode() == 0) {
if (i_dComIfGp_getEvent().getMode() == EVT_MODE_NONE) {
return -1;
} else {
if (pActor != NULL) {
@@ -828,12 +837,12 @@ int dEvent_manager_c::getMyStaffId(char const* pStaffName, fopAc_ac_c* pActor, i
if (mCurrentEventCompositId == -1) {
return -1;
} else {
dEvDtEvent_c* event = this->getEventData(mCurrentEventCompositId);
dEvDtEvent_c* event = getEventData(mCurrentEventCompositId);
if (event != NULL && (event->mEventState == 1 || event->mEventState == 2)) {
int staffCount = event->getNStaff();
bool hasDp = false;
if (strchr(pStaffName, ':') != NULL) {
if (strchr(staffName, ':') != NULL) {
hasDp = true;
}
@@ -853,7 +862,7 @@ int dEvent_manager_c::getMyStaffId(char const* pStaffName, fopAc_ac_c* pActor, i
}
}
if (strcmp(pStaffName, buf) == 0 && (tagId < 0 || tagId == staff->mTagID)) {
if (strcmp(staffName, buf) == 0 && (tagId < 0 || tagId == staff->mTagID)) {
s16 num = 0;
if (ptr != NULL) {
char c;
@@ -873,7 +882,7 @@ int dEvent_manager_c::getMyStaffId(char const* pStaffName, fopAc_ac_c* pActor, i
}
}
if (strcmp(pStaffName, "Alink") == 0 && strcmp("Link", buf) == 0 &&
if (strcmp(staffName, "Alink") == 0 && strcmp("Link", buf) == 0 &&
tagId == staff->mTagID) {
return staffNum;
}
@@ -886,51 +895,51 @@ int dEvent_manager_c::getMyStaffId(char const* pStaffName, fopAc_ac_c* pActor, i
}
/* 80047D4C-80047DAC 04268C 0060+00 0/0 9/9 417/417 .text getIsAddvance__16dEvent_manager_cFi */
int dEvent_manager_c::getIsAddvance(int param_0) {
if (i_dComIfGp_getEvent().getMode() == 0) {
int dEvent_manager_c::getIsAddvance(int staffIdx) {
if (i_dComIfGp_getEvent().getMode() == EVT_MODE_NONE) {
return 0;
} else if (param_0 == -1) {
} else if (staffIdx == -1) {
return 0;
} else if (mCurrentEventCompositId == -1) {
return 0;
} else {
return this->getBase().getStaffP(param_0)->field_0x40;
return getBase().getStaffP(staffIdx)->field_0x40;
}
}
/* 80047DAC-80047E10 0426EC 0064+00 1/1 0/0 0/0 .text dEvmng_strcmp__FPCcPc */
static int dEvmng_strcmp(char const* param_0, char* param_1) {
static int dEvmng_strcmp(char const* strA, char* strB) {
u32 len = 0;
while (*param_0 != '\0') {
if (*param_1 == '\0') {
while (*strA != '\0') {
if (*strB == '\0') {
return 1;
}
if (len >= 100) {
return -1;
}
if (*param_0 != *param_1) {
if (*strA != *strB) {
return 1;
}
len++;
param_0++;
param_1++;
strA++;
strB++;
}
return 0;
}
/* 80047E10-80047F5C 042750 014C+00 1/1 1/1 118/118 .text
* getMyActIdx__16dEvent_manager_cFiPCPCciii */
int dEvent_manager_c::getMyActIdx(int param_0, char const* const* param_1, int param_2, int param_3,
int param_4) {
if (i_dComIfGp_getEvent().getMode() == 0) {
int dEvent_manager_c::getMyActIdx(int staffIdx, char const* const* param_1, int param_2,
int param_3, int param_4) {
if (i_dComIfGp_getEvent().getMode() == EVT_MODE_NONE) {
return 0;
} else if (param_0 == -1) {
} else if (staffIdx == -1) {
return -1;
} else if (mCurrentEventCompositId == -1) {
return -1;
}
dEvDtStaff_c* staff = getBase().getStaffP(param_0);
dEvDtStaff_c* staff = getBase().getStaffP(staffIdx);
if (staff) {
if (staff->field_0x41 != false && param_3 == 0) {
return staff->field_0x3c;
@@ -940,7 +949,7 @@ int dEvent_manager_c::getMyActIdx(int param_0, char const* const* param_1, int p
}
int i;
char* nowCutName = this->getMyNowCutName(param_0);
char* nowCutName = getMyNowCutName(staffIdx);
if (nowCutName == NULL) {
staff->field_0x3c = -1;
return -1;
@@ -965,21 +974,21 @@ int dEvent_manager_c::getMyActIdx(int param_0, char const* const* param_1, int p
}
/* 80047F5C-80047FC8 04289C 006C+00 1/1 9/9 62/62 .text getMyNowCutName__16dEvent_manager_cFi */
char* dEvent_manager_c::getMyNowCutName(int index) {
if (i_dComIfGp_getEvent().getMode() == 0) {
char* dEvent_manager_c::getMyNowCutName(int cutIndex) {
if (i_dComIfGp_getEvent().getMode() == EVT_MODE_NONE) {
return NULL;
} else if (index == -1) {
} else if (cutIndex == -1) {
return NULL;
} else if (mCurrentEventCompositId == -1) {
return NULL;
} else {
return getBase().getCutStaffCurrentCutP(index)->getName();
return getBase().getCutStaffCurrentCutP(cutIndex)->getName();
}
}
/* 80047FC8-800480EC 042908 0124+00 2/2 0/0 0/0 .text getMyDataP__16dEvent_manager_cFiPCci */
dEvDtData_c* dEvent_manager_c::getMyDataP(int index, char const* name, int type) {
if (i_dComIfGp_getEvent().getMode() == 0) {
if (i_dComIfGp_getEvent().getMode() == EVT_MODE_NONE) {
return NULL;
} else if (index == -1) {
return NULL;
@@ -1030,16 +1039,16 @@ int dEvent_manager_c::getMySubstanceNum(int index, char const* name) {
/* 8004817C-800481F4 042ABC 0078+00 1/1 78/78 182/182 .text cutEnd__16dEvent_manager_cFi
*/
#ifdef NONMATCHING
void dEvent_manager_c::cutEnd(int index) {
if (i_dComIfGp_getEvent().getMode() == 0) {
void dEvent_manager_c::cutEnd(int cutIndex) {
if (i_dComIfGp_getEvent().getMode() == EVT_MODE_NONE) {
return;
} else if (index == -1) {
} else if (cutIndex == -1) {
return;
} else if (field_0x1aa == -1) {
return;
} else {
// instruction swap
mFlags.flagSet(getBase().getCutStaffCurrentCutP(index)->getFlagId());
mFlags.flagSet(getBase().getCutStaffCurrentCutP(cutIndex)->getFlagId());
}
}
#else
@@ -1078,31 +1087,31 @@ int dEvent_manager_c::getEventPrio(fopAc_ac_c* pActor, s16 eventCompositId) {
/* 800482CC-80048348 042C0C 007C+00 1/1 1/1 0/0 .text issueStaff__16dEvent_manager_cFPCc
*/
void dEvent_manager_c::issueStaff(char const* pName) {
if (!strcmp(pName, "ALL")) {
void dEvent_manager_c::issueStaff(char const* name) {
if (!strcmp(name, "ALL")) {
fopAcM_Search((fopAcIt_JudgeFunc)extraOnObjectCallBack, NULL);
} else {
char nameBuf[0x20];
strcpy(nameBuf, pName);
strcpy(nameBuf, name);
fopAcM_OnStatus(fopAcM_searchFromName4Event(nameBuf, -1), 0x800);
}
}
/* 80048348-800483C4 042C88 007C+00 0/0 1/1 0/0 .text cancelStaff__16dEvent_manager_cFPCc
*/
void dEvent_manager_c::cancelStaff(char const* pName) {
if (!strcmp(pName, "ALL")) {
void dEvent_manager_c::cancelStaff(char const* name) {
if (!strcmp(name, "ALL")) {
fopAcM_Search((fopAcIt_JudgeFunc)extraOffObjectCallBack, NULL);
} else {
char nameBuf[0x20];
strcpy(nameBuf, pName);
strcpy(nameBuf, name);
fopAcM_OffStatus(fopAcM_searchFromName4Event(nameBuf, -1), 0x800);
}
}
/* 800483C4-800483E0 042D04 001C+00 1/1 2/2 38/38 .text setGoal__16dEvent_manager_cFP4cXyz */
void dEvent_manager_c::setGoal(cXyz* pGoal) {
mGoal = *pGoal;
void dEvent_manager_c::setGoal(cXyz* p_goal) {
mGoal = *p_goal;
}
/* 800483E0-800483E8 042D20 0008+00 0/0 1/1 1/1 .text getGoal__16dEvent_manager_cFv */
@@ -1161,7 +1170,7 @@ fopAc_ac_c* dEvent_manager_c::specialCast_Shutter(s16 bsTypeId, int param_1) {
s16 angle = prms.mActor->mOrig.mAngle.y + 0x8000;
goal.x += cM_ssin(angle) * 100;
goal.z += cM_scos(angle) * 100;
this->setGoal(&goal);
setGoal(&goal);
i_dComIfGp_getEvent().setPt2(shutterActor);
i_dComIfGp_getEvent().setPtD(shutterActor);
}
@@ -1169,13 +1178,13 @@ fopAc_ac_c* dEvent_manager_c::specialCast_Shutter(s16 bsTypeId, int param_1) {
}
/* 80048618-80048748 042F58 0130+00 1/1 0/0 0/0 .text specialCast__16dEvent_manager_cFPCci */
fopAc_ac_c* dEvent_manager_c::specialCast(char const* pName, int param_1) {
fopAc_ac_c* dEvent_manager_c::specialCast(char const* name, int param_1) {
fopAc_ac_c* shutterActor = NULL;
if (pName == NULL) {
if (name == NULL) {
return NULL;
}
if (!strcmp(pName, "SHUTTER_DOOR")) {
if (!strcmp(name, "SHUTTER_DOOR")) {
shutterActor = specialCast_Shutter(0x226, param_1);
if (shutterActor == NULL) {
shutterActor = specialCast_Shutter(0x228, param_1);
@@ -1217,7 +1226,7 @@ static int dEv_talkman_get_action(int param_0) {
"TALK1",
};
int actIdx = i_dComIfGp_getEventManager().getMyActIdx(staffId, action_table,
ARRAY_SIZE(action_table), 0, 0);
ARRAY_SIZE(action_table), 0, 0);
if (actIdx == param_0) {
i_dComIfGp_getEventManager().cutEnd(staffId);
}
+1 -1
View File
@@ -323,7 +323,7 @@ asm void dFile_warning_c::setFontColor(JUtility::TColor param_0, JUtility::TColo
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DTextBox::setBlackWhite(JUtility::TColor param_0, JUtility::TColor param_1) {
asm bool J2DTextBox::setBlackWhite(JUtility::TColor param_0, JUtility::TColor param_1) {
nofralloc
#include "asm/d/file/d_file_sel_warning/setBlackWhite__10J2DTextBoxFQ28JUtility6TColorQ28JUtility6TColor.s"
}
+179 -168
View File
@@ -6,34 +6,8 @@
#include "d/map/d_map_path.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct dMpath_n {
struct dTexObjAggregate_c {
/* 8003C85C */ void create();
/* 8003C8F4 */ void remove();
/* 8003D740 */ ~dTexObjAggregate_c() { remove(); };
inline dTexObjAggregate_c() {
for (int i = 0; i < 7; i++) {
mTexObjs[i] = NULL;
}
}
GXTexObj* mTexObjs[7];
};
static dTexObjAggregate_c m_texObjAgg;
};
STATIC_ASSERT(sizeof(dMpath_n::dTexObjAggregate_c) == 28);
#include "d/com/d_com_inf_game.h"
#include "m_Do/m_Do_lib.h"
//
// Forward References:
@@ -87,158 +61,206 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" extern Mtx g_mDoMtx_identity;
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern GXColor g_clearColor;
//
// Declarations:
//
/* ############################################################################################## */
/* 80379C30-80379C4C 006290 001C+00 1/1 0/0 0/0 .rodata data$3644 */
SECTION_RODATA static u8 const data[28] = {
0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00,
0x00, 0x4E, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x52,
};
COMPILER_STRIP_GATE(0x80379C30, &data);
/* 80379C4C-80379C4C 0062AC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80379C4C = "Always";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_80379C53 = "\0\0\0\0";
#pragma pop
/* 8003C85C-8003C8F4 03719C 0098+00 0/0 1/1 0/0 .text create__Q28dMpath_n18dTexObjAggregate_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMpath_n::dTexObjAggregate_c::create() {
nofralloc
#include "asm/d/map/d_map_path/create__Q28dMpath_n18dTexObjAggregate_cFv.s"
void dMpath_n::dTexObjAggregate_c::create() {
static int const data[7] = {
79, 80, 77, 78, 76, 81, 82,
};
for (int i = 0; i < 7; i++) {
mp_texObj[i] = new GXTexObj();
ResTIMG* image = (ResTIMG*)dComIfG_getObjectRes("Always", data[i]);
mDoLib_setResTimgObj(image, mp_texObj[i], 0, NULL);
}
}
#pragma pop
/* 8003C8F4-8003C94C 037234 0058+00 1/1 1/1 0/0 .text remove__Q28dMpath_n18dTexObjAggregate_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMpath_n::dTexObjAggregate_c::remove() {
nofralloc
#include "asm/d/map/d_map_path/remove__Q28dMpath_n18dTexObjAggregate_cFv.s"
void dMpath_n::dTexObjAggregate_c::remove() {
for (int i = 0; i < 7; i++) {
delete mp_texObj[i];
mp_texObj[i] = NULL;
}
}
#pragma pop
/* 8003C94C-8003CA40 03728C 00F4+00 2/0 9/2 0/0 .text
* rendering__11dDrawPath_cFPCQ211dDrawPath_c10line_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dDrawPath_c::rendering(dDrawPath_c::line_class const* param_0) {
nofralloc
#include "asm/d/map/d_map_path/rendering__11dDrawPath_cFPCQ211dDrawPath_c10line_class.s"
void dDrawPath_c::rendering(dDrawPath_c::line_class const* p_line) {
if (isDrawType(p_line->unk0)) {
int width = getLineWidth(p_line->unk1);
if (width > 0 && p_line->unk2 >= 2) {
GXSetLineWidth(width, GX_TO_ZERO);
GXSetTevColor(GX_TEVREG0, *getLineColor(p_line->unk0 & 0x3F, p_line->unk1));
GXBegin(GX_LINESTRIP, GX_VTXFMT0, p_line->unk2);
u16* tmp = p_line->unk4;
for (int i = 0; i < p_line->unk2; i++) {
GXPosition1x16(*tmp);
tmp++;
}
i_GXEnd();
}
}
}
#pragma pop
/* 8003CA40-8003CB00 037380 00C0+00 2/0 9/1 0/0 .text
* rendering__11dDrawPath_cFPCQ211dDrawPath_c10poly_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dDrawPath_c::rendering(dDrawPath_c::poly_class const* param_0) {
nofralloc
#include "asm/d/map/d_map_path/rendering__11dDrawPath_cFPCQ211dDrawPath_c10poly_class.s"
void dDrawPath_c::rendering(dDrawPath_c::poly_class const* p_poly) {
if (isDrawType(p_poly->field_0x0)) {
GXSetTevColor(GX_TEVREG0, *getColor(p_poly->field_0x0 & 0x3F));
if (p_poly->field_0x1 >= 3) {
GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, p_poly->field_0x1);
u16* tmp = p_poly->field_0x4;
for (int i = 0; i < p_poly->field_0x1; i++) {
GXPosition1x16(*tmp);
tmp++;
}
i_GXEnd();
}
}
}
#pragma pop
/* 8003CB00-8003CBBC 037440 00BC+00 1/1 0/0 0/0 .text
* rendering__11dDrawPath_cFPCQ211dDrawPath_c11group_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dDrawPath_c::rendering(dDrawPath_c::group_class const* param_0) {
nofralloc
#include "asm/d/map/d_map_path/rendering__11dDrawPath_cFPCQ211dDrawPath_c11group_class.s"
void dDrawPath_c::rendering(dDrawPath_c::group_class const* p_group) {
if (isSwitch(p_group)) {
poly_class* poly = p_group->mpPoly;
for (int i = 0; i < p_group->field_0x4; i++) {
rendering(poly);
poly++;
}
line_class* line = p_group->mpLine;
for (int i = 0; i < p_group->field_0x2; i++) {
rendering(line);
line++;
}
}
}
#pragma pop
/* 8003CBBC-8003CC24 0374FC 0068+00 1/1 0/0 0/0 .text
* rendering__11dDrawPath_cFPCQ211dDrawPath_c11floor_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dDrawPath_c::rendering(dDrawPath_c::floor_class const* param_0) {
nofralloc
#include "asm/d/map/d_map_path/rendering__11dDrawPath_cFPCQ211dDrawPath_c11floor_class.s"
void dDrawPath_c::rendering(dDrawPath_c::floor_class const* p_floor) {
if (p_floor->mpGroup != NULL) {
group_class* group = p_floor->mpGroup;
for (int i = 0; i < p_floor->field_0x1; i++) {
rendering(group);
group++;
}
}
}
#pragma pop
/* 8003CC24-8003CCC4 037564 00A0+00 2/0 9/1 0/0 .text
* rendering__11dDrawPath_cFPCQ211dDrawPath_c10room_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dDrawPath_c::rendering(dDrawPath_c::room_class const* param_0) {
nofralloc
#include "asm/d/map/d_map_path/rendering__11dDrawPath_cFPCQ211dDrawPath_c10room_class.s"
void dDrawPath_c::rendering(dDrawPath_c::room_class const* p_room) {
if (p_room != NULL) {
GXSetArray(GX_VA_POS, p_room->field_0x8, 8);
floor_class* floor = p_room->mpFloor;
if (floor != NULL) {
for (int i = 0; i < p_room->field_0x0; i++) {
if (isRenderingFloor(floor->field_0x0)) {
rendering(floor);
}
floor++;
}
}
}
}
#pragma pop
/* 8003CCC4-8003CD38 037604 0074+00 2/0 9/1 0/0 .text drawPath__11dDrawPath_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dDrawPath_c::drawPath() {
nofralloc
#include "asm/d/map/d_map_path/drawPath__11dDrawPath_cFv.s"
void dDrawPath_c::drawPath() {
room_class* room = getFirstRoomPointer();
while (room != NULL) {
rendering(room);
room = getNextRoomPointer();
}
}
#pragma pop
/* 8003CD38-8003CDAC 037678 0074+00 0/0 3/3 0/0 .text
* makeResTIMG__15dRenderingMap_cCFP7ResTIMGUsUsPUcPUcUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dRenderingMap_c::makeResTIMG(ResTIMG* param_0, u16 param_1, u16 param_2, u8* param_3,
u8* param_4, u16 param_5) const {
nofralloc
#include "asm/d/map/d_map_path/makeResTIMG__15dRenderingMap_cCFP7ResTIMGUsUsPUcPUcUs.s"
void dRenderingMap_c::makeResTIMG(ResTIMG* p_image, u16 width, u16 height, u8* p_data,
u8* p_palette, u16 param_5) const {
p_image->format = GX_TF_CI14;
p_image->alphaEnabled = 2;
p_image->width = width;
p_image->height = height;
p_image->wrapS = GX_CLAMP;
p_image->wrapT = GX_CLAMP;
p_image->palettesEnabled = true;
p_image->paletteFormat = 2;
p_image->paletteCount = param_5 * 4;
p_image->paletteOffset = p_palette - (u8*)p_image;
p_image->mipmapEnabled = false;
p_image->doEdgeLOD = false;
p_image->biasClamp = false;
p_image->maxAnisotropy = 0;
p_image->minFilter = GX_LINEAR;
p_image->magFilter = GX_LINEAR;
p_image->minLOD = 0;
p_image->maxLOD = 0;
p_image->mipmapCount = 1;
p_image->LODBias = 0;
p_image->texDataOffset = p_data - (u8*)p_image;
}
#pragma pop
/* 8003CDAC-8003CE78 0376EC 00CC+00 0/0 2/2 0/0 .text renderingMap__15dRenderingMap_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dRenderingMap_c::renderingMap() {
nofralloc
#include "asm/d/map/d_map_path/renderingMap__15dRenderingMap_cFv.s"
void dRenderingMap_c::renderingMap() {
preRenderingMap();
if (isDrawPath()) {
preDrawPath();
beforeDrawPath();
drawPath();
afterDrawPath();
postDrawPath();
}
postRenderingMap();
}
#pragma pop
/* 8003CE78-8003CF40 0377B8 00C8+00 2/2 3/3 0/0 .text
* setTevSettingNonTextureDirectColor__18dRenderingFDAmap_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dRenderingFDAmap_c::setTevSettingNonTextureDirectColor() const {
nofralloc
#include "asm/d/map/d_map_path/setTevSettingNonTextureDirectColor__18dRenderingFDAmap_cCFv.s"
void dRenderingFDAmap_c::setTevSettingNonTextureDirectColor() const {
GXSetNumTevStages(1);
GXSetNumChans(1);
GXSetNumTexGens(0);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0);
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
}
#pragma pop
/* 8003CF40-8003D0AC 037880 016C+00 1/1 3/3 0/0 .text
* setTevSettingIntensityTextureToCI__18dRenderingFDAmap_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dRenderingFDAmap_c::setTevSettingIntensityTextureToCI() const {
nofralloc
#include "asm/d/map/d_map_path/setTevSettingIntensityTextureToCI__18dRenderingFDAmap_cCFv.s"
void dRenderingFDAmap_c::setTevSettingIntensityTextureToCI() const {
GXSetNumTevStages(2);
GXSetNumChans(1);
GXSetNumTexGens(1);
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 60, GX_FALSE, 125);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0);
GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_KONST, GX_CC_TEXC, GX_CC_C1);
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_CPREV, GX_CC_C2, GX_CC_CPREV, GX_CC_ZERO);
GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_COMP_R8_GT, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_TEXA);
GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
GXSetAlphaCompare(GX_GREATER, 0, GX_AOP_AND, GX_ALWAYS, 0);
GXSetTevKColorSel(GX_TEVSTAGE0, GX_TEV_KCSEL_1_4);
}
#pragma pop
/* 8003D0AC-8003D188 0379EC 00DC+00 1/1 0/0 0/0 .text drawBack__18dRenderingFDAmap_cCFv
*/
@@ -246,14 +268,13 @@ void dRenderingFDAmap_c::drawBack() const {
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_F32, 0);
GXColor* colorPtr = getBackColor();
GXSetTevColor(GX_TEVREG0, *colorPtr);
GXSetTevColor(GX_TEVREG0, *getBackColor());
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
GXPosition3f32(-field_0x8, -field_0xc, 0);
GXPosition3f32(field_0x8, -field_0xc, 0);
GXPosition3f32(field_0x8, field_0xc, 0);
GXPosition3f32(-field_0x8, field_0xc, 0);
GXEnd();
i_GXEnd();
}
/* 8003D188-8003D320 037AC8 0198+00 1/0 8/0 0/0 .text preRenderingMap__18dRenderingFDAmap_cFv */
@@ -268,15 +289,14 @@ void dRenderingFDAmap_c::preRenderingMap() {
GXSetZCompLoc(GX_TRUE);
GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE);
GXSetBlendMode(GX_BM_NONE, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_CLEAR);
GXColor color = g_clearColor;
GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, color);
GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor);
GXSetCullMode(GX_CULL_NONE);
GXSetDither(GX_FALSE);
GXSetNumIndStages(0);
GXSetClipMode(GX_FALSE);
GXSetClipMode(GX_CLIP_ENABLE);
setTevSettingNonTextureDirectColor();
float right = field_0x8 * 0.5f;
float top = field_0xc * 0.5f;
f32 right = field_0x8 * 0.5f;
f32 top = field_0xc * 0.5f;
Mtx44 matrix;
C_MTXOrtho(matrix, top, -top, -right, right, 0.0f, 10000.0f);
GXSetProjection(matrix, GX_ORTHOGRAPHIC);
@@ -286,14 +306,16 @@ void dRenderingFDAmap_c::preRenderingMap() {
}
/* 8003D320-8003D3C0 037C60 00A0+00 1/0 7/1 0/0 .text postRenderingMap__18dRenderingFDAmap_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dRenderingFDAmap_c::postRenderingMap() {
nofralloc
#include "asm/d/map/d_map_path/postRenderingMap__18dRenderingFDAmap_cFv.s"
void dRenderingFDAmap_c::postRenderingMap() {
GXSetCopyFilter(GX_FALSE, NULL, GX_FALSE, NULL);
GXSetTexCopySrc(0, 0, field_0x1c, field_0x1e);
GXSetTexCopyDst(field_0x1c, field_0x1e, _GX_CTF_R8, GX_FALSE);
GXCopyTex(field_0x4, GX_TRUE);
GXPixModeSync();
GXSetClipMode(GX_CLIP_ENABLE);
GXSetDither(GX_TRUE);
dComIfGp_getCurrentGrafPort()->setup2D();
}
#pragma pop
/* 80424684-804246A0 0513A4 001C+00 2/2 5/5 0/0 .bss m_texObjAgg__8dMpath_n */
dMpath_n::dTexObjAggregate_c dMpath_n::m_texObjAgg;
@@ -306,8 +328,8 @@ dMpath_n::dTexObjAggregate_c dMpath_n::m_texObjAgg;
/* 8003D3C0-8003D68C 037D00 02CC+00 0/0 2/2 0/0 .text
* renderingDecoration__18dRenderingFDAmap_cFPCQ211dDrawPath_c10line_class */
void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* line) {
s32 width = getDecorationLineWidth(line->unk1);
void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* p_line) {
s32 width = getDecorationLineWidth(p_line->unk1);
if (width <= 0) {
return;
}
@@ -318,13 +340,12 @@ void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* line
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_F32, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_POS_XYZ, GX_F32, 0);
GXSetNumTevStages(1);
GXLoadTexObj(dMpath_n::m_texObjAgg.mTexObjs[6], GX_TEXMAP0);
u16* unk = line->unk4;
s32 unk2 = line->unk2;
GXLoadTexObj(dMpath_n::m_texObjAgg.mp_texObj[6], GX_TEXMAP0);
u16* unk = p_line->unk4;
s32 unk2 = p_line->unk2;
GXSetLineWidth(width, GX_TO_ONE);
GXSetPointSize(width, GX_TO_ONE);
GXColor* lineColorPtr = getDecoLineColor(line->unk0 & 0x3f, line->unk1);
GXColor lineColor = *lineColorPtr;
GXColor lineColor = *getDecoLineColor(p_line->unk0 & 0x3f, p_line->unk1);
GXSetTevColor(GX_TEVREG0, lineColor);
lineColor.r = lineColor.r - 4;
GXSetTevColor(GX_TEVREG1, lineColor);
@@ -351,7 +372,7 @@ void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* line
GXBegin(GX_POINTS, GX_VTXFMT0, 1);
GXPosition1x16(unk[0]);
GXTexCoord2f32(0, 0);
GXEnd();
i_GXEnd();
}
setTevSettingNonTextureDirectColor();
GXClearVtxDesc();
@@ -360,25 +381,15 @@ void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* line
}
/* 8003D68C-8003D6B8 037FCC 002C+00 1/0 6/0 0/0 .text getDecoLineColor__18dRenderingFDAmap_cFii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm GXColor* dRenderingFDAmap_c::getDecoLineColor(int param_0, int param_1) {
nofralloc
#include "asm/d/map/d_map_path/getDecoLineColor__18dRenderingFDAmap_cFii.s"
GXColor* dRenderingFDAmap_c::getDecoLineColor(int param_0, int param_1) {
return getLineColor(param_0, param_1);
}
#pragma pop
/* 8003D6B8-8003D6E4 037FF8 002C+00 1/0 6/0 0/0 .text
* getDecorationLineWidth__18dRenderingFDAmap_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm s32 dRenderingFDAmap_c::getDecorationLineWidth(int param_0) {
nofralloc
#include "asm/d/map/d_map_path/getDecorationLineWidth__18dRenderingFDAmap_cFi.s"
s32 dRenderingFDAmap_c::getDecorationLineWidth(int param_0) {
return getLineWidth(param_0);
}
#pragma pop
/* ############################################################################################## */
/* 803A7C90-803A7CF8 004DB0 0068+00 0/0 12/12 0/0 .data __vt__18dRenderingFDAmap_c */
+7 -14
View File
@@ -4,25 +4,18 @@
//
#include "d/map/d_map_path_dmap.h"
#include "d/map/d_map_path.h"
#include "d/com/d_com_inf_game.h"
#include "d/meter/d_meter_HIO.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "m_Do/m_Do_mtx.h"
#include "MSL_C/math.h"
//
// Types:
//
struct dMpath_n {
struct dTexObjAggregate_c {
/* 8003C85C */ void create();
/* 8003C8F4 */ void remove();
};
static u8 m_texObjAgg[28];
};
struct dMapInfo_c {
/* 8003F40C */ void calcFloorNo(f32, bool, int);
/* 8003F570 */ void calcNowStayFloorNo(f32, bool);
@@ -614,7 +607,7 @@ asm void renderingDAmap_c::entry(f32 param_0, f32 param_1, f32 param_2, int para
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void renderingDAmap_c::isSwitch(dDrawPath_c::group_class const* param_0) {
asm bool renderingDAmap_c::isSwitch(dDrawPath_c::group_class const* param_0) {
nofralloc
#include "asm/d/map/d_map_path_dmap/isSwitch__16renderingDAmap_cFPCQ211dDrawPath_c11group_class.s"
}
@@ -654,7 +647,7 @@ asm GXColor* renderingDAmap_c::getBackColor() const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void renderingDAmap_c::isRenderingFloor(int param_0) {
asm bool renderingDAmap_c::isRenderingFloor(int param_0) {
nofralloc
#include "asm/d/map/d_map_path_dmap/isRenderingFloor__16renderingDAmap_cFi.s"
}
@@ -743,7 +736,7 @@ asm void renderingDAmap_c::getNextDrawRoomNo(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void renderingDAmap_c::getFirstRoomPointer() {
asm dDrawPath_c::room_class* renderingDAmap_c::getFirstRoomPointer() {
nofralloc
#include "asm/d/map/d_map_path_dmap/getFirstRoomPointer__16renderingDAmap_cFv.s"
}
@@ -753,7 +746,7 @@ asm void renderingDAmap_c::getFirstRoomPointer() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void renderingDAmap_c::getNextRoomPointer() {
asm dDrawPath_c::room_class* renderingDAmap_c::getNextRoomPointer() {
nofralloc
#include "asm/d/map/d_map_path_dmap/getNextRoomPointer__16renderingDAmap_cFv.s"
}
@@ -763,7 +756,7 @@ asm void renderingDAmap_c::getNextRoomPointer() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void renderingDAmap_c::isDrawPath() {
asm bool renderingDAmap_c::isDrawPath() {
nofralloc
#include "asm/d/map/d_map_path_dmap/isDrawPath__16renderingDAmap_cFv.s"
}
+12 -36
View File
@@ -279,40 +279,16 @@ SECTION_DATA static char* bmg_filename[10] = {
};
/* 803BF350-803BF554 01C470 0204+00 1/1 0/0 0/0 .data i_action_num$8471 */
SECTION_DATA static u8 i_action_num[516] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE9, 0x00, 0x00, 0x03, 0xEA, 0x00, 0x00, 0x03, 0xEB,
0x00, 0x00, 0x03, 0xEC, 0x00, 0x00, 0x03, 0xED, 0x00, 0x00, 0x03, 0xEE, 0x00, 0x00, 0x03, 0xEF,
0x00, 0x00, 0x05, 0x6B, 0x00, 0x00, 0x03, 0xF1, 0x00, 0x00, 0x03, 0xF2, 0x00, 0x00, 0x03, 0xF3,
0x00, 0x00, 0x03, 0xF4, 0x00, 0x00, 0x03, 0xF5, 0x00, 0x00, 0x03, 0xF6, 0x00, 0x00, 0x03, 0xF7,
0x00, 0x00, 0x04, 0x09, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x03, 0xF9, 0x00, 0x00, 0x03, 0xFA,
0x00, 0x00, 0x03, 0xFB, 0x00, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x04, 0x15, 0x00, 0x00, 0x03, 0xFE,
0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x04, 0x03, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x04, 0x05,
0x00, 0x00, 0x04, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x07, 0x00, 0x00, 0x04, 0x01,
0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x04, 0x15, 0x00, 0x00, 0x04, 0x0C, 0x00, 0x00, 0x04, 0x08,
0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x04, 0x0B, 0x00, 0x00, 0x04, 0x0A, 0x00, 0x00, 0x04, 0x0D, 0x00, 0x00, 0x04, 0x0E,
0x00, 0x00, 0x04, 0x0F, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x04, 0x11, 0x00, 0x00, 0x03, 0xE6,
0x00, 0x00, 0x04, 0x12, 0x00, 0x00, 0x04, 0x13, 0x00, 0x00, 0x04, 0x14, 0x00, 0x00, 0x04, 0x16,
0x00, 0x00, 0x04, 0x17, 0x00, 0x00, 0x04, 0x18, 0x00, 0x00, 0x04, 0x19, 0x00, 0x00, 0x04, 0x1A,
0x00, 0x00, 0x04, 0x1B, 0x00, 0x00, 0x04, 0x1C, 0x00, 0x00, 0x04, 0x1D, 0x00, 0x00, 0x04, 0x1E,
0x00, 0x00, 0x04, 0x1F, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x21, 0x00, 0x00, 0x04, 0x22,
0x00, 0x00, 0x04, 0x23, 0x00, 0x00, 0x04, 0x2E, 0x00, 0x00, 0x04, 0x24, 0x00, 0x00, 0x04, 0x25,
0x00, 0x00, 0x04, 0x26, 0x00, 0x00, 0x04, 0x27, 0x00, 0x00, 0x04, 0x28, 0x00, 0x00, 0x04, 0x2B,
0x00, 0x00, 0x04, 0x29, 0x00, 0x00, 0x04, 0x2A, 0x00, 0x00, 0x04, 0xBB, 0x00, 0x00, 0x04, 0x2D,
0x00, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x04, 0x30, 0x00, 0x00, 0x04, 0x31, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x04, 0x32, 0x00, 0x00, 0x04, 0x33, 0x00, 0x00, 0x04, 0x34, 0x00, 0x00, 0x04, 0x35,
0x00, 0x00, 0x04, 0x36, 0x00, 0x00, 0x04, 0x37, 0x00, 0x00, 0x04, 0x38, 0x00, 0x00, 0x04, 0x39,
0x00, 0x00, 0x04, 0x3A, 0x00, 0x00, 0x04, 0x3B, 0x00, 0x00, 0x04, 0x3C, 0x00, 0x00, 0x04, 0x3D,
0x00, 0x00, 0x04, 0x3E, 0x00, 0x00, 0x04, 0x3F, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x04, 0x41,
0x00, 0x00, 0x04, 0x42, 0x00, 0x00, 0x04, 0x44, 0x00, 0x00, 0x04, 0x45, 0x00, 0x00, 0x04, 0x46,
0x00, 0x00, 0x04, 0x47, 0x00, 0x00, 0x04, 0x48, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x04, 0x49,
0x00, 0x00, 0x04, 0x4A, 0x00, 0x00, 0x04, 0x4B, 0x00, 0x00, 0x04, 0x4C, 0x00, 0x00, 0x04, 0x7E,
0x00, 0x00, 0x04, 0x7D, 0x00, 0x00, 0x04, 0x7C, 0x00, 0x00, 0x05, 0x61, 0x00, 0x00, 0x04, 0x7B,
0x00, 0x00, 0x04, 0x79, 0x00, 0x00, 0x04, 0x7A, 0x00, 0x00, 0x04, 0x89, 0x00, 0x00, 0x04, 0x8A,
0x00, 0x00, 0x04, 0x8B, 0x00, 0x00, 0x04, 0x8C, 0x00, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x04, 0x8E,
0x00, 0x00, 0x04, 0x78, 0x00, 0x00, 0x03, 0xD6, 0x00, 0x00, 0x03, 0xD7, 0x00, 0x00, 0x04, 0x77,
0x00, 0x00, 0x04, 0x88, 0x00, 0x00, 0x05, 0x27, 0x00, 0x00, 0x05, 0x22, 0x00, 0x00, 0x05, 0x77,
0x00, 0x00, 0x03, 0xF0,
SECTION_DATA static int i_action_num[129] = {
0, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1387, 1009, 1010, 1011, 1012, 1013, 1014,
1015, 1033, 1016, 1017, 1018, 1019, 1020, 1045, 1022, 1026, 1027, 1028, 1029, 1030, 1024,
1031, 1025, 1023, 1045, 1036, 1032, 93, 0, 0, 0, 1035, 1034, 1037, 1038, 1039,
1040, 1041, 998, 1042, 1043, 1044, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054,
1055, 1056, 1057, 1058, 1059, 1070, 1060, 1061, 1062, 1063, 1064, 1067, 1065, 1066, 1211,
1069, 1021, 1072, 1073, 0, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083,
1084, 1085, 1086, 1087, 1088, 1089, 1090, 1092, 1093, 1094, 1095, 1096, 1904, 1097, 1098,
1099, 1100, 1150, 1149, 1148, 1377, 1147, 1145, 1146, 1161, 1162, 1163, 1164, 1165, 1166,
1144, 982, 983, 1143, 1160, 1319, 1314, 1399, 1008,
};
/* 803BF554-803BF578 -00001 0024+00 1/1 0/0 0/0 .data @9008 */
@@ -521,7 +497,7 @@ dMeter2Draw_c::dMeter2Draw_c(JKRExpHeap* p_heap) {
mpPikariParent = new CPaneMgr(mpPikariScreen, 'pika_n', 0, NULL);
field_0x548 = ((J2DPicture*)mpPikariScreen->search('pika00'))->getBlack();
field_0x54c = ((J2DPicture*)mpPikariScreen->search('pika00'))->getWhite();
OSInitFastCast();
i_OSInitFastCast();
void* pikari_bck = JKRGetNameResource("zelda_icon_pikari.bck", dComIfGp_getMain2DArchive());
mPikariBck = (J2DAnmTransformKey*)J2DAnmLoaderDataBase::load(pikari_bck);
playPikariBckAnimation(1.0f);
@@ -1159,7 +1135,7 @@ void dMeter2Draw_c::initMagic() {
mpMagicFrameL = new CPaneMgr(mpKanteraScreen, 'm_w_l_n', 2, NULL);
mpMagicFrameR = new CPaneMgr(mpKanteraScreen, 'm_w_r_n', 2, NULL);
mpMagicMeter = new CPaneMgr(mpKanteraScreen, 'mm_00', 0, NULL);
OSInitFastCast();
i_OSInitFastCast();
void* res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_10percent.bpk",
dComIfGp_getMain2DArchive());
+1 -1
View File
@@ -562,7 +562,7 @@ dScnLogo_c::~dScnLogo_c() {
field_0x1d4->destroy();
field_0x1d0->destroy();
JKRFree(buffer);
i_JKRFree(buffer);
dComIfGp_particle_createCommon(mParticleCommand->getMemAddress());
dComIfGp_setFieldMapArchive2(mpField0Command->getArchive());
+18 -18
View File
@@ -1007,7 +1007,7 @@ s32 fopAcM_orderTalkEvent(fopAc_ac_c* actorA, fopAc_ac_c* actorB, u16 priority,
priority = 0x1FF;
}
return dComIfGp_event_order(0, priority, flag, 0x14F, actorA, actorB, -1, -1);
return dComIfGp_event_order(EVT_TYPE_TALK, priority, flag, 0x14F, actorA, actorB, -1, -1);
}
/* 8001B0FC-8001B19C 015A3C 00A0+00 0/0 1/1 0/0 .text
@@ -1019,7 +1019,7 @@ s32 fopAcM_orderTalkItemBtnEvent(u16 eventType, fopAc_ac_c* actorA, fopAc_ac_c*
}
if (priority == 0) {
priority = 0x1F4;
priority = 500;
}
return dComIfGp_event_order(eventType, priority, flag, 0x14F, actorA, actorB, -1, -1);
@@ -1038,7 +1038,7 @@ s32 fopAcM_orderSpeakEvent(fopAc_ac_c* actor, u16 priority, u16 flag) {
priority = 0x1EA;
}
return dComIfGp_event_order(0, priority, flag, 0x14F, dComIfGp_getPlayer(0), actor, -1, -1);
return dComIfGp_event_order(EVT_TYPE_TALK, priority, flag, 0x14F, dComIfGp_getPlayer(0), actor, -1, -1);
}
#else
#pragma push
@@ -1069,7 +1069,7 @@ s32 fopAcM_orderDoorEvent(fopAc_ac_c* actorA, fopAc_ac_c* actorB, u16 priority,
eventID = i_dComIfGp_getEventManager().getEventIdx(actorA, NULL, toolID);
}
return dComIfGp_event_order(1, priority, flag, -1, actorA, actorB, eventID, toolID);
return dComIfGp_event_order(EVT_TYPE_DOOR, priority, flag, -1, actorA, actorB, eventID, toolID);
}
/* 8001B334-8001B3CC 015C74 0098+00 0/0 1/1 0/0 .text
@@ -1083,7 +1083,7 @@ s32 fopAcM_orderCatchEvent(fopAc_ac_c* actorA, fopAc_ac_c* actorB, u16 priority,
priority = 2;
}
return dComIfGp_event_order(10, priority, flag, -1, actorA, actorB, -1, -1);
return dComIfGp_event_order(EVT_TYPE_CATCH, priority, flag, -1, actorA, actorB, -1, -1);
}
/* 8001B3CC-8001B4E0 015D0C 0114+00 0/0 2/2 6/6 .text
@@ -1108,7 +1108,7 @@ s32 fopAcM_orderOtherEvent(fopAc_ac_c* actor, char const* param_1, u16 param_2,
eventPrio = priority;
}
return dComIfGp_event_order(2, eventPrio, flag, param_2, actor, event_second_actor(flag), eventIdx, -1);
return dComIfGp_event_order(EVT_TYPE_OTHER, eventPrio, flag, param_2, actor, event_second_actor(flag), eventIdx, -1);
}
/* 8001B4E0-8001B5E4 015E20 0104+00 0/0 1/1 2/2 .text
@@ -1133,7 +1133,7 @@ s32 fopAcM_orderOtherEvent(fopAc_ac_c* actorA, fopAc_ac_c* actorB, char const* p
eventPrio = priority;
}
return dComIfGp_event_order(2, eventPrio, flag, param_3, actorA, actorB, eventIdx, -1);
return dComIfGp_event_order(EVT_TYPE_OTHER, eventPrio, flag, param_3, actorA, actorB, eventIdx, -1);
}
/* 8001B5E4-8001B67C 015F24 0098+00 0/0 2/2 41/41 .text
@@ -1144,12 +1144,12 @@ s32 fopAcM_orderChangeEventId(fopAc_ac_c* actor, s16 eventID, u16 flag, u16 para
eventPrio = 0xFF;
}
return dComIfGp_event_order(2, eventPrio, flag | 0x400, param_3, actor, event_second_actor(flag), eventID, -1);
return dComIfGp_event_order(EVT_TYPE_OTHER, eventPrio, flag | 0x400, param_3, actor, event_second_actor(flag), eventID, -1);
}
/* 8001B67C-8001B7B4 015FBC 0138+00 0/0 10/10 101/101 .text
* fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs */
s32 fopAcM_orderOtherEventId(fopAc_ac_c* actor, s16 eventID, u8 param_2, u16 param_3,
s32 fopAcM_orderOtherEventId(fopAc_ac_c* actor, s16 eventID, u8 mapToolID, u16 param_3,
u16 priority, u16 flag) {
if (!i_dComIfGp_getEvent().i_isOrderOK() && (!(flag & 0x400) || !i_dComIfGp_getEvent().isChangeOK(actor))) {
return 0;
@@ -1168,16 +1168,16 @@ s32 fopAcM_orderOtherEventId(fopAc_ac_c* actor, s16 eventID, u8 param_2, u16 par
if (eventPrio != 0) {
newPriority = eventPrio;
} else if (param_2 != 0xFF) {
dStage_MapEvent_dt_c* dt = dEvt_control_c::searchMapEventData(param_2, roomNo);
} else if (mapToolID != 0xFF) {
dStage_MapEvent_dt_c* dt = dEvt_control_c::searchMapEventData(mapToolID, roomNo);
if (dt != NULL) {
newPriority = dt->field_0x6;
newPriority = dt->mPriority;
}
}
}
return dComIfGp_event_order(2, newPriority, flag, param_3, actor, event_second_actor(flag), eventID, param_2);
return dComIfGp_event_order(EVT_TYPE_OTHER, newPriority, flag, param_3, actor, event_second_actor(flag), eventID, mapToolID);
}
/* 8001B7B4-8001B8E0 0160F4 012C+00 1/1 1/1 4/4 .text
@@ -1196,7 +1196,7 @@ s32 fopAcM_orderMapToolEvent(fopAc_ac_c* actor, u8 param_1, s16 eventID, u16 par
dStage_MapEvent_dt_c* dt = dEvt_control_c::searchMapEventData(param_1, roomNo);
if (dt != NULL) {
newPriority = dt->field_0x6;
newPriority = dt->mPriority;
if (eventID == 0xFF) {
eventID = i_dComIfGp_getEventManager().getEventIdx(actor, param_1);
@@ -1211,7 +1211,7 @@ s32 fopAcM_orderMapToolEvent(fopAc_ac_c* actor, u8 param_1, s16 eventID, u16 par
newPriority = param_5;
}
return dComIfGp_event_order(2, newPriority, flag, param_3, actor, event_second_actor(flag), eventID, param_1);
return dComIfGp_event_order(EVT_TYPE_OTHER, newPriority, flag, param_3, actor, event_second_actor(flag), eventID, param_1);
}
/* 8001B8E0-8001B908 016220 0028+00 0/0 1/1 1/1 .text
@@ -1232,7 +1232,7 @@ s32 fopAcM_orderPotentialEvent(fopAc_ac_c* actor, u16 flag, u16 param_2, u16 pri
priority = 0xFF;
}
return dComIfGp_event_order(4, priority, flag, param_2, actor, event_second_actor(flag), -1, -1);
return dComIfGp_event_order(EVT_TYPE_POTENTIAL, priority, flag, param_2, actor, event_second_actor(flag), -1, -1);
}
/* 8001B9D0-8001BA7C 016310 00AC+00 0/0 3/3 12/12 .text fopAcM_orderItemEvent__FP10fopAc_ac_cUsUs
@@ -1248,7 +1248,7 @@ s32 fopAcM_orderItemEvent(fopAc_ac_c* actor, u16 priority, u16 flag) {
priority = 0xFF;
}
return dComIfGp_event_order(5, priority, flag, -1, dComIfGp_getPlayer(0), actor, -1, -1);
return dComIfGp_event_order(EVT_TYPE_ITEM, priority, flag, -1, dComIfGp_getPlayer(0), actor, -1, -1);
}
#else
#pragma push
@@ -1273,7 +1273,7 @@ s32 fopAcM_orderTreasureEvent(fopAc_ac_c* actorA, fopAc_ac_c* actorB, u16 priori
priority = 0xFF;
}
return dComIfGp_event_order(11, priority, flag, -1, actorA, actorB, -1, -1);
return dComIfGp_event_order(EVT_TYPE_TREASURE, priority, flag, -1, actorA, actorB, -1, -1);
}
/* 8001BB14-8001BB44 016454 0030+00 0/0 11/11 10/10 .text
+1 -1
View File
@@ -38,7 +38,7 @@ void mDoDvdErr_ThdInit() {
sizeof(DvdErr_stack), priority - 3, 1);
OSResumeThread(&DvdErr_thread);
OSCreateAlarm(&Alarm);
OSSetPeriodicAlarm(&Alarm, time, OS_BUS_CLOCK / 4, AlarmHandler);
OSSetPeriodicAlarm(&Alarm, time, OS_BUS_CLOCK / 4, (OSAlarmHandler*)AlarmHandler);
mDoDvdErr_initialized = true;
}
-1
View File
@@ -10,7 +10,6 @@
#include "SSystem/SComponent/c_node.h"
#include "dol2asm.h"
#include "dolphin/dvd/dvd.h"
#include "dolphin/os/OSThread.h"
#include "dolphin/types.h"
#include "m_Do/m_Do_ext.h"
#include "m_Do/m_Do_reset.h"
+4 -4
View File
@@ -372,7 +372,7 @@ static void darwFilter(GXColor matColor) {
GXPosition3s8(1, 0, -5);
GXPosition3s8(1, 1, -5);
GXPosition3s8(0, 1, -5);
GXEnd();
i_GXEnd();
}
#else
#pragma push
@@ -637,7 +637,7 @@ void mDoGph_drawFilterQuad(s8 param_0, s8 param_1) {
GXTexCoord2s8(1, 1);
GXPosition2s8(0, param_1);
GXTexCoord2s8(0, 1);
GXEnd();
i_GXEnd();
}
/* 80009544-800095F8 003E84 00B4+00 0/0 1/1 0/0 .text create__Q213mDoGph_gInf_c7bloom_cFv
@@ -762,9 +762,9 @@ static void drawItem3D() {
dMenu_Collect3D_c::setupItem3D(item_mtx);
setLight();
j3dSys.setViewMtx(item_mtx);
GXSetClipMode(GX_ENABLE);
GXSetClipMode(GX_CLIP_DISABLE);
dComIfGd_drawListItem3d();
GXSetClipMode(GX_DISABLE);
GXSetClipMode(GX_CLIP_ENABLE);
j3dSys.reinitGX();
}
+1 -1
View File
@@ -77,7 +77,7 @@ bool mDoLib_setResTimgObj(ResTIMG const* res, _GXTexObj* o_texObj, u32 param_2,
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoLib_setResTimgObj(ResTIMG const* param_0, _GXTexObj* param_1, u32 param_2,
asm bool mDoLib_setResTimgObj(ResTIMG const* param_0, _GXTexObj* param_1, u32 param_2,
_GXTlutObj* param_3) {
nofralloc
#include "asm/m_Do/m_Do_lib/mDoLib_setResTimgObj__FPC7ResTIMGP9_GXTexObjUlP10_GXTlutObj.s"
+10 -16
View File
@@ -25,12 +25,6 @@ extern "C" void mDoPrintf_vprintf_Interrupt__FPCcP16__va_list_struct();
extern "C" void mDoPrintf_vprintf_Thread__FPCcP16__va_list_struct();
extern "C" void mDoPrintf_vprintf__FPCcP16__va_list_struct();
extern "C" void mDoPrintf_VReport(const char* fmt, va_list args);
extern "C" void OSVReport(const char* fmt, va_list args);
extern "C" void OSReport(const char*, ...);
extern "C" void OSReport_FatalError(const char* fmt, ...);
extern "C" void OSReport_Error(const char* fmt, ...);
extern "C" void OSReport_Warning(const char* fmt, ...);
extern "C" void OSReport_System(const char* fmt, ...);
extern "C" extern char const* const m_Do_m_Do_printf__stringBase0;
//
@@ -64,12 +58,12 @@ void my_PutString(const char* string) {
}
/* 800067F4-80006814 001134 0020+00 3/3 0/0 0/0 .text OSVAttention__FPCcP16__va_list_struct */
void OSVAttention(char const* fmt, va_list args) {
void OSVAttention(char* fmt, va_list args) {
mDoPrintf_vprintf(fmt, args);
}
/* 80006814-80006894 001154 0080+00 1/1 1/1 0/0 .text OSAttention */
void OSAttention(const char* fmt, ...) {
void OSAttention(char* fmt, ...) {
va_list args;
va_start(args, fmt);
mDoPrintf_vprintf(fmt, args);
@@ -179,12 +173,12 @@ void mDoPrintf_VReport(const char* fmt, va_list args) {
}
/* 80006A9C-80006ABC 0013DC 0020+00 2/2 0/0 0/0 .text OSVReport */
void OSVReport(const char* fmt, va_list args) {
void OSVReport(char* fmt, va_list args) {
mDoPrintf_VReport(fmt, args);
}
/* 80006ABC-80006B3C 0013FC 0080+00 0/0 97/97 10/10 .text OSReport */
void OSReport(const char* fmt, ...) {
void OSReport(char* fmt, ...) {
va_list args;
va_start(args, fmt);
OSVReport(fmt, args);
@@ -192,7 +186,7 @@ void OSReport(const char* fmt, ...) {
}
/* 80006B3C-80006C0C 00147C 00D0+00 0/0 2/2 0/0 .text OSReport_FatalError */
void OSReport_FatalError(const char* fmt, ...) {
void OSReport_FatalError(char* fmt, ...) {
va_list args;
va_start(args, fmt);
@@ -208,7 +202,7 @@ void OSReport_FatalError(const char* fmt, ...) {
}
/* 80006C0C-80006CEC 00154C 00E0+00 0/0 31/31 10/10 .text OSReport_Error */
void OSReport_Error(const char* fmt, ...) {
void OSReport_Error(char* fmt, ...) {
print_errors++;
if (!data_80450B99) {
va_list args;
@@ -224,7 +218,7 @@ void OSReport_Error(const char* fmt, ...) {
}
/* 80006CEC-80006DCC 00162C 00E0+00 0/0 6/6 0/0 .text OSReport_Warning */
void OSReport_Warning(const char* fmt, ...) {
void OSReport_Warning(char* fmt, ...) {
print_warings++;
if (!data_80450B9A) {
va_list args;
@@ -240,7 +234,7 @@ void OSReport_Warning(const char* fmt, ...) {
}
/* 80006DCC-80006E7C 00170C 00B0+00 0/0 1/1 0/0 .text OSReport_System */
void OSReport_System(const char* fmt, ...) {
void OSReport_System(char* fmt, ...) {
print_systems++;
if (!data_80450B9B) {
va_list args;
@@ -265,7 +259,7 @@ SECTION_DEAD static char const* const stringBase_80373D4C = "0x%08x: 0x%08x
/* 80006E7C-80006FB4 0017BC 0138+00 0/0 9/9 0/0 .text OSPanic */
// loop stuff / ending
#ifdef NONMATCHING
void OSPanic(const char* file, s32 line, const char* fmt, ...) {
void OSPanic(char* file, s32 line, char* fmt, ...) {
OSDisableInterrupts();
va_list args;
@@ -291,7 +285,7 @@ void OSPanic(const char* file, s32 line, const char* fmt, ...) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void OSPanic(const char* file, s32 line, const char* fmt, ...) {
asm void OSPanic(char* file, s32 line, char* fmt, ...) {
nofralloc
#include "asm/m_Do/m_Do_printf/OSPanic.s"
}