big d_a_alink pass (#214)

* d_a_alink pass1 wip

* more d_a_alink work

* remove asm

* more daalink work

* 20% dol code decompiled

* fixed some nonmatchings for building

* a few daalink functions and labeling some HIO data
This commit is contained in:
TakaRikka
2022-12-19 11:06:32 -08:00
committed by GitHub
parent 1114b13da8
commit ca71275bbe
727 changed files with 15610 additions and 33013 deletions
+115 -10
View File
@@ -6,10 +6,10 @@
// Forward References:
//
SECTION_INIT void __check_pad3();
SECTION_INIT void __set_debug_bba();
SECTION_INIT u8 __get_debug_bba();
SECTION_INIT void __start();
SECTION_INIT void __check_pad3(void);
SECTION_INIT void __set_debug_bba(void);
SECTION_INIT u8 __get_debug_bba(void);
SECTION_INIT void __start(void);
//
// External References:
@@ -51,11 +51,116 @@ SECTION_INIT u8 __get_debug_bba(void) {
}
/* 80003154-800032B0 000054 015C+00 0/0 1/0 0/0 .init __start */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
SECTION_INIT asm void __start() {
SECTION_INIT asm void __start(void) {
// clang-format off
nofralloc
#include "asm/init/__start.s"
bl __init_registers
bl __init_hardware
li r0, -1
stwu r1, -8(r1)
stw r0, 4(r1)
stw r0, 0(r1)
bl __init_data
li r0, 0
lis r6, 0x8000
addi r6, r6, 0x0044
stw r0, 0(r6)
lis r6, 0x8000
addi r6, r6, 0x00F4
lwz r6, 0(r6)
cmplwi r6, 0
beq lbl_8000319C
lwz r7, 0xc(r6)
b lbl_800031BC
lbl_8000319C:
lis r5, 0x8000
addi r5, r5, 0x0034
lwz r5, 0(r5)
cmplwi r5, 0
beq lbl_800031F8
lis r7, 0x8000
addi r7, r7, 0x30E8
lwz r7, 0(r7)
lbl_800031BC:
li r5, 0
cmplwi r7, 2
beq lbl_800031E8
cmplwi r7, 3
li r5, 1
beq lbl_800031E8
cmplwi r7, 4
bne lbl_800031F8
li r5, 2
bl __set_debug_bba
b lbl_800031F8
lbl_800031E8:
lis r6, InitMetroTRK@ha
addi r6, r6, InitMetroTRK@l
mtlr r6
blrl
lbl_800031F8:
lis r6, 0x8000
addi r6, r6, 0x00F4
lwz r5, 0(r6)
cmplwi r5, 0
beq+ lbl_80003258
lwz r6, 8(r5)
cmplwi r6, 0
beq+ lbl_80003258
add r6, r5, r6
lwz r14, 0(r6)
cmplwi r14, 0
beq lbl_80003258
addi r15, r6, 4
mtctr r14
lbl_80003230:
addi r6, r6, 4
lwz r7, 0(r6)
add r7, r7, r5
stw r7, 0(r6)
bdnz lbl_80003230
lis r5, 0x8000
addi r5, r5, 0x0034
rlwinm r7, r15, 0, 0, 0x1a
stw r7, 0(r5)
b lbl_80003260
lbl_80003258:
li r14, 0
li r15, 0
lbl_80003260:
bl DBInit
bl OSInit
lis r4, 0x8000
addi r4, r4, 0x30E6
lhz r3, 0(r4)
andi. r5, r3, 0x8000
beq lbl_80003288
andi. r3, r3, 0x7fff
cmplwi r3, 1
bne lbl_8000328C
lbl_80003288:
bl __check_pad3
lbl_8000328C:
bl __get_debug_bba
cmplwi r3, 1
bne lbl_8000329C
bl InitMetroTRK_BBA
lbl_8000329C:
bl __init_user
mr r3, r14
mr r4, r15
bl main
b exit
// clang-format on
}
#pragma pop
+2246 -640
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -37,7 +37,7 @@ f32 daAlink_c::getBombEffScale() const {
/* 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;
return daAlinkHIO_bomb_c0::m.mAttackRadius;
}
/* 800E37E0-800E37F0 0DE120 0010+00 0/0 0/0 1/1 .text getEnemyBombColorR__9daAlink_cCFv
+325 -132
View File
@@ -6,32 +6,23 @@ BOOL daAlink_c::checkBoomerangLockAccept() {
}
/* 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.mFlySpeed2;
speed = daAlinkHIO_boom_c0::m.mChargeFlySpeed;
} else {
speed = daAlinkHIO_boom_c0::m.mFlySpeed;
}
if (i_checkModeFlg(0x400) && mRideAcKeep.getActor() != NULL && mSpeedF > FLOAT_LABEL(lit_6108)) {
speed += mSpeedF;
if (i_checkModeFlg(0x400)) {
fopAc_ac_c* ride_actor = mRideAcKeep.getActor();
if (ride_actor != NULL && ride_actor->mSpeedF > FLOAT_LABEL(lit_6108)) {
speed += ride_actor->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 {
@@ -73,14 +64,13 @@ bool daAlink_c::checkBossBabaRoom() {
/* 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"
void daAlink_c::cancelBoomerangLock(fopAc_ac_c* i_actor) {
daBoomerang_c* boomerang = (daBoomerang_c*)getBoomerangActor();
if (boomerang != NULL) {
boomerang->cancelLockActor(i_actor);
}
}
#pragma pop
/* 800E0210-800E0244 0DAB50 0034+00 2/2 0/0 0/0 .text getBoomerangActor__9daAlink_cFv */
fopAc_ac_c* daAlink_c::getBoomerangActor() {
@@ -111,14 +101,22 @@ bool daAlink_c::checkBoomerangChargeEnd() {
/* 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 BOOL daAlink_c::checkBoomerangCarry(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkBoomerangCarry__9daAlink_cFP10fopAc_ac_c.s"
BOOL daAlink_c::checkBoomerangCarry(fopAc_ac_c* i_grabActor) {
if (i_checkNoResetFlg0(FLG0_UNK_20) && !checkEventRun() && !i_checkWolf() &&
i_checkModeFlg(0x10000000) &&
(checkHorseNoUpperAnime() || checkHorseTurnAnime() || checkBoomerangThrowAnime())) {
deleteEquipItem(0, 0);
seStartOnlyReverb(JA_SE_LK_BOOM_CATCH);
i_offNoResetFlg0(FLG0_UNK_20);
setGrabItemActor(i_grabActor);
field_0x33e4 = lit_8785;
setGrabUpperAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
return 1;
}
return 0;
}
#pragma pop
/* 800E03D0-800E0440 0DAD10 0070+00 6/6 0/0 0/0 .text initBoomerangUpperAnimeSpeed__9daAlink_cFi
*/
@@ -143,26 +141,32 @@ BOOL daAlink_c::checkBoomerangAnime() const {
/* 800E04AC-800E04E8 0DADEC 003C+00 13/13 0/0 0/0 .text checkBoomerangThrowAnime__9daAlink_cCFv */
BOOL daAlink_c::checkBoomerangThrowAnime() const {
return (mEquipItem == BOOMERANG || i_checkNoResetFlg1(FLG1_UNK_2) || mEquipItem == 0x102) && checkUpperAnime(0x53);
return (mEquipItem == BOOMERANG || i_checkNoResetFlg1(FLG1_UNK_2) || mEquipItem == 0x102) &&
checkUpperAnime(0x53);
}
/* 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"
void daAlink_c::setBoomerangReadyQuake() {
f32 tmp_0 = FLOAT_LABEL(lit_6108);
dComIfGp_getVibration().StartQuake(1, 1, cXyz(tmp_0, lit_6040, tmp_0));
i_onNoResetFlg3(FLG3_UNK_4);
field_0x3018 = daAlinkHIO_boom_c0::m.mChargeTime;
}
#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 optimization_level 2
void daAlink_c::setBoomerangReadyAnime() {
f32 var_f31;
if (i_checkAttentionLock()) {
var_f31 = daAlinkHIO_boom_c0::m.mIdleAnmSpeed;
} else {
var_f31 = FLOAT_LABEL(lit_6108);
}
setUpperAnimeBaseSpeed(0x54, var_f31, lit_6109);
setBoomerangReadyQuake();
}
#pragma pop
@@ -177,141 +181,330 @@ void daAlink_c::setBoomerangCatchAnime() {
setUpperAnimeParam(0x52, UPPER_2, &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"
void daAlink_c::throwBoomerang() {
daBoomerang_c* item = (daBoomerang_c*)mItemAcKeep.getActor();
i_onNoResetFlg1(FLG1_UNK_2);
//! @bug `item` pointer is being accessed without checking if NULL first
BOOL boomerang_item = fopAcM_GetName(item) == PROC_BOOMERANG;
if (boomerang_item) {
item->setThrow();
item->current.angle.y = shape_angle.y + field_0x59e;
item->current.angle.x = -mLookAngleY;
if (mTargetedActor != NULL) {
item->setAimActor(mTargetedActor);
}
item->shape_angle.y = shape_angle.y;
mThrowBoomerangAcKeep = mItemAcKeep;
dComIfGp_setPlayerStatus0(0, 0x400000);
daPy_boomerangMove_c::initDropAngleY();
dComIfGp_clearPlayerStatus0(0, 0x80000);
mFastShotTime = -1;
daPy_boomerangMove_c::offEventKeepFlg();
} else {
item->mSpeedF = daAlinkHIO_pickUp_c0::m.field_0x28;
item->mSpeed.y = daAlinkHIO_pickUp_c0::m.field_0x2C;
item->current.angle.y = shape_angle.y;
fopAcM_cancelCarryNow(item);
item = NULL;
mEquipItem = NO_ITEM;
field_0x2f94 = 0xFF;
field_0x2f96 = 0xFE;
}
mItemAcKeep.clearData();
mEquipItem = NO_ITEM;
field_0x2f94 = 0xFF;
field_0x2f96 = 0xFE;
voiceStart(Z2SE_AL_V_ATTACK_S);
if (i_checkModeFlg(MODE_RIDING)) {
if (checkCanoeRide()) {
procCanoeWaitInit(0);
} else {
procHorseWaitInit();
}
} else if (mLinkAcch.ChkGroundHit() && boomerang_item) {
if (mTargetedActor == NULL && item != NULL) {
mTargetedActor = item;
field_0x27f4 = item;
}
if (checkZeroSpeedF()) {
field_0x2f98 = 3;
procAtnActorWaitInit();
} else {
procAtnActorMoveInit();
}
field_0x2060->initOldFrameMorf(FLOAT_LABEL(lit_6108), 0, 35);
}
}
#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"
int daAlink_c::returnBoomerang(int param_0) {
dComIfGp_clearPlayerStatus0(0, 0x400000);
if (mEquipItem == NO_ITEM && !i_checkMagneBootsOn() && mItemAcKeep.getActor() == NULL &&
!checkBoardRide() && !checkBoarRide() && !i_checkWolf() &&
(mProcID != PROC_HANG_READY || field_0x3198 != 3) && (!checkEventRun() || param_0 != 0) &&
(checkNoUpperAnime() || checkPlayerGuard() || checkHorseTurnAnime() ||
checkDashDamageAnime() || checkBoomerangAnime()) &&
!i_checkModeFlg(0x1BD0810)) {
mItemAcKeep = mThrowBoomerangAcKeep;
mThrowBoomerangAcKeep.clearData();
mEquipItem = BOOMERANG;
field_0x2f94 = 2;
i_onNoResetFlg0(FLG0_UNK_20);
f32 tmp_0 = FLOAT_LABEL(lit_6108);
dComIfGp_getVibration().StartShock(1, 1, cXyz(tmp_0, lit_6040, tmp_0));
return 1;
}
mThrowBoomerangAcKeep.clearData();
return 0;
}
#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"
int daAlink_c::checkUpperItemActionBoomerang() {
if (field_0x3018 != 0) {
field_0x3018--;
if (field_0x3018 == 0) {
cancelItemUseQuake(0);
}
}
if (checkReadyItem() && !itemButton() && checkBoomerangReadyAnime()) {
setThrowBoomerangAnime();
return 1;
}
return cancelUpperItemReadyAnime(0);
}
#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"
void daAlink_c::checkUpperItemActionBoomerangFly() {
if (checkBoomerangReadyAnime()) {
checkUpperItemActionBoomerang();
} else if (checkReadyItem() && itemTrigger()) {
setBoomerangReadyAnime();
}
}
#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 optimization_level 2
int daAlink_c::checkNextActionBoomerang() {
if ((checkBoomerangCatchAnime() &&
mUpperFrameCtrl[2].getFrame() <= daAlinkHIO_boom_c0::m.mCatchAnm.mCheckFrame) ||
i_checkNoResetFlg1(FLG1_UNK_2)) {
return 0;
}
if (mFastShotTime != 0) {
mFastShotTime--;
}
if (!checkBoomerangAnime()) {
setBoomerangReadyAnime();
setFastShotTimer();
if (!i_checkAttentionLock()) {
field_0x2fe4 = shape_angle.y;
}
}
if (!i_checkAttentionLock() && mFastShotTime == 0) {
if (i_checkModeFlg(0x400)) {
if (checkCanoeRide()) {
return procCanoeBoomerangSubjectInit();
} else {
return procHorseBoomerangSubjectInit();
}
} else {
return procBoomerangSubjectInit();
}
} else if (i_checkModeFlg(0x400)) {
if (checkCanoeRide()) {
return procCanoeBoomerangMoveInit();
} else {
return procHorseBoomerangMoveInit();
}
} else {
return procBoomerangMoveInit();
}
}
#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"
int daAlink_c::checkBoomerangCatchAction() {
if (i_checkNoResetFlg0(FLG0_UNK_20)) {
if (!checkEventRun() && !i_checkWolf() && i_checkModeFlg(0x10000000)) {
if (checkNoUpperAnime() || checkHorseTurnAnime() || checkBoomerangThrowAnime()) {
if (i_checkModeFlg(0x1) && !i_checkModeFlg(0x400)) {
return procBoomerangCatchInit();
}
setBoomerangCatchAnime();
}
}
i_offNoResetFlg0(FLG0_UNK_20);
}
return 0;
}
#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"
void daAlink_c::setBoomerangSight() {
if (mItemAcKeep.getActor() && !checkBoomerangThrowAnime()) {
BOOL check_line = checkSightLine(getBoomLockMax(), &field_0x37e0);
mSight.setPos(&field_0x37e0);
mSight.onDrawFlg();
daBoomerang_c* boomerang = (daBoomerang_c*)mItemAcKeep.getActor();
if (boomerang->getLockReserve() || (check_line && !boomerang->getLockCntMax())) {
setItemActionButtonStatus(0x10);
itemActionTrigger();
}
}
}
#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"
int daAlink_c::procBoomerangSubjectInit() {
if (!commonProcInitNotSameProc(PROC_BOOMERANG_SUBJECT)) {
return 0;
}
mNormalSpeed = FLOAT_LABEL(lit_6108);
initBoomerangUpperAnimeSpeed(1);
setSingleAnimeBaseSpeed(ANM_ATN_WAIT_RIGHT, FLOAT_LABEL(lit_6108),
daAlinkHIO_boom_c0::m.mStartInterpolation);
dComIfGp_setPlayerStatus0(0, 0x80000);
current.angle.y = shape_angle.y;
return 1;
}
#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"
int daAlink_c::procBoomerangSubject() {
if (!checkItemActorPointer()) {
return 1;
}
if (checkBoomerangReadyAnime()) {
setDoStatus(0x12);
}
setShapeAngleToAtnActor(0);
if (!checkNextAction(0)) {
if (setBodyAngleToCamera()) {
setBoomerangSight();
}
} else {
mSight.offDrawFlg();
}
return 1;
}
#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"
int daAlink_c::procBoomerangMoveInit() {
if (!commonProcInitNotSameProc(PROC_BOOMERANG_MOVE)) {
return 0;
}
if (checkZeroSpeedF()) {
onModeFlg(1);
}
initBoomerangUpperAnimeSpeed(0);
setBlendAtnMoveAnime(daAlinkHIO_boom_c0::m.mStartInterpolation);
dComIfGp_setPlayerStatus0(0, 0x80000);
return 1;
}
#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"
int daAlink_c::procBoomerangMove() {
if (!checkItemActorPointer()) {
return 1;
}
if (!checkNextAction(0)) {
f32 var_f31 = lit_6041;
if (checkZeroSpeedF()) {
onModeFlg(1);
if (field_0x2f98 != 3) {
field_0x2f98 = 3;
var_f31 = daAlinkHIO_basic_c0::m.mAnmBlendFactor;
}
} else {
offModeFlg(1);
daBoomerang_c* boomerang = (daBoomerang_c*)mItemAcKeep.getActor();
if (boomerang != NULL) {
boomerang->onLockDistanceCancel();
}
}
setBlendAtnMoveAnime(var_f31);
setBodyAngleXReadyAnime(0);
}
return 1;
}
#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"
int daAlink_c::procBoomerangCatchInit() {
if (!commonProcInitNotSameProc(PROC_BOOMERANG_CATCH)) {
return 0;
}
setSingleAnimeParam(ANM_BOOMERANG_CATCH, &daAlinkHIO_boom_c0::m.mCatchAnm);
setBoomerangCatchAnime();
i_offNoResetFlg0(FLG0_UNK_20);
return 1;
}
#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
int daAlink_c::procBoomerangCatch() {
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
i_onEndResetFlg0(ERFLG0_UNK_8000000);
if (frameCtrl->getFrame() > daAlinkHIO_boom_c0::m.mCatchAnm.mCheckFrame) {
onModeFlg(4);
}
if (frameCtrl->checkAnmEnd()) {
resetUpperAnime(UPPER_2, lit_6041);
checkNextAction(0);
} else {
checkNextAction(1);
}
return 1;
}
+234 -68
View File
@@ -1,43 +1,41 @@
/* 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"
int daAlink_c::bottleModelCallBack() {
if (mItemMode != 0) {
mDoMtx_stack_c::copy(mpLinkModel->i_getAnmMtx(field_0x30c2));
mDoMtx_stack_c::transM(lit_14616, lit_6041, lit_16570);
mDoMtx_stack_c::XYZrotM(cM_deg2s(102.0f), cM_deg2s(-0.5f), cM_deg2s(-122.0f));
mDoMtx_copy(mDoMtx_stack_c::get(), mHeldItemModel->i_getAnmMtx(1));
}
return 1;
}
#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"
static int daAlink_bottleModelCallBack(J3DJoint* i_joint, int param_1) {
daAlink_c* link = (daAlink_c*)j3dSys.getModel()->getUserArea();
if (param_1 == 0) {
link->bottleModelCallBack();
}
return 1;
}
#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"
s32 daAlink_c::getBottleOpenAppearItem() const {
if (mProcID == PROC_BOTTLE_OPEN) {
return mEquipItem;
}
return -1;
}
#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"
BOOL daAlink_c::checkOilBottleItemNotGet(u16 i_itemNo) {
return mProcID != PROC_BOTTLE_GET && mProcID != PROC_BOTTLE_SWING &&
checkOilBottleItem(i_itemNo);
}
#pragma pop
/* 8010E5D8-8010EAC4 108F18 04EC+00 7/7 0/0 0/0 .text setBottleModel__9daAlink_cFUs */
#pragma push
@@ -53,59 +51,154 @@ asm void daAlink_c::setBottleModel(u16 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::commonBottleDrink(int param_0) {
asm int 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"
fopAc_ac_c* daAlink_c::makeFairy(cXyz* i_pos, u32 i_params) {
cXyz fairy_pos;
if (i_checkModeFlg(0x40000)) {
fairy_pos = *i_pos;
if (i_checkWolf()) {
fairy_pos.y -= lit_8247;
} else {
fairy_pos.y -= lit_6896;
}
i_pos = &fairy_pos;
}
fopAc_ac_c* fairy_actor =
(fopAc_ac_c*)fopAcM_fastCreate(PROC_Obj_Yousei, i_params, i_pos, fopAcM_GetRoomNo(this),
&shape_angle, NULL, -1, NULL, NULL);
field_0x285c.setData(fairy_actor);
i_onResetFlg0(RFLG0_UNK_400);
if (checkEventRun() && field_0x285c.getActor() != NULL) {
fopAcM_OnStatus(field_0x285c.getActor(), 0x800);
}
return field_0x285c.getActor();
}
#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"
int daAlink_c::procBottleDrinkInit(u16 param_0) {
if (mDemo.getDemoMode() == 0x2A) {
if (mProcID == PROC_BOTTLE_DRINK) {
return 1;
}
} else {
if (!dComIfGp_event_compulsory(this, 0, 0xFFFF)) {
return 0;
}
mDemo.i_setSpecialDemoType();
}
commonProcInit(PROC_BOTTLE_DRINK);
current.angle.y = shape_angle.y;
mNormalSpeed = FLOAT_LABEL(lit_6108);
field_0x2f98 = 4;
setSingleAnimeParam(ANM_BOTTLE_DRINK_START, &daAlinkHIO_bottle_c0::m.mStartDrinkAnm);
keepItemData();
setBottleModel(param_0);
dComIfGp_setPlayerStatus1(0, 0x2000);
field_0x3194 = 1;
field_0x3008 = 0;
u32 id = fopAcM_GetID(this);
dCam_getBody()->StartEventCamera(0x12, id, "Type", 1, &field_0x3194, 0);
mCommonCounter = 0;
field_0x300e = 0;
return 1;
}
#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"
int daAlink_c::procBottleDrink() {
if (field_0x300e != 0) {
dComIfGp_evmng_cutEnd(field_0x3184);
} else {
field_0x300e = commonBottleDrink(0);
}
return 1;
}
#pragma pop
/* 8010F6F4-8010F8E4 10A034 01F0+00 1/1 0/0 0/0 .text procBottleOpenInit__9daAlink_cFUs
*/
// literals
#ifdef NONMATCHING
int daAlink_c::procBottleOpenInit(u16 param_0) {
if (!dComIfGp_event_compulsory(this, 0, 0xFFFF)) {
return 0;
}
mDemo.i_setSpecialDemoType();
commonProcInit(PROC_BOTTLE_OPEN);
current.angle.y = shape_angle.y;
mNormalSpeed = FLOAT_LABEL(lit_6108);
field_0x2f98 = 4;
setSingleAnimeParam(ANM_BOTTLE_OPEN, &daAlinkHIO_bottle_c0::m.mOpenBottleAnm);
keepItemData();
setBottleModel(param_0);
dComIfGp_setPlayerStatus1(0, 0x4000);
field_0x300a = 0;
field_0x32cc = -1;
field_0x3008 = 1;
if (mEquipItem == FAIRY) {
field_0x3194 = 3;
} else {
field_0x3194 = 2;
if (mEquipItem == WORM) {
field_0x32cc = fopAcM_create(PROC_NPC_WORM, 2, &current.pos, fopAcM_GetRoomNo(this),
NULL, NULL, -1);
field_0x3008 = 0;
field_0x300a = 1;
}
}
field_0x300e = 0;
u32 id = fopAcM_GetID(this);
dCam_getBody()->StartEventCamera(0x12, id, "Type", 1, &field_0x3194, 0);
mCommonCounter = 0;
field_0x27c8.initialize();
if (param_0 == 0x67) {
setCylAtParam(0x200, 0, 0, 0, 0, 30.0f, 30.0f);
}
field_0x3010 = 0;
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBottleOpenInit(u16 param_0) {
asm int daAlink_c::procBottleOpenInit(u16 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procBottleOpenInit__9daAlink_cFUs.s"
}
#pragma pop
#endif
/* 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() {
asm int daAlink_c::procBottleOpen() {
nofralloc
#include "asm/d/a/d_a_alink/procBottleOpen__9daAlink_cFv.s"
}
@@ -116,7 +209,7 @@ asm void daAlink_c::procBottleOpen() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBottleSwingInit(fopAc_ac_c* param_0, int param_1) {
asm int 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"
}
@@ -126,31 +219,104 @@ asm void daAlink_c::procBottleSwingInit(fopAc_ac_c* param_0, int param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBottleSwing() {
asm int 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"
int daAlink_c::procBottleGetInit(int param_0) {
BOOL proc_pickup = mProcID == PROC_PICK_UP;
commonProcInit(PROC_BOTTLE_GET);
int var_r30;
if (mEquipItem == KANTERA) {
setSingleAnime(ANM_BOTTLE_GET, daAlinkHIO_bottle_c0::m.mGetAnm.mSpeed, lit_11442,
daAlinkHIO_bottle_c0::m.mGetAnm.mEndFrame,
daAlinkHIO_bottle_c0::m.mGetAnm.mInterpolation);
field_0x2f93 = 0xFE;
if (proc_pickup) {
execItemGet(KANTERA);
var_r30 = 0xF8;
dComIfGp_setItemOilCount(-dComIfGs_getMaxOil());
} else {
dComIfGp_setItemOilCount(dComIfGs_getMaxOil());
if (param_0) {
var_r30 = 0x9C;
} else {
var_r30 = 0x6E;
}
}
setGetSubBgm(var_r30);
} else {
setSingleAnimeParam(ANM_BOTTLE_GET, &daAlinkHIO_bottle_c0::m.mGetAnm);
var_r30 = mEquipItem;
}
dComIfGp_setPlayerStatus1(0, 0x4001000);
mMsgClassID = -1;
field_0x3194 = 0;
field_0x32cc = var_r30 + 0x65;
if (mEquipItem == KANTERA) {
field_0x3194 = 12;
}
if (mEquipItem == KANTERA) {
resetBasAnime();
}
u32 id = fopAcM_GetID(this);
dCam_getBody()->StartEventCamera(0x12, id, "Type", 1, &field_0x3194, 0);
if (mEquipItem == FAIRY_DROP || mEquipItem == CHUCHU_RARE || mEquipItem == WORM) {
setFaceBasicTexture(FTANM_UNK_48);
setFaceBasicBck(0x143);
} else if (mEquipItem == UGLY_SOUP) {
setFaceBasicBck(0x146);
}
// event flag 0x4A40: Ordon Day 1 completed
if (mEquipItem == BEE_CHILD && i_dComIfGs_isEventBit(0x4A40)) {
dComIfGs_onEventBit(0x4C80); // event flag 0x4C80: Collected Bee Larva on Ordon Day 2
}
return 1;
}
#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"
int daAlink_c::procBottleGet() {
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
simpleAnmPlay(field_0x0718);
if (frameCtrl->checkAnmEnd() && checkEndMessage(field_0x32cc)) {
resetFairyEffect();
if (mEquipItem != KANTERA) {
deleteEquipItem(0, 0);
}
resetSpecialEvent();
} else if (frameCtrl->getFrame() >= lit_8369) {
field_0x2f93 = 0xFE;
} else if (frameCtrl->getFrame() >= lit_14954) {
mItemMode = 0;
} else if (frameCtrl->getFrame() >= lit_7808) {
mHeldItemModel->getModelData()->getMaterialNodePointer(0)->getShape()->show();
field_0x2f93 = 5;
mItemMode = 1;
}
if (frameCtrl->checkPass(lit_8779)) {
setGetSubBgm(mEquipItem);
}
return 1;
}
#pragma pop
/* 80110648-80110654 10AF88 000C+00 0/0 1/0 0/0 .text Insect_Release__9dInsect_cFv */
#pragma push
+259 -187
View File
@@ -1,146 +1,154 @@
#include "rel/d/a/d_a_arrow/d_a_arrow.h"
/* 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"
void daAlink_c::getArrowFlyData(f32* o_distance, f32* o_speed, int i_forceCharge) const {
if (mEquipItem == PACHINKO) {
*o_distance = daAlinkHIO_bow_c0::m.mSlingshotDistance;
*o_speed = daAlinkHIO_bow_c0::m.mSlingshotSpeed;
} else if (i_dComIfGp_checkPlayerStatus0(0, 0x200000)) {
*o_distance = daAlinkHIO_bow_c0::m.mScopeArrowDistance;
*o_speed = daAlinkHIO_bow_c0::m.mScopeArrowSpeed;
} else if (field_0x301c == 0 || i_forceCharge) {
if (field_0x301e == 1) {
*o_distance = daAlinkHIO_bow_c0::m.mChargeBombArrowDistance;
*o_speed = daAlinkHIO_bow_c0::m.mChargeBombArrowSpeed;
} else {
*o_distance = daAlinkHIO_bow_c0::m.mChargeArrowDistance;
*o_speed = daAlinkHIO_bow_c0::m.mChargeArrowSpeed;
}
} else if (field_0x301e == 1) {
*o_distance = daAlinkHIO_bow_c0::m.mBombArrowDistance;
*o_speed = daAlinkHIO_bow_c0::m.mBombArrowSpeed;
} else {
*o_distance = daAlinkHIO_bow_c0::m.mArrowDistance;
*o_speed = daAlinkHIO_bow_c0::m.mArrowSpeed;
}
}
#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"
f32 daAlink_c::getArrowIncAtR() const {
return daAlinkHIO_bow_c0::m.mArrowAttackRadius;
}
#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"
s16 daAlink_c::getBombArrowFlyExplodeTime() const {
return daAlinkHIO_bow_c0::m.mBombArrowFlyExplodeTime;
}
#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"
f32 daAlink_c::getArrowIncAtMaxStart() const {
return daAlinkHIO_bow_c0::m.mArrowIncAttackMaxStart;
}
#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"
f32 daAlink_c::getArrowIncAtMax() const {
return daAlinkHIO_bow_c0::m.mArrowIncAttackMax;
}
#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"
BOOL daAlink_c::checkBowAndSlingItem(int i_itemNo) {
return checkBowItem(i_itemNo) || i_itemNo == PACHINKO;
}
#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"
void daAlink_c::setSlingModel() {
J3DAnmTransform* bck = (J3DAnmTransform*)mAnmHeap9.loadDataIdx(0x1F9);
JKRHeap* heap = setItemHeap();
J3DModelData* model_data = loadAramBmd(0x319, 0x2C00);
mHeldItemModel = initModel(model_data, 0);
field_0x730.init(bck, 0, 2, lit_6040, 0, -1, false);
mDoExt_setCurrentHeap(heap);
field_0x2f95 = 5;
field_0x2f94 = 103;
}
#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"
cXyz* daAlink_c::checkBowCameraArrowPosP(s16* param_0, s16* param_1) {
if (!checkBowAnime() || mEquipItem == PACHINKO) {
return NULL;
}
s16 var_28;
if (checkHorseRide() && i_checkBoarSingleBattle() && i_dComIfGp_getHorseActor() != NULL) {
var_28 = i_dComIfGp_getHorseActor()->shape_angle.y;
} else if (i_checkMagneBootsOn()) {
var_28 = field_0x3118;
} else {
var_28 = shape_angle.y;
}
var_28 += field_0x59e;
mDoMtx_stack_c::transS(field_0x3834);
concatMagneBootMtx();
mDoMtx_stack_c::ZXYrotM(mLookAngleY, var_28, 0);
mDoMtx_stack_c::multVec(&localPos, &field_0x37e0);
*param_0 = mLookAngleY;
*param_1 = var_28;
return &field_0x37e0;
}
#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"
bool daAlink_c::checkArrowChargeEnd() const {
return checkBowChargeWaitAnime() && field_0x301c == 0;
}
#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"
BOOL daAlink_c::checkBowReadyAnime() const {
return checkBowReloadAnime() || checkBowChargeWaitAnime() || checkBowWaitAnime();
}
#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"
BOOL daAlink_c::checkBowAnime() const {
return checkBowReadyAnime() || checkBowShootAnime();
}
#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"
void daAlink_c::makeArrow() {
if (dComIfGs_getArrowNum() != 0) {
if (field_0x301e == 1 && dComIfGp_getSelectItemNum(mSelectItemId) == 0) {
field_0x301e = 0;
}
fopAc_ac_c* arrow_actor = daArrow_c::makeArrow(this, field_0x301e);
mItemAcKeep.setData(arrow_actor);
}
field_0x3018 = 0;
}
#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"
void daAlink_c::deleteArrow() {
daArrow_c* arrow = (daArrow_c*)mItemAcKeep.getActor();
if (arrow != NULL && fopAcM_GetName(arrow) == PROC_ARROW) {
if (arrow->checkBombArrow() &&
(mDamageTimer == daAlinkHIO_damage_c0::m.mInvincibleTime || i_checkModeFlg(8))) {
arrow->setBombArrowExplode();
dComIfGp_addSelectItemNum(mSelectItemId, -1);
dComIfGp_setItemArrowNumCount(-1);
} else {
fopAcM_delete(arrow);
}
mItemAcKeep.clearData();
}
}
#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"
void daAlink_c::setBowOrSlingStatus() {
if (mEquipItem == PACHINKO) {
dComIfGp_setPlayerStatus0(0, 0x40);
} else {
dComIfGp_setPlayerStatus0(0, 0x1000);
}
}
#pragma pop
/* 800DEBC8-800DED88 0D9508 01C0+00 1/1 0/0 0/0 .text changeArrowType__9daAlink_cFv */
#pragma push
@@ -154,43 +162,77 @@ asm void daAlink_c::changeArrowType() {
/* 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 optimization_level 2
BOOL daAlink_c::cancelBowMoveRideNotAtn() {
return i_checkModeFlg(0x400) && i_checkAttentionLock() && mTargetedActor == NULL;
}
#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 optimization_level 2
BOOL daAlink_c::cancelBowMove() {
if (mTargetedActor == NULL && !i_checkAttentionLock() && mFastShotTime == 0 &&
!checkBowReadyAnime() && (!checkBowShootAnime() || mUpperFrameCtrl[2].checkAnmEnd())) {
resetUpperAnime(UPPER_2, lit_6041);
return true;
}
return false;
}
#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"
void daAlink_c::setBowReadyAnime() {
if (!checkBowAnime()) {
if (mEquipItem == BOMB_ARROW) {
if (dComIfGp_getSelectItemNum(mSelectItemId) != 0) {
field_0x301e = 1;
} else {
field_0x301e = 0;
}
} else {
field_0x301e = 0;
}
}
setUpperAnimeBase(0xD);
if (i_checkResetFlg0(RFLG0_UNK_80)) {
mItemMode = 0;
} else {
mItemMode = 3;
}
field_0x2f97 = 5;
field_0x2f96 = 4;
if (mEquipItem == PACHINKO) {
changeItemBck(0x1F1, lit_6041);
} else {
changeItemBck(0x43, lit_6041);
}
}
#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"
void daAlink_c::setBowReloadAnime() {
setUpperAnimeParam(9, UPPER_2, &daAlinkHIO_bow_c0::m.mLoadAnm);
setFacePriTexture(FTANM_UNK_8);
setFacePriBck(0xE5);
if (mEquipItem == PACHINKO) {
changeItemBck(0x1F0, daAlinkHIO_bow_c0::m.mLoadAnm.mStartFrame);
field_0x2f97 = 5;
seStartOnlyReverb(Z2SE_AL_PACHINKO_DRAW);
} else {
changeItemBck(0x41, daAlinkHIO_bow_c0::m.mLoadAnm.mStartFrame);
field_0x2f97 = 7;
seStartOnlyReverb(Z2SE_AL_DRAW_BOW);
}
field_0x2f96 = 0;
field_0x301c = daAlinkHIO_bow_c0::m.mChargeArrowTime;
}
#pragma pop
/* 800DF0BC-800DF798 0D99FC 06DC+00 2/2 0/0 0/0 .text checkUpperItemActionBow__9daAlink_cFv */
#pragma push
@@ -203,20 +245,21 @@ asm void daAlink_c::checkUpperItemActionBow() {
#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"
void daAlink_c::checkUpperItemActionBowFly() {
if (checkBowAnime()) {
checkUpperItemActionBow();
setBodyAngleXReadyAnime(0);
} else if (checkReadyItem() && itemTrigger()) {
setBowReadyAnime();
mItemMode = 0;
}
}
#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() {
asm int daAlink_c::checkNextActionBow() {
nofralloc
#include "asm/d/a/d_a_alink/checkNextActionBow__9daAlink_cFv.s"
}
@@ -234,81 +277,110 @@ asm void daAlink_c::setBowModel() {
/* 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"
bool daAlink_c::checkBowGrabLeftHand() const {
return i_checkReinRide() && !checkBowAnime();
}
#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"
void daAlink_c::setBowHangAnime() {
if (checkBowItem(mEquipItem)) {
changeItemBck(0x58, FLOAT_LABEL(lit_6108));
}
}
#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"
void daAlink_c::setBowNormalAnime() {
if (checkBowItem(mEquipItem)) {
changeItemBck(0x59, lit_6041);
} else if (mEquipItem == PACHINKO) {
changeItemBck(0x1F9, lit_6041);
}
}
#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"
void daAlink_c::setBowSight() {
if (checkBowChargeWaitAnime() && !i_dComIfGp_checkPlayerStatus0(0, 0x200000)) {
cXyz sight_pos;
f32 dist;
f32 speed;
getArrowFlyData(&dist, &speed, TRUE);
checkSightLine(dist, &sight_pos);
mSight.setPos(&sight_pos);
mSight.offDrawFlg();
} else {
mSight.offDrawFlg();
}
}
#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"
int daAlink_c::procBowSubjectInit() {
if (!commonProcInitNotSameProc(PROC_BOW_SUBJECT)) {
return 0;
}
setSingleAnimeBaseSpeed(ANM_ATN_WAIT_RIGHT, FLOAT_LABEL(lit_6108),
daAlinkHIO_bow_c0::m.mStartInterpolation);
mNormalSpeed = FLOAT_LABEL(lit_6108);
setBowOrSlingStatus();
return 1;
}
#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"
int daAlink_c::procBowSubject() {
setDoStatus(0x12);
if (!checkNextAction(0) && setBodyAngleToCamera()) {
setBowSight();
}
return 1;
}
#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"
int daAlink_c::procBowMoveInit() {
if (!commonProcInitNotSameProc(PROC_BOW_MOVE)) {
return 0;
}
if (checkZeroSpeedF()) {
onModeFlg(1);
}
setBlendAtnMoveAnime(daAlinkHIO_bow_c0::m.mStartInterpolation);
mCommonCounter = 0;
setBowOrSlingStatus();
return 1;
}
#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
int daAlink_c::procBowMove() {
cancelBowMove();
if (mFastShotTime == 0 && mCommonCounter != 0 && checkBowWaitAnime() && !itemButton()) {
resetUpperAnime(UPPER_2, lit_6041);
}
mCommonCounter = 1;
i_onEndResetFlg0(ERFLG0_UNK_8000000);
if (!checkNextAction(0)) {
f32 var_f31 = lit_6041;
if (checkZeroSpeedF()) {
onModeFlg(1);
if (field_0x2f98 != 3) {
field_0x2f98 = 3;
var_f31 = daAlinkHIO_basic_c0::m.mAnmBlendFactor;
}
current.angle.y = shape_angle.y - 0x4000;
} else {
offModeFlg(1);
}
setBlendAtnMoveAnime(var_f31);
setBodyAngleXReadyAnime(0);
}
return 1;
}
+286 -206
View File
@@ -1,179 +1,161 @@
#include "rel/d/a/d_a_canoe/d_a_canoe.h"
/* 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"
f32 daAlink_c::getCanoeMaxSpeed() const {
if (checkCanoeSlider()) {
return daAlinkHIO_canoe_c0::m.field_0x3C;
}
return daAlinkHIO_canoe_c0::m.field_0x24;
}
#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"
f32 daAlink_c::getCanoeBackMaxSpeed() const {
return daAlinkHIO_canoe_c0::m.mBackMaxSpeed;
}
#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"
f32 daAlink_c::getCanoeCres() const {
if (checkCanoeSlider()) {
return daAlinkHIO_canoe_c0::m.field_0x44;
}
return daAlinkHIO_canoe_c0::m.field_0x28;
}
#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"
f32 daAlink_c::getCanoeSpeedRate() const {
if (checkCanoeSlider()) {
return daAlinkHIO_canoe_c0::m.field_0x40;
}
return daAlinkHIO_canoe_c0::m.field_0x20;
}
#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 {
asm s16 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"
cXyz* daAlink_c::getCanoeLocalPaddleTop() {
return (cXyz*)&localPaddleTop;
}
#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"
static fopAc_ac_c* daAlink_searchCanoe(fopAc_ac_c* param_0, void* param_1) {
if (fopAcM_GetName(param_0) == PROC_CANOE &&
static_cast<daCanoe_c*>(param_0)->getModel() != NULL) {
return param_0;
}
return NULL;
}
#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"
BOOL daAlink_c::checkCanoeRideTandem() {
daCanoe_c* canoe = (daCanoe_c*)mRideAcKeep.getActor();
if (checkCanoeRide() && canoe != NULL && canoe->checkTandem()) {
return true;
}
return false;
}
#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 BOOL daAlink_c::checkFishingRodAndLureItem() const {
nofralloc
#include "asm/d/a/d_a_alink/checkFishingRodAndLureItem__9daAlink_cCFv.s"
BOOL daAlink_c::checkFishingRodAndLureItem() const {
return checkFisingRodLure() || checkFishingRodItem(mEquipItem);
}
#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"
void daAlink_c::initFishingRodHand() {
field_0x2f94 = 0x65;
field_0x2f95 = 0x65;
field_0x3018 = 1;
if (mEquipItem == JEWEL_WORM_ROD || mEquipItem == WORM_ROD) {
mItemMode = 0x74;
} else if (mEquipItem == JEWEL_BEE_ROD || mEquipItem == BEE_ROD) {
mItemMode = 0x76;
} else {
mItemMode = 0xFF;
}
}
#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"
MtxP daAlink_c::getCanoePaddleMatrix() {
mDoMtx_stack_c::copy(getRightItemMatrix());
f32 tmp_0 = FLOAT_LABEL(lit_6108);
mDoMtx_stack_c::transM(tmp_0, tmp_0, lit_5944);
return mDoMtx_stack_c::get();
}
#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"
BOOL daAlink_c::checkFishingRodGrab(fopAc_ac_c* param_0) const {
return checkFishingRodAndLureItem() && mItemAcKeep.getID() == fopAcM_GetID(param_0);
}
#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"
BOOL daAlink_c::checkCanoePaddleGrab(fopAc_ac_c* param_0) const {
return mEquipItem == 0x10B && checkCanoeRideOwn(param_0);
}
#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"
BOOL daAlink_c::checkCanoeFishingRodGrabOrPut() const {
return checkFisingRodLure() && checkCanoeRide() &&
(checkEquipAnime() || mProcID == PROC_CANOE_PADDLE_PUT ||
mProcID == PROC_CANOE_PADDLE_GRAB || mProcID == PROC_CANOE_ROD_GRAB);
}
#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"
void daAlink_c::initCanoeRide() {
field_0x3012 = 1;
field_0x3588 = l_waitBaseAnime;
field_0x384c = (cXyz*)&l_canoeBaseAnime;
mRideStatus = 3;
field_0x3010 = 0;
}
#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"
BOOL daAlink_c::checkCanoeJumpRide() {
daCanoe_c* canoe = NULL;
if (field_0x850[0].ChkCoHit()) {
canoe = (daCanoe_c*)field_0x850[0].GetCoHitAc();
} else if (field_0x850[1].ChkCoHit()) {
canoe = (daCanoe_c*)field_0x850[1].GetCoHitAc();
}
if (mSpeed.y < FLOAT_LABEL(lit_6108) && canoe != NULL && fopAcM_GetName(canoe) == PROC_CANOE &&
canoe->checkJumpRideFlg() && !checkDeadHP() &&
(mProcID != PROC_FALL || field_0x3010 != 0)) {
return procCanoeJumpRideInit(canoe);
}
return 0;
}
#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"
void daAlink_c::setArmReelAnime() {
setUpperAnimeBaseSpeed(0x1FB, lit_6040, lit_6041);
mUpperFrameCtrl[2].setRate(FLOAT_LABEL(lit_6108));
mNowAnmPackUpper[2].setRatio(lit_6040);
field_0x2f97 = 8;
i_offNoResetFlg1(FLG1_UNK_8000);
}
#pragma pop
/* 800F4140-800F4490 0EEA80 0350+00 1/1 0/0 0/0 .text setFishingWaitAction__9daAlink_cFv
*/
@@ -187,25 +169,34 @@ asm void daAlink_c::setFishingWaitAction() {
#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"
void daAlink_c::setFishGetFace() {
if (field_0x2fc8 == 1) {
setFacePriBck(0x140);
} else if (field_0x2fc8 == 2) {
setFacePriTexture(FTANM_UNK_7A);
setFacePriBck(0x143);
} else if (field_0x2fc8 == 3) {
setFacePriTexture(FTANM_UNK_7B);
setFacePriBck(0x146);
} else if (field_0x2fc8 == 4) {
setFacePriTexture(FTANM_UNK_7C);
setFacePriBck(0x149);
} else {
resetFacePriAnime();
}
}
#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"
void daAlink_c::setRideCanoeBasePos(fopAc_ac_c* param_0) {
field_0x37c8.x = FLOAT_LABEL(lit_6108);
field_0x37c8.y = lit_5944;
field_0x37c8.z = lit_20823;
if (static_cast<daCanoe_c*>(param_0)->checkTandem()) {
field_0x37c8.z += lit_20824;
}
}
#pragma pop
/* 800F459C-800F47D8 0EEEDC 023C+00 20/20 0/0 0/0 .text setSyncCanoePos__9daAlink_cFv */
#pragma push
@@ -228,62 +219,151 @@ asm void daAlink_c::canoeCommon() {
#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"
int daAlink_c::checkNextActionCanoe() {
if ((!checkFishingRodAndLureItem() || mItemAcKeep.getActor() == NULL ||
static_cast<dmg_rod_class*>(mItemAcKeep.getActor())->checkRodEquipPermission()) &&
checkNextActionFromButton()) {
return 1;
}
if (checkBowAnime()) {
return checkNextActionBow();
} else if (checkBoomerangAnimeAndReturnWait()) {
return checkNextActionBoomerang();
} else if (checkHookshotAnime()) {
return checkNextActionHookshot();
} else if (checkGrabAnimeAndThrow()) {
return procCanoeGrabMoveInit();
} else if (checkCanoeFishingWaitAnime()) {
return procCanoeFishingWaitInit();
} else {
return procCanoeWaitInit(0);
}
}
#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"
int daAlink_c::procCanoeRideInit() {
commonProcInit(PROC_CANOE_RIDE);
setHeavyBoots(0);
mRideAcKeep.setData(field_0x27f4);
deleteEquipItem(0, 0);
daCanoe_c* canoe = (daCanoe_c*)field_0x27f4;
setSingleAnime(ANM_HANG_CLIMB_TOP, daAlinkHIO_wallCatch_c0::m.mClimbAnm.mSpeed,
daAlinkHIO_wallCatch_c0::m.mClimbStartFrame,
daAlinkHIO_wallCatch_c0::m.mClimbAnm.mEndFrame,
daAlinkHIO_wallCatch_c0::m.mClimbAnm.mInterpolation);
setSpecialGravity(FLOAT_LABEL(lit_6108), mMaxFallSpeed, 0);
f32 tmp_0 = FLOAT_LABEL(lit_6108);
mNormalSpeed = tmp_0;
mSpeed.y = tmp_0;
setRideCanoeBasePos(canoe);
if ((s16)(fopAcM_searchActorAngleY(canoe, this) - canoe->shape_angle.y) > 0) {
shape_angle.y = canoe->shape_angle.y - 0x4000;
field_0x3008 = 0;
field_0x37c8.x = lit_20991;
} else {
shape_angle.y = canoe->shape_angle.y + 0x4000;
field_0x3008 = 1;
field_0x37c8.x = lit_20992;
}
mDoMtx_multVec(canoe->getModelMtx(), &field_0x37c8, &current.pos);
current.angle.y = shape_angle.y;
initCanoeRide();
field_0x300e = 0x80;
swimOutAfter(1);
return 1;
}
#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"
int daAlink_c::procCanoeRide() {
daCanoe_c* canoe = (daCanoe_c*)mRideAcKeep.getActor();
if (canoe == NULL) {
return checkNextAction(0);
}
mDoMtx_multVec(canoe->getModelMtx(), &field_0x37c8, &current.pos);
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
if (frameCtrl->checkAnmEnd()) {
procCanoeWaitInit(1);
} else if (frameCtrl->getFrame() < lit_7710) {
field_0x300e += 0x180;
if (field_0x3008 == 0) {
canoe->incShapeAngleZ(-field_0x300e);
} else {
canoe->incShapeAngleZ(field_0x300e);
}
canoe->incShapeOffsetY(lit_21021);
}
return 1;
}
#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"
int daAlink_c::procCanoeJumpRideInit(fopAc_ac_c* param_0) {
BOOL var_r31;
daCanoe_c* canoe = (daCanoe_c*)param_0;
commonProcInit(PROC_CANOE_JUMP_RIDE);
if (canoe == NULL) {
canoe = (daCanoe_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchCanoe, NULL);
var_r31 = true;
} else {
var_r31 = false;
}
setHeavyBoots(0);
setSingleAnimeParam(ANM_JUMP_LAND, &daAlinkHIO_autoJump_c0::m.mLandAnm);
deleteEquipItem(0, 0);
mRideAcKeep.setData(canoe);
setSpecialGravity(FLOAT_LABEL(lit_6108), mMaxFallSpeed, 0);
f32 tmp_0 = FLOAT_LABEL(lit_6108);
mNormalSpeed = tmp_0;
mSpeed.y = tmp_0;
setRideCanoeBasePos(canoe);
mDoMtx_multVec(canoe->getModelMtx(), &field_0x37c8, &current.pos);
current.angle.y = shape_angle.y;
initCanoeRide();
if (var_r31) {
procCanoeWaitInit(2);
}
return 1;
}
#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"
int daAlink_c::procCanoeJumpRide() {
daCanoe_c* canoe = (daCanoe_c*)mRideAcKeep.getActor();
if (canoe == NULL) {
return checkNextAction(0);
}
mDoMtx_multVec(canoe->getModelMtx(), &field_0x37c8, &current.pos);
if (mUnderFrameCtrl[0].checkAnmEnd()) {
procCanoeWaitInit(1);
}
return 1;
}
#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() {
asm int daAlink_c::procCanoeGetOffInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeGetOffInit__9daAlink_cFv.s"
}
@@ -293,7 +373,7 @@ asm void daAlink_c::procCanoeGetOffInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeGetOff() {
asm int daAlink_c::procCanoeGetOff() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeGetOff__9daAlink_cFv.s"
}
@@ -304,7 +384,7 @@ asm void daAlink_c::procCanoeGetOff() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeWaitInit(int param_0) {
asm int daAlink_c::procCanoeWaitInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeWaitInit__9daAlink_cFi.s"
}
@@ -314,7 +394,7 @@ asm void daAlink_c::procCanoeWaitInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeWait() {
asm int daAlink_c::procCanoeWait() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeWait__9daAlink_cFv.s"
}
@@ -324,7 +404,7 @@ asm void daAlink_c::procCanoeWait() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeRowInit(int param_0) {
asm int daAlink_c::procCanoeRowInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeRowInit__9daAlink_cFi.s"
}
@@ -334,7 +414,7 @@ asm void daAlink_c::procCanoeRowInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeRow() {
asm int daAlink_c::procCanoeRow() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeRow__9daAlink_cFv.s"
}
@@ -344,7 +424,7 @@ asm void daAlink_c::procCanoeRow() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoePaddleShiftInit(int param_0) {
asm int daAlink_c::procCanoePaddleShiftInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCanoePaddleShiftInit__9daAlink_cFi.s"
}
@@ -355,7 +435,7 @@ asm void daAlink_c::procCanoePaddleShiftInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoePaddleShift() {
asm int daAlink_c::procCanoePaddleShift() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoePaddleShift__9daAlink_cFv.s"
}
@@ -365,7 +445,7 @@ asm void daAlink_c::procCanoePaddleShift() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoePaddlePutInit(int param_0) {
asm int daAlink_c::procCanoePaddlePutInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCanoePaddlePutInit__9daAlink_cFi.s"
}
@@ -375,7 +455,7 @@ asm void daAlink_c::procCanoePaddlePutInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoePaddlePut() {
asm int daAlink_c::procCanoePaddlePut() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoePaddlePut__9daAlink_cFv.s"
}
@@ -385,7 +465,7 @@ asm void daAlink_c::procCanoePaddlePut() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoePaddleGrabInit() {
asm int daAlink_c::procCanoePaddleGrabInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoePaddleGrabInit__9daAlink_cFv.s"
}
@@ -396,7 +476,7 @@ asm void daAlink_c::procCanoePaddleGrabInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoePaddleGrab() {
asm int daAlink_c::procCanoePaddleGrab() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoePaddleGrab__9daAlink_cFv.s"
}
@@ -407,7 +487,7 @@ asm void daAlink_c::procCanoePaddleGrab() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeRodGrabInit() {
asm int daAlink_c::procCanoeRodGrabInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeRodGrabInit__9daAlink_cFv.s"
}
@@ -417,7 +497,7 @@ asm void daAlink_c::procCanoeRodGrabInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeRodGrab() {
asm int daAlink_c::procCanoeRodGrab() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeRodGrab__9daAlink_cFv.s"
}
@@ -427,7 +507,7 @@ asm void daAlink_c::procCanoeRodGrab() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeFishingWaitInit() {
asm int daAlink_c::procCanoeFishingWaitInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeFishingWaitInit__9daAlink_cFv.s"
}
@@ -438,7 +518,7 @@ asm void daAlink_c::procCanoeFishingWaitInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeFishingWait() {
asm int daAlink_c::procCanoeFishingWait() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeFishingWait__9daAlink_cFv.s"
}
@@ -448,7 +528,7 @@ asm void daAlink_c::procCanoeFishingWait() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeFishingReelInit() {
asm int daAlink_c::procCanoeFishingReelInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeFishingReelInit__9daAlink_cFv.s"
}
@@ -459,7 +539,7 @@ asm void daAlink_c::procCanoeFishingReelInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeFishingReel() {
asm int daAlink_c::procCanoeFishingReel() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeFishingReel__9daAlink_cFv.s"
}
@@ -469,7 +549,7 @@ asm void daAlink_c::procCanoeFishingReel() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeFishingGetInit() {
asm int daAlink_c::procCanoeFishingGetInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeFishingGetInit__9daAlink_cFv.s"
}
@@ -480,7 +560,7 @@ asm void daAlink_c::procCanoeFishingGetInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeFishingGet() {
asm int daAlink_c::procCanoeFishingGet() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeFishingGet__9daAlink_cFv.s"
}
@@ -490,7 +570,7 @@ asm void daAlink_c::procCanoeFishingGet() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeSubjectivityInit() {
asm int daAlink_c::procCanoeSubjectivityInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeSubjectivityInit__9daAlink_cFv.s"
}
@@ -501,7 +581,7 @@ asm void daAlink_c::procCanoeSubjectivityInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeSubjectivity() {
asm int daAlink_c::procCanoeSubjectivity() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeSubjectivity__9daAlink_cFv.s"
}
@@ -511,7 +591,7 @@ asm void daAlink_c::procCanoeSubjectivity() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeBowSubjectInit() {
asm int daAlink_c::procCanoeBowSubjectInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeBowSubjectInit__9daAlink_cFv.s"
}
@@ -522,7 +602,7 @@ asm void daAlink_c::procCanoeBowSubjectInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeBowSubject() {
asm int daAlink_c::procCanoeBowSubject() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeBowSubject__9daAlink_cFv.s"
}
@@ -533,7 +613,7 @@ asm void daAlink_c::procCanoeBowSubject() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeBowMoveInit() {
asm int daAlink_c::procCanoeBowMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeBowMoveInit__9daAlink_cFv.s"
}
@@ -543,7 +623,7 @@ asm void daAlink_c::procCanoeBowMoveInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeBowMove() {
asm int daAlink_c::procCanoeBowMove() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeBowMove__9daAlink_cFv.s"
}
@@ -554,7 +634,7 @@ asm void daAlink_c::procCanoeBowMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeGrabMoveInit() {
asm int daAlink_c::procCanoeGrabMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeGrabMoveInit__9daAlink_cFv.s"
}
@@ -564,7 +644,7 @@ asm void daAlink_c::procCanoeGrabMoveInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeGrabMove() {
asm int daAlink_c::procCanoeGrabMove() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeGrabMove__9daAlink_cFv.s"
}
@@ -575,7 +655,7 @@ asm void daAlink_c::procCanoeGrabMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeBoomerangSubjectInit() {
asm int daAlink_c::procCanoeBoomerangSubjectInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeBoomerangSubjectInit__9daAlink_cFv.s"
}
@@ -585,7 +665,7 @@ asm void daAlink_c::procCanoeBoomerangSubjectInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeBoomerangSubject() {
asm int daAlink_c::procCanoeBoomerangSubject() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeBoomerangSubject__9daAlink_cFv.s"
}
@@ -595,7 +675,7 @@ asm void daAlink_c::procCanoeBoomerangSubject() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeBoomerangMoveInit() {
asm int daAlink_c::procCanoeBoomerangMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeBoomerangMoveInit__9daAlink_cFv.s"
}
@@ -605,7 +685,7 @@ asm void daAlink_c::procCanoeBoomerangMoveInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeBoomerangMove() {
asm int daAlink_c::procCanoeBoomerangMove() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeBoomerangMove__9daAlink_cFv.s"
}
@@ -616,7 +696,7 @@ asm void daAlink_c::procCanoeBoomerangMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeHookshotSubjectInit() {
asm int daAlink_c::procCanoeHookshotSubjectInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeHookshotSubjectInit__9daAlink_cFv.s"
}
@@ -626,7 +706,7 @@ asm void daAlink_c::procCanoeHookshotSubjectInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeHookshotSubject() {
asm int daAlink_c::procCanoeHookshotSubject() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeHookshotSubject__9daAlink_cFv.s"
}
@@ -636,7 +716,7 @@ asm void daAlink_c::procCanoeHookshotSubject() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeHookshotMoveInit() {
asm int daAlink_c::procCanoeHookshotMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeHookshotMoveInit__9daAlink_cFv.s"
}
@@ -647,7 +727,7 @@ asm void daAlink_c::procCanoeHookshotMoveInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeHookshotMove() {
asm int daAlink_c::procCanoeHookshotMove() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeHookshotMove__9daAlink_cFv.s"
}
@@ -657,7 +737,7 @@ asm void daAlink_c::procCanoeHookshotMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeBottleDrinkInit(u16 param_0) {
asm int daAlink_c::procCanoeBottleDrinkInit(u16 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeBottleDrinkInit__9daAlink_cFUs.s"
}
@@ -668,7 +748,7 @@ asm void daAlink_c::procCanoeBottleDrinkInit(u16 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeBottleDrink() {
asm int daAlink_c::procCanoeBottleDrink() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeBottleDrink__9daAlink_cFv.s"
}
@@ -678,7 +758,7 @@ asm void daAlink_c::procCanoeBottleDrink() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeKandelaarPourInit() {
asm int daAlink_c::procCanoeKandelaarPourInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeKandelaarPourInit__9daAlink_cFv.s"
}
@@ -688,7 +768,7 @@ asm void daAlink_c::procCanoeKandelaarPourInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCanoeKandelaarPour() {
asm int daAlink_c::procCanoeKandelaarPour() {
nofralloc
#include "asm/d/a/d_a_alink/procCanoeKandelaarPour__9daAlink_cFv.s"
}
@@ -709,7 +789,7 @@ asm void daAlink_c::setGroundFishingRodActor() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procFishingCastInit() {
asm int daAlink_c::procFishingCastInit() {
nofralloc
#include "asm/d/a/d_a_alink/procFishingCastInit__9daAlink_cFv.s"
}
@@ -719,7 +799,7 @@ asm void daAlink_c::procFishingCastInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procFishingCast() {
asm int daAlink_c::procFishingCast() {
nofralloc
#include "asm/d/a/d_a_alink/procFishingCast__9daAlink_cFv.s"
}
@@ -730,7 +810,7 @@ asm void daAlink_c::procFishingCast() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procFishingFoodInit() {
asm int daAlink_c::procFishingFoodInit() {
nofralloc
#include "asm/d/a/d_a_alink/procFishingFoodInit__9daAlink_cFv.s"
}
@@ -740,7 +820,7 @@ asm void daAlink_c::procFishingFoodInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procFishingFood() {
asm int daAlink_c::procFishingFood() {
nofralloc
#include "asm/d/a/d_a_alink/procFishingFood__9daAlink_cFv.s"
}
+262 -153
View File
@@ -1,3 +1,5 @@
#include "rel/d/a/d_a_cstatue/d_a_cstatue.h"
/* 800E12E0-800E1310 0DBC20 0030+00 1/1 0/0 0/0 .text checkLv6BossRoom__9daAlink_cFv */
BOOL daAlink_c::checkLv6BossRoom() {
return checkStageName("D_MN06A");
@@ -44,26 +46,18 @@ fopAc_ac_c* daAlink_c::getCopyRodCameraActor() {
}
/* 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) {
mUpperFrameCtrl[2].setRate();
void daAlink_c::initCopyRodUpperAnimeSpeed(int param_0) {
if (!checkCopyRodThrowAnime()) {
if (param_0) {
f32 tmp_0 = FLOAT_LABEL(lit_6108);
mUpperFrameCtrl[2].setRate(tmp_0);
mUpperFrameCtrl[2].setFrame(tmp_0);
getNowAnmPackUpper(UPPER_2)->setFrame(tmp_0);
} else {
mUpperFrameCtrl[2].setRate(daAlinkHIO_boom_c0::m.mIdleAnmSpeed);
}
f32 tmp = FLOAT_LABEL(lit_6108);
mUpperFrameCtrl[2].setRate(tmp);
mUpperFrameCtrl[2].setFrame(tmp);
}
} */
}
/* 800E1408-800E145C 0DBD48 0054+00 2/2 0/0 0/0 .text checkForestOldCentury__9daAlink_cFv
*/
@@ -72,24 +66,17 @@ BOOL daAlink_c::checkForestOldCentury() {
}
/* 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"
BOOL daAlink_c::checkCopyRodTopUse() {
// Event flag 0x2580: Dominion Rod power restored
return (i_dComIfGs_isEventBit(0x2580) && !(mProcID == PROC_UNEQUIP && field_0x300e != 0)) ||
i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x15 ||
checkForestOldCentury();
}
#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"
BOOL daAlink_c::checkCopyRodAnime() const {
return checkCopyRodReadyAnime() || checkCopyRodThrowAnime();
}
#pragma pop
/* 800E158C-800E15FC 0DBECC 0070+00 2/2 0/0 0/0 .text setCopyRodControllAnime__9daAlink_cFv */
void daAlink_c::setCopyRodControllAnime() {
@@ -121,49 +108,42 @@ void daAlink_c::setCopyRodModel() {
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);
mAtCps[0].SetAtSpl(dCcG_At_Spl_UNK_0);
mAtCps[0].SetAtAtp(0);
mAtCps[0].SetAtSe(20);
mAtCps[0].SetAtHitMark(1);
mAtCps[0].OnAtSetBit();
mAtCps[0].SetAtHitCallback(NULL);
mAtCps[0].SetAtMtrl(0);
mHeldItemModel->i_setBaseTRMtx(mpLinkModel->i_getAnmMtx(field_0x30c0));
mHeldItemModel->calc();
}
/* 800E1840-800E191C 0DC180 00DC+00 2/2 0/0 0/0 .text setCopyRodReadyAnime__9daAlink_cFv
*/
// regalloc
#ifdef NONMATCHING
#pragma push
#pragma optimization_level 2
void daAlink_c::setCopyRodReadyAnime() {
f32 tmp;
f32 speed;
if (i_checkAttentionLock()) {
tmp = daAlinkHIO_boom_c0::m.valc;
speed = daAlinkHIO_boom_c0::m.mIdleAnmSpeed;
} else {
tmp = FLOAT_LABEL(lit_6108);
speed = FLOAT_LABEL(lit_6108);
}
setUpperAnimeBaseSpeed(0x54, tmp, lit_6109);
setUpperAnimeBaseSpeed(0x54, speed, 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);
mAtCps[0].SetR(lit_8676);
mAtCps[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() {
@@ -193,147 +173,276 @@ void daAlink_c::throwCopyRod() {
}
/* 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() {
int daAlink_c::returnCopyRod() {
i_offNoResetFlg3(FLG3_COPY_ROD_THROW_AFTER);
if (mEquipItem == 0x46) {
int var_r31;
if (mEquipItem == COPY_ROD) {
mItemAcKeep = mCopyRodAcKeep;
i_onNoResetFlg0(FLG0_UNK_20);
cXyz tmp(0, 1, 0);
dComIfGp_getVibration().StartShock(1, 1, tmp);
var_r31 = 1;
f32 tmp_0 = FLOAT_LABEL(lit_6108);
dComIfGp_getVibration().StartShock(1, 1, cXyz(tmp_0, lit_6040, tmp_0));
} else {
var_r31 = 0;
}
mCopyRodAcKeep.clearData();
} */
return var_r31;
}
/* 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"
BOOL daAlink_c::checkUpperItemActionCopyRod() {
if (field_0x3018 != 0) {
field_0x3018--;
}
if (checkReadyItem() && !itemButton() && checkCopyRodReadyAnime()) {
setUpperAnimeParam(0x53, UPPER_2, &daAlinkHIO_boom_c0::m.mThrowAnm);
mSearchBallScale = getCopyRodBallDisMax();
if (!mSight.getLockFlg()) {
mSearchBallScale -= lit_7308;
}
return true;
}
return cancelUpperItemReadyAnime(0);
}
#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"
void daAlink_c::checkUpperItemActionCopyRodFly() {
if (mCopyRodAcKeep.getActor() == NULL) {
if (checkCopyRodReadyAnime()) {
checkUpperItemActionCopyRod();
} else if (checkReadyItem() && itemTrigger()) {
setCopyRodReadyAnime();
}
}
}
#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 optimization_level 2
int daAlink_c::checkNextActionCopyRod() {
if ((checkBoomerangCatchAnime() &&
mUpperFrameCtrl[2].getFrame() <= daAlinkHIO_boom_c0::m.mCatchAnm.mCheckFrame) ||
i_checkNoResetFlg1(FLG1_UNK_10000)) {
return 0;
}
if (mFastShotTime != 0) {
mFastShotTime--;
}
if (!checkCopyRodAnime()) {
setCopyRodReadyAnime();
setFastShotTimer();
if (!i_checkAttentionLock()) {
field_0x2fe4 = shape_angle.y;
}
}
if (!i_checkAttentionLock() && mFastShotTime == 0) {
return procCopyRodSubjectInit();
}
return procCopyRodMoveInit();
}
#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"
void daAlink_c::setCopyRodSight() {
if (mItemAcKeep.getActor() && !checkCopyRodThrowAnime()) {
cXyz sight_pos;
checkSightLine(getCopyRodBallDisMax(), &sight_pos);
mSight.setPos(&sight_pos);
mSight.onDrawFlg();
if (mAtCps[0].ChkAtHit()) {
mSight.onLockFlg();
} else {
mSight.offLockFlg();
}
}
}
#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"
int daAlink_c::procCopyRodSubjectInit() {
if (!commonProcInitNotSameProc(PROC_COPY_ROD_SUBJECT)) {
return 0;
}
mNormalSpeed = FLOAT_LABEL(lit_6108);
initCopyRodUpperAnimeSpeed(1);
setSingleAnimeBaseSpeed(ANM_ATN_WAIT_RIGHT, FLOAT_LABEL(lit_6108), daAlinkHIO_boom_c0::m.mStartInterpolation);
dComIfGp_setPlayerStatus0(0, 0x80);
current.angle.y = shape_angle.y;
return 1;
}
#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"
int daAlink_c::procCopyRodSubject() {
if (!checkItemActorPointer()) {
return 1;
}
if (checkCopyRodReadyAnime()) {
setDoStatus(0x12);
}
setShapeAngleToAtnActor(0);
if (!checkNextAction(0)) {
if (setBodyAngleToCamera()) {
setCopyRodSight();
}
} else {
mSight.offDrawFlg();
}
return 1;
}
#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"
int daAlink_c::procCopyRodMoveInit() {
if (!commonProcInitNotSameProc(PROC_COPY_ROD_MOVE)) {
return 0;
}
if (checkZeroSpeedF()) {
onModeFlg(1);
}
initCopyRodUpperAnimeSpeed(0);
setBlendAtnMoveAnime(daAlinkHIO_boom_c0::m.mStartInterpolation);
dComIfGp_setPlayerStatus0(0, 0x80);
return 1;
}
#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"
int daAlink_c::procCopyRodMove() {
if (!checkItemActorPointer()) {
return 1;
}
if (!checkNextAction(0)) {
f32 var_f31 = lit_6041;
if (checkZeroSpeedF()) {
onModeFlg(1);
if (field_0x2f98 != 3) {
field_0x2f98 = 3;
var_f31 = daAlinkHIO_basic_c0::m.mAnmBlendFactor;
}
} else {
offModeFlg(1);
}
setBlendAtnMoveAnime(var_f31);
setBodyAngleXReadyAnime(0);
}
return 1;
}
#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"
int daAlink_c::procCopyRodSwingInit() {
commonProcInit(PROC_COPY_ROD_SWING);
daCstatue_c* statue = (daCstatue_c*)getCopyRodControllActor();
if (statue != NULL && ((fopAcM_GetName(statue) == PROC_CSTATUE && !statue->checkNotSmallType()) || fopAcM_GetName(statue) != PROC_CSTATUE)) {
setSingleAnimeParam(ANM_COPYROD_SWING_LARGE, &daAlinkHIO_copyRod_c0::m.mBigSwingAnm);
field_0x3478 = lit_8781;
field_0x347c = lit_13382;
field_0x3480 = daAlinkHIO_copyRod_c0::m.mBigSwingAnm.mCheckFrame;
field_0x3484 = lit_7807;
} else {
setSingleAnimeParam(ANM_COPYROD_SWING, &daAlinkHIO_copyRod_c0::m.mSwingAnm);
field_0x3478 = lit_7450;
field_0x347c = lit_8783;
field_0x3480 = daAlinkHIO_copyRod_c0::m.mSwingAnm.mCheckFrame;
field_0x3484 = lit_8130;
}
mNormalSpeed = FLOAT_LABEL(lit_6108);
current.angle.y = shape_angle.y;
mCommonCounter = 1;
field_0x300e = 0;
voiceStart(Z2SE_AL_V_ATTACK_S);
mAtCps[0].SetR(lit_11442);
mAtCps[0].SetAtType(AT_TYPE_COPY_ROD);
cancelLockAt();
return 1;
}
#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"
int daAlink_c::procCopyRodSwing() {
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
mCommonCounter = 0;
if (frameCtrl->checkAnmEnd()) {
setCopyRodControllAnime();
checkNextAction(0);
} else if (frameCtrl->getFrame() > field_0x3480 && checkNextAction(1)) {
if (i_checkModeFlg(0x1000)) {
setCopyRodControllAnime();
}
} else if (frameCtrl->getFrame() >= field_0x3478 && frameCtrl->getFrame() < field_0x347c) {
if (field_0x300e == 0) {
seStartSwordCut(Z2SE_AL_COPYROD_SWING);
}
field_0x300e = 1;
if (changeCutReverseProc(ANM_CUT_RECOIL_A)) {
return 1;
}
} else {
field_0x300e = 0;
}
return 1;
}
#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"
int daAlink_c::procCopyRodReviveInit() {
if (!commonProcInitNotSameProc(PROC_COPY_ROD_REVIVE)) {
return 1;
}
if (mDemo.getParam0() == 0) {
if (mEquipItem != COPY_ROD) {
deleteEquipItem(0, 0);
mEquipItem = COPY_ROD;
setCopyRodModel();
}
field_0x0724->setFrame(FLOAT_LABEL(lit_6108));
}
setSingleAnimeBase(ANM_GET_MASTER_SWORD);
mNormalSpeed = FLOAT_LABEL(lit_6108);
return 1;
}
#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
int daAlink_c::procCopyRodRevive() {
simpleAnmPlay(field_0x0724);
if (mUnderFrameCtrl[0].checkAnmEnd()) {
dComIfGp_evmng_cutEnd(field_0x3184);
}
return 1;
}
+8 -8
View File
@@ -161,7 +161,7 @@ asm void daAlink_c::setCrawlAutoMoveAimPos() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCrawlStartInit() {
asm int daAlink_c::procCrawlStartInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCrawlStartInit__9daAlink_cFv.s"
}
@@ -171,7 +171,7 @@ asm void daAlink_c::procCrawlStartInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCrawlStart() {
asm int daAlink_c::procCrawlStart() {
nofralloc
#include "asm/d/a/d_a_alink/procCrawlStart__9daAlink_cFv.s"
}
@@ -181,7 +181,7 @@ asm void daAlink_c::procCrawlStart() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCrawlMoveInit(s16 param_0, s16 param_1) {
asm int daAlink_c::procCrawlMoveInit(s16 param_0, s16 param_1) {
nofralloc
#include "asm/d/a/d_a_alink/procCrawlMoveInit__9daAlink_cFss.s"
}
@@ -191,7 +191,7 @@ asm void daAlink_c::procCrawlMoveInit(s16 param_0, s16 param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCrawlMove() {
asm int daAlink_c::procCrawlMove() {
nofralloc
#include "asm/d/a/d_a_alink/procCrawlMove__9daAlink_cFv.s"
}
@@ -201,7 +201,7 @@ asm void daAlink_c::procCrawlMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCrawlAutoMoveInit(int param_0, cXyz* param_1) {
asm int daAlink_c::procCrawlAutoMoveInit(int param_0, cXyz* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/procCrawlAutoMoveInit__9daAlink_cFiP4cXyz.s"
}
@@ -211,7 +211,7 @@ asm void daAlink_c::procCrawlAutoMoveInit(int param_0, cXyz* param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCrawlAutoMove() {
asm int daAlink_c::procCrawlAutoMove() {
nofralloc
#include "asm/d/a/d_a_alink/procCrawlAutoMove__9daAlink_cFv.s"
}
@@ -221,7 +221,7 @@ asm void daAlink_c::procCrawlAutoMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCrawlEndInit(int param_0, s16 param_1, s16 param_2) {
asm int daAlink_c::procCrawlEndInit(int param_0, s16 param_1, s16 param_2) {
nofralloc
#include "asm/d/a/d_a_alink/procCrawlEndInit__9daAlink_cFiss.s"
}
@@ -231,7 +231,7 @@ asm void daAlink_c::procCrawlEndInit(int param_0, s16 param_1, s16 param_2) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCrawlEnd() {
asm int daAlink_c::procCrawlEnd() {
nofralloc
#include "asm/d/a/d_a_alink/procCrawlEnd__9daAlink_cFv.s"
}
+1449 -399
View File
File diff suppressed because it is too large Load Diff
+385 -247
View File
@@ -1,157 +1,216 @@
/* 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"
s16 daAlink_c::getFreezeR() const {
return daAlinkHIO_damage_c0::m.mFreezeR;
}
#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"
s16 daAlink_c::getFreezeG() const {
return daAlinkHIO_damage_c0::m.mFreezeG;
}
#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"
s16 daAlink_c::getFreezeB() const {
return daAlinkHIO_damage_c0::m.mFreezeB;
}
#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"
bool daAlink_c::checkMiddleBossGoronRoom() {
return checkStageName("D_MN04B");
}
#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"
void daAlink_c::setDkCaught(fopAc_ac_c* param_0) {
if (!i_checkNoResetFlg1(FLG1_UNK_1)) {
i_onNoResetFlg1(FLG1_UNK_1);
field_0x28f8 = fopAcM_GetID(param_0);
}
}
#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"
void daAlink_c::freezeTimerDamage() {
field_0x3008--;
field_0x300a++;
if (field_0x300a % 45 == 0) {
setDamagePoint(1, 1, 0, 0);
}
if (escapeTrigger()) {
field_0x3008 -= 2;
}
if (checkInputOnR() && abs((s16)(mStickAngle - mPrevStickAngle)) > 0x1000) {
field_0x3008 -= 2;
}
if (field_0x3008 < 0) {
field_0x3008 = 0;
}
}
#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"
void daAlink_c::onPressedDamage(cXyz const& param_0, s16 param_1) {
i_onNoResetFlg2(FLG2_UNK_1000);
field_0x3104 = param_1;
field_0x3744 = param_0;
}
#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() {
asm BOOL 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"
void daAlink_c::checkCutLandDamage() {
if (!checkEventRun()) {
f32 var_f31 = (mFallHeight - current.pos.y) * lit_8782;
if (var_f31 >= daAlinkHIO_damFall_c0::m.mSmallDmgHeight && !checkNoLandDamageSlidePolygon()) {
if (var_f31 >= daAlinkHIO_damFall_c0::m.mBigDmgHeight) {
setLandDamagePoint(8);
} else {
setLandDamagePoint(4);
}
onModeFlg(8);
}
}
}
#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"
BOOL daAlink_c::checkCaughtEscapeCutTurn() {
if (mLinkAcch.ChkGroundHit() && (i_checkSwordGet() || i_checkWolf()) && checkCutTurnInputTrigger()) {
if (i_checkWolf()) {
return procWolfRollAttackInit(2, 0);
}
if (mEquipItem != 0x103) {
deleteEquipItem(0, 0);
setSwordModel();
}
return procCutTurnInit(1, 2);
}
return 0;
}
#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,
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"
field_0x3408 = param_1;
field_0x340c = param_2;
field_0x318c = param_3;
field_0x2ffe = param_0;
if (param_4) {
i_onEndResetFlg0(ERFLG0_UNK_40);
} else {
i_onEndResetFlg0(ERFLG0_UNK_80);
}
if (param_5 == 1) {
i_onEndResetFlg0(ERFLG0_UNK_40000000);
} else if (param_5 == 2) {
i_onEndResetFlg1(ERFLG1_UNK_80);
}
if (i_getSumouMode()) {
cancelSumouMode();
}
return true;
}
#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 f32 daAlink_c::damageMagnification(int param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/damageMagnification__9daAlink_cFii.s"
f32 daAlink_c::damageMagnification(int i_checkZoraMag, int param_1) {
f32 base_mag;
if (param_1 == 0 && i_checkNoResetFlg3(FLG3_UNK_40000000) && !i_checkEndResetFlg2(ERFLG2_UNK_40)) {
base_mag = lit_7624; /* 1.5 */
} else {
base_mag = lit_6040; /* 1.0 */
}
if (i_checkWolf() && !checkCargoCarry() && param_1 == 0) {
return /* 2.0 */ lit_7307 * base_mag;
}
if (checkZoraWearAbility() && i_checkZoraMag) {
return /* 10.0 */ lit_7625 * base_mag;
}
return base_mag;
}
#pragma pop
/* 800D72BC-800D7478 0D1BFC 01BC+00 6/6 1/1 0/0 .text setDamagePoint__9daAlink_cFiiii */
// regalloc and literals
#ifdef NONMATCHING
int daAlink_c::setDamagePoint(int i_dmgAmount, int i_checkZoraMag, int i_setDmgTimer, int param_3) {
if (i_dmgAmount <= 0) {
i_dComIfGp_setItemLifeCount(-i_dmgAmount, 0);
return 0;
}
f32 magnified_dmgF = (f32)i_dmgAmount * damageMagnification(i_checkZoraMag, param_3);
int magnified_dmg = magnified_dmgF;
if ((int)(magnified_dmgF * 10.0f) % 10 != 0) {
magnified_dmg++;
}
if (i_checkWolf()) {
offWolfEyeUp();
}
if (checkMagicArmorNoDamage()) {
i_dComIfGp_setItemRupeeCount(-magnified_dmg * 10);
} else {
i_dComIfGp_setItemLifeCount(-magnified_dmg, 0);
}
i_onResetFlg1(0x400);
mSwordUpTimer = 0;
if (i_setDmgTimer) {
mDamageTimer = daAlinkHIO_damage_c0::m.mInvincibleTime;
setDamageColorTime();
}
field_0x3006 = 0;
return 0;
}
#else
#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) {
asm int 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
#endif
/* 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"
void daAlink_c::setDamagePointNormal(int i_dmgAmount) {
setDamagePoint(i_dmgAmount, FALSE, TRUE, 0);
}
#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"
void daAlink_c::setLandDamagePoint(int i_dmgAmount) {
i_onEndResetFlg2(ERFLG2_UNK_40);
setDamagePoint(i_dmgAmount, FALSE, TRUE, 0);
i_offEndResetFlg2(ERFLG2_UNK_40);
}
#pragma pop
/* 800D74F4-800D76C4 0D1E34 01D0+00 11/11 0/0 0/0 .text getDamageVec__9daAlink_cFP12dCcD_GObjInf
*/
@@ -165,35 +224,29 @@ asm void daAlink_c::getDamageVec(dCcD_GObjInf* param_0) {
#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"
void daAlink_c::setDashDamage() {
setUpperAnimeParam(0xAD, UPPER_2, &daAlinkHIO_damage_c0::m.mDashDmgAnm);
setFacePriBck(0x121);
setFacePriTexture(FTANM_UNK_27);
voiceStart(Z2SE_AL_V_DAMAGE_S);
seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL);
freeGrabItem();
}
#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"
bool daAlink_c::checkIcePolygonDamage(cBgS_PolyInfo* i_poly) {
if (dComIfG_Bgsp().GetPolyAtt0(*i_poly) == 8 && dKy_pol_argument_get(i_poly) & 0x60) {
return true;
}
return false;
}
#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 BOOL daAlink_c::checkMagicArmorNoDamage() {
nofralloc
#include "asm/d/a/d_a_alink/checkMagicArmorNoDamage__9daAlink_cFv.s"
BOOL daAlink_c::checkMagicArmorNoDamage() {
return checkMagicArmorWearAbility() && !checkMagicArmorHeavy();
}
#pragma pop
/* 800D7820-800D7A98 0D2160 0278+00 1/1 0/0 0/0 .text checkPolyDamage__9daAlink_cFv */
#pragma push
@@ -217,57 +270,38 @@ asm void daAlink_c::checkElecReturnDamage(dCcD_GObjInf& param_0, fopAc_ac_c** pa
#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--;
}
mDamageTimer--;
if (mProcID != PROC_DK_CAUGHT && i_checkNoResetFlg1(1)) {
if (mProcID != PROC_DK_CAUGHT && i_checkNoResetFlg1(FLG1_UNK_1)) {
i_offNoResetFlg1(1);
}
if (checkDkCaught2Anime() && i_checkNoResetFlg0(FLG0_UNK_20000)) {
if (!checkDkCaught2Anime() && i_checkNoResetFlg0(FLG0_UNK_20000)) {
i_offNoResetFlg0(FLG0_UNK_20000);
}
} else if (mDamageColorTime != 0) {
mDamageColorTime--;
if (mDamageColorTime + mDamageTimer == 0) {
if ((mDamageColorTime + mDamageTimer) % 16 == 0) {
setDamageColorTime();
}
}
}
#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"
bool daAlink_c::checkHugeAttack(int param_0) const {
return param_0 == 2 || param_0 == 7 || param_0 == 11 || param_0 == 14;
}
#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"
bool daAlink_c::checkLargeAttack(int param_0) const {
return param_0 == 1 || param_0 == 6 || param_0 == 10 || param_0 == 13;
}
#pragma pop
/* 800D7C40-800D8F3C 0D2580 12FC+00 1/1 0/0 0/0 .text checkDamageAction__9daAlink_cFv */
#pragma push
@@ -284,7 +318,7 @@ asm BOOL daAlink_c::checkDamageAction() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) {
asm int daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/procDamageInit__9daAlink_cFP12dCcD_GObjInfi.s"
}
@@ -294,7 +328,7 @@ asm void daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procDamage() {
asm int daAlink_c::procDamage() {
nofralloc
#include "asm/d/a/d_a_alink/procDamage__9daAlink_cFv.s"
}
@@ -305,7 +339,7 @@ asm void daAlink_c::procDamage() {
#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,
asm int 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"
@@ -316,7 +350,7 @@ asm void daAlink_c::procCoLargeDamageInit(int param_0, int param_1, s16 param_2,
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoLargeDamage() {
asm int daAlink_c::procCoLargeDamage() {
nofralloc
#include "asm/d/a/d_a_alink/procCoLargeDamage__9daAlink_cFv.s"
}
@@ -326,7 +360,7 @@ asm void daAlink_c::procCoLargeDamage() {
#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) {
asm int 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"
}
@@ -336,7 +370,7 @@ asm void daAlink_c::procLargeDamageUpInit(int param_0, int param_1, s16 param_2,
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLargeDamageUp() {
asm int daAlink_c::procLargeDamageUp() {
nofralloc
#include "asm/d/a/d_a_alink/procLargeDamageUp__9daAlink_cFv.s"
}
@@ -347,7 +381,7 @@ asm void daAlink_c::procLargeDamageUp() {
#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) {
asm int 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"
}
@@ -355,62 +389,98 @@ asm void daAlink_c::procCoLargeDamageWallInit(int param_0, int param_1, s16 para
/* 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"
int daAlink_c::procCoLargeDamageWall() {
if (mUnderFrameCtrl[0].checkAnmEnd()) {
procCoLargeDamageInit(field_0x3198, field_0x3008, field_0x3080, field_0x3082, NULL, 0);
}
return 1;
}
#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"
int daAlink_c::procCoPolyDamageInit() {
seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL);
if (!i_checkWolf()) {
voiceStart(Z2SE_AL_V_DAMAGE_S);
}
if (checkIronBallWaitAnime()) {
return 1;
}
commonProcInit(PROC_POLY_DAMAGE);
if (i_checkWolf()) {
setSingleAnimeWolfParam(WANM_DMG_SMALL, &daAlinkHIO_wlDamage_c0::m.field_0x14);
voiceStart(Z2SE_WL_V_DAMAGE);
field_0x3478 = daAlinkHIO_wlDamage_c0::m.field_0x14.mCheckFrame;
} else {
setSingleAnimeParam(ANM_DMG, &daAlinkHIO_damage_c0::m.mFloorDmgAnm);
field_0x3478 = daAlinkHIO_damage_c0::m.mFloorDmgAnm.mCheckFrame;
}
mNormalSpeed = FLOAT_LABEL(lit_6108);
return 1;
}
#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"
int daAlink_c::procCoPolyDamage() {
if (mUnderFrameCtrl[0].checkAnmEnd()) {
commonCheckNextAction(0);
} else if (mUnderFrameCtrl[0].getFrame() > field_0x3478) {
if (!i_checkWolf()) {
onModeFlg(4);
}
commonCheckNextAction(1);
}
return 1;
}
#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) {
asm int 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"
int daAlink_c::procLandDamage() {
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
if (field_0x3198 != 0) {
if (frameCtrl->checkAnmEnd()) {
checkNextAction(0);
} else if (frameCtrl->getFrame() > daAlinkHIO_damFall_c0::m.mStandAnm.mCheckFrame) {
onModeFlg(4);
checkNextAction(1);
}
} else {
if (frameCtrl->checkAnmEnd()) {
if (field_0x3008 > 0) {
field_0x3008--;
} else {
setSingleAnimeParam(ANM_DMG_FALL_RECOVER, &daAlinkHIO_damFall_c0::m.mStandAnm);
field_0x3198 = 1;
}
}
}
return 1;
}
#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) {
asm int 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"
}
@@ -420,37 +490,45 @@ asm void daAlink_c::procCoElecDamageInit(fopAc_ac_c* param_0, dCcD_GObjInf* para
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoElecDamage() {
asm int 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"
int daAlink_c::procStEscapeInit() {
commonProcInit(PROC_HUMAN_ST_ESCAPE);
setSingleAnimeParam(ANM_FROZEN_FREE, &daAlinkHIO_damCaught_c0::m.field_0x0);
f32 tmp_7 = lit_8502;
mUnderFrameCtrl[0].setFrame(tmp_7);
getNowAnmPackUnder(UNDER_0)->setFrame(tmp_7);
mNormalSpeed = FLOAT_LABEL(lit_6108);
return 1;
}
#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"
int daAlink_c::procStEscape() {
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
i_onEndResetFlg0(ERFLG0_UNK_8000000);
if (frameCtrl->checkAnmEnd()) {
checkNextAction(0);
} else if (frameCtrl->getFrame() > daAlinkHIO_damCaught_c0::m.field_0x0.mCheckFrame) {
onModeFlg(4);
checkNextAction(1);
}
return 1;
}
#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) {
asm int daAlink_c::procDkCaughtInit(unsigned int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procDkCaughtInit__9daAlink_cFUi.s"
}
@@ -460,99 +538,159 @@ asm void daAlink_c::procDkCaughtInit(unsigned int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procDkCaught() {
asm int 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"
void daAlink_c::setScreamWaitAnime() {
setSingleAnimeBase(ANM_WAIT_F);
voiceStart(Z2SE_AL_V_TERRORED);
mCommonCounter = 1;
f32 tmp_0 = FLOAT_LABEL(lit_6108);
dComIfGp_getVibration().StartQuake(5, 1, cXyz(tmp_0, lit_6040, tmp_0));
}
#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"
int daAlink_c::procScreamWaitInit() {
commonProcInit(PROC_SCREAM_WAIT);
if (i_checkEndResetFlg1(ERFLG1_UNK_2)) {
setScreamWaitAnime();
} else {
setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, daAlinkHIO_basic_c0::m.mAnmBlendFactor);
mCommonCounter = 0;
}
current.angle.y = shape_angle.y;
mNormalSpeed = FLOAT_LABEL(lit_6108);
return 1;
}
#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"
int daAlink_c::procScreamWait() {
i_onEndResetFlg0(ERFLG0_UNK_8000000);
if (!i_checkEndResetFlg1(ERFLG1_UNK_1)) {
checkNextAction(0);
} else if (mCommonCounter == 0 && i_checkEndResetFlg1(ERFLG1_UNK_2)) {
setScreamWaitAnime();
}
return 1;
}
#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"
int daAlink_c::procCoSandWallHitInit() {
if (!commonProcInitNotSameProc(PROC_SAND_WALL_HIT)) {
return 1;
}
if (i_checkWolf()) {
setSingleAnimeWolfBase(WANM_WAIT_WIND);
} else {
setSingleAnimeBase(ANM_WAIT_WIND);
}
mNormalSpeed = FLOAT_LABEL(lit_6108);
return 1;
}
#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"
int daAlink_c::procCoSandWallHit() {
if (mLinkAcch.ChkGroundHit()) {
offModeFlg(2);
}
if (!i_checkEndResetFlg1(ERFLG1_UNK_400)) {
setDamagePointNormal(1);
procCoPolyDamageInit();
}
return 1;
}
#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) {
asm int 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"
int daAlink_c::procCoLavaReturn() {
cLib_chaseF(&mSinkShapeOffset, FLOAT_LABEL(lit_6108), lit_7977);
if (mUnderFrameCtrl[0].checkAnmEnd()) {
startRestartRoom(field_0x32cc, 0xC9, field_0x3198, 1);
}
return 1;
}
#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"
int daAlink_c::procCoSwimFreezeReturnInit() {
if (!dComIfGp_event_compulsory(this, 0, 0xFFFF)) {
return 0;
}
mDemo.i_setSpecialDemoType();
u32 chk_40000 = i_checkModeFlg(0x40000);
if (!commonProcInitNotSameProc(PROC_SWIM_FREEZE_RETURN)) {
return 1;
}
i_onNoResetFlg0(FLG0_UNK_100);
J3DTransformInfo* transInfo = field_0x2060->getOldFrameTransInfo(0);
f32 var_f31;
if (i_checkWolf()) {
setSingleAnimeWolfBaseSpeed(WANM_SWIM_WAIT, daAlinkHIO_wlDamNormal_c0::m.field_0x5C, lit_7625);
mUnderFrameCtrl[0].setEnd(3);
mUnderFrameCtrl[0].setAttribute(0);
setFaceBasicTexture(FTANM_UNK_90);
field_0x2f9b = 1;
var_f31 = daAlinkHIO_wlSwim_c0::m.field_0x48;
} else {
setSingleAnime(ANM_SWIM_DMG_FREEZE, daAlinkHIO_damNormal_c0::m.field_0x60, FLOAT_LABEL(lit_6108), 5, lit_7625);
voiceStart(Z2SE_AL_V_DAMAGE_FREEZE);
var_f31 = daAlinkHIO_swim_c0::m.mInitHeight;
}
seStartOnlyReverb(Z2SE_AL_FREEZE);
if (!chk_40000) {
transInfo->mTranslate.y -= var_f31;
current.pos.y = mWaterY;
}
field_0x3080 = 0;
mDamageTimer = 0;
mNormalSpeed = FLOAT_LABEL(lit_6108);
i_onNoResetFlg1(FLG1_UNK_40000000);
field_0x3194 = 1;
u32 id = fopAcM_GetID(this);
dCam_getBody()->StartEventCamera(9, id, "Type", 1, &field_0x3194, 0);
mCommonCounter = 0x2D;
return 1;
}
#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() {
asm int daAlink_c::procCoSwimFreezeReturn() {
nofralloc
#include "asm/d/a/d_a_alink/procCoSwimFreezeReturn__9daAlink_cFv.s"
}
+156 -134
View File
@@ -1,3 +1,5 @@
#include "f_op/f_op_msg_mng.h"
/* 80115C20-80115C50 110560 0030+00 72/72 0/0 0/0 .text checkEventRun__9daAlink_cCFv */
BOOL daAlink_c::checkEventRun() const {
return i_dComIfGp_event_runCheck() || checkPlayerDemoMode();
@@ -37,14 +39,9 @@ asm int daAlink_c::checkDemoAction() {
/* 80116E60-80116E9C 1117A0 003C+00 4/4 0/0 0/0 .text checkDemoMoveMode__9daAlink_cCFUl
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkDemoMoveMode(u32 param_0) const {
nofralloc
#include "asm/d/a/d_a_alink/checkDemoMoveMode__9daAlink_cCFUl.s"
bool daAlink_c::checkDemoMoveMode(u32 i_mode) const {
return i_mode == 2 || i_mode == 3 || i_mode == 0x26;
}
#pragma pop
/* 80116E9C-80117064 1117DC 01C8+00 1/1 0/0 0/0 .text setDemoMoveData__9daAlink_cFPUlPC4cXyz */
#pragma push
@@ -77,35 +74,42 @@ asm void daAlink_c::setDemoData() {
#pragma pop
/* 80117B90-80117C34 1124D0 00A4+00 1/1 0/0 0/0 .text resetDemoBck__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::resetDemoBck() {
nofralloc
#include "asm/d/a/d_a_alink/resetDemoBck__9daAlink_cFv.s"
void daAlink_c::resetDemoBck() {
mAnmHeap7.resetArcNo();
mAnmHeap5.resetArcNo();
mAnmHeap6.resetArcNo();
mUnderAnmHeap[0].resetArcNo();
mUnderAnmHeap[0].resetIdx();
mAnmHeap7.resetIdx();
mAnmHeap5.resetIdx();
mAnmHeap6.resetIdx();
if (i_checkWolf()) {
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.field_0x14, daAlinkHIO_wlMove_c0::m.field_0x94);
setFaceBasicAnime(ANM_WAIT);
} else {
setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, daAlinkHIO_basic_c0::m.mAnmBlendFactor);
}
}
#pragma pop
/* 80117C34-80117C90 112574 005C+00 3/3 0/0 0/0 .text endHighModel__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::endHighModel() {
nofralloc
#include "asm/d/a/d_a_alink/endHighModel__9daAlink_cFv.s"
void daAlink_c::endHighModel() {
if (field_0x068c != NULL) {
mpDemoFCTongueModel->getModelData()->removeTexMtxAnimator(field_0x068c);
}
i_offNoResetFlg1(FLG1_UNK_10);
field_0x0698 = NULL;
field_0x068c = NULL;
}
#pragma pop
/* 80117C90-80117CF8 1125D0 0068+00 21/21 0/0 0/0 .text resetSpecialEvent__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::resetSpecialEvent() {
nofralloc
#include "asm/d/a/d_a_alink/resetSpecialEvent__9daAlink_cFv.s"
void daAlink_c::resetSpecialEvent() {
i_dComIfGp_event_reset();
dCam_getBody()->EndEventCamera(fopAcM_GetID(this));
endDemoMode();
}
#pragma pop
/* 80117CF8-801180EC 112638 03F4+00 4/4 0/0 0/0 .text endDemoMode__9daAlink_cFv */
#pragma push
@@ -118,24 +122,36 @@ asm void daAlink_c::endDemoMode() {
#pragma pop
/* 801180EC-80118170 112A2C 0084+00 2/2 0/0 0/0 .text getDemoLookActor__9daAlink_cFv */
// weird gameinfo load
#ifdef NONMATCHING
fopAc_ac_c* daAlink_c::getDemoLookActor() {
if (mDemo.getParam0() == 1) {
return (fopAc_ac_c*)dComIfGp_event_getPt1();
} else if (mDemo.getParam0() == 2) {
return (fopAc_ac_c*)dComIfGp_event_getPt2();
} else if (mDemo.getParam0() == 3) {
return (fopAc_ac_c*)fopAcM_getTalkEventPartner(this);
} else if (mDemo.getParam0() == 4) {
return getMidnaActor();
}
return NULL;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getDemoLookActor() {
asm fopAc_ac_c* daAlink_c::getDemoLookActor() {
nofralloc
#include "asm/d/a/d_a_alink/getDemoLookActor__9daAlink_cFv.s"
}
#pragma pop
#endif
/* 80118170-801181A0 112AB0 0030+00 4/4 0/0 0/0 .text checkFlyAtnWait__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::checkFlyAtnWait() {
nofralloc
#include "asm/d/a/d_a_alink/checkFlyAtnWait__9daAlink_cFv.s"
BOOL daAlink_c::checkFlyAtnWait() {
return mDemo.getDemoMode() == 0x17 && (mDemo.getParam1() == 4 || mDemo.getParam1() == 5);
}
#pragma pop
/* 801181A0-801182D4 112AE0 0134+00 2/2 0/0 0/0 .text setGetItemFace__9daAlink_cFUs */
#pragma push
@@ -149,14 +165,10 @@ asm void daAlink_c::setGetItemFace(u16 param_0) {
/* 801182D4-80118308 112C14 0034+00 2/2 0/0 0/0 .text checkGrabTalkActor__9daAlink_cFP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkGrabTalkActor(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkGrabTalkActor__9daAlink_cFP10fopAc_ac_c.s"
BOOL daAlink_c::checkGrabTalkActor(fopAc_ac_c* i_actor) {
s16 name = fopAcM_GetName(i_actor);
return name == PROC_NPC_KYURY || name == PROC_MYNA || name == PROC_OBJ_SSITEM || name == PROC_TAG_MSG;
}
#pragma pop
/* 80118308-8011856C 112C48 0264+00 2/2 0/0 0/0 .text setTalkStartBack__9daAlink_cFP4cXyz
*/
@@ -211,14 +223,24 @@ asm void daAlink_c::setTradeItemOutHand() {
#pragma pop
/* 801187B4-80118840 1130F4 008C+00 5/5 0/0 0/0 .text checkEndMessage__9daAlink_cFUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkEndMessage(u32 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/checkEndMessage__9daAlink_cFUl.s"
BOOL daAlink_c::checkEndMessage(u32 param_0) {
if (mMsgClassID == -1) {
mMsgClassID = fopMsgM_messageSet(param_0, 1000);
} else {
msg_class* msg = fopMsgM_SearchByID(mMsgClassID);
if (msg != NULL) {
if (msg->field_0xf8 == 14) {
msg->field_0xf8 = 16;
} else if (msg->field_0xf8 == 0x12) {
msg->field_0xf8 = 0x13;
return 1;
}
}
}
return 0;
}
#pragma pop
/* 80118840-801188B0 113180 0070+00 1/1 0/0 0/0 .text setDemoRightHandIndex__9daAlink_cFUs */
#pragma push
@@ -268,8 +290,8 @@ BOOL daAlink_c::checkFinalBattle() {
}
/* 80118B34-80118BF4 113474 00C0+00 3/3 0/0 0/0 .text checkRestartDead__9daAlink_cFii */
BOOL daAlink_c::checkRestartDead(int i_dmgAmount, int param_1) {
i_dmgAmount *= (int)damageMagnification(param_1, 1);
BOOL daAlink_c::checkRestartDead(int i_dmgAmount, int i_checkZoraMag) {
i_dmgAmount *= (int)damageMagnification(i_checkZoraMag, 1);
if (mProcID != PROC_DEAD && i_dmgAmount >= i_dComIfGs_getLife() && !checkMagicArmorNoDamage() &&
!dComIfGs_checkBottle(FAIRY)) {
@@ -287,9 +309,9 @@ void daAlink_c::setDeadRideSyncPos() {
if (i_checkReinRide()) {
setSyncRidePos();
} else if (checkSpinnerRide()) {
s16 old_angle = mCollisionRot.y;
s16 old_angle = shape_angle.y;
setSpinnerSyncPos();
mCollisionRot.y = old_angle;
shape_angle.y = old_angle;
}
}
}
@@ -383,7 +405,7 @@ int daAlink_c::procDemoCommon() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoToolDemoInit() {
asm int daAlink_c::procCoToolDemoInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoToolDemoInit__9daAlink_cFv.s"
}
@@ -393,7 +415,7 @@ asm void daAlink_c::procCoToolDemoInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoToolDemo() {
asm int daAlink_c::procCoToolDemo() {
nofralloc
#include "asm/d/a/d_a_alink/procCoToolDemo__9daAlink_cFv.s"
}
@@ -403,7 +425,7 @@ asm void daAlink_c::procCoToolDemo() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoTalkInit() {
asm int daAlink_c::procCoTalkInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoTalkInit__9daAlink_cFv.s"
}
@@ -413,7 +435,7 @@ asm void daAlink_c::procCoTalkInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoTalk() {
asm int daAlink_c::procCoTalk() {
nofralloc
#include "asm/d/a/d_a_alink/procCoTalk__9daAlink_cFv.s"
}
@@ -423,7 +445,7 @@ asm void daAlink_c::procCoTalk() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoOpenTreasureInit() {
asm int daAlink_c::procCoOpenTreasureInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoOpenTreasureInit__9daAlink_cFv.s"
}
@@ -433,7 +455,7 @@ asm void daAlink_c::procCoOpenTreasureInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoOpenTreasure() {
asm int daAlink_c::procCoOpenTreasure() {
nofralloc
#include "asm/d/a/d_a_alink/procCoOpenTreasure__9daAlink_cFv.s"
}
@@ -443,7 +465,7 @@ asm void daAlink_c::procCoOpenTreasure() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoUnequipInit() {
asm int daAlink_c::procCoUnequipInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoUnequipInit__9daAlink_cFv.s"
}
@@ -453,7 +475,7 @@ asm void daAlink_c::procCoUnequipInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoUnequip() {
asm int daAlink_c::procCoUnequip() {
nofralloc
#include "asm/d/a/d_a_alink/procCoUnequip__9daAlink_cFv.s"
}
@@ -505,7 +527,7 @@ asm bool daAlink_c::checkTreasureRupeeReturn(int param_0) const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoGetItemInit() {
asm int daAlink_c::procCoGetItemInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoGetItemInit__9daAlink_cFv.s"
}
@@ -515,7 +537,7 @@ asm void daAlink_c::procCoGetItemInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoGetItem() {
asm int daAlink_c::procCoGetItem() {
nofralloc
#include "asm/d/a/d_a_alink/procCoGetItem__9daAlink_cFv.s"
}
@@ -525,7 +547,7 @@ asm void daAlink_c::procCoGetItem() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoTurnBackInit() {
asm int daAlink_c::procCoTurnBackInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoTurnBackInit__9daAlink_cFv.s"
}
@@ -535,7 +557,7 @@ asm void daAlink_c::procCoTurnBackInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoTurnBack() {
asm int daAlink_c::procCoTurnBack() {
nofralloc
#include "asm/d/a/d_a_alink/procCoTurnBack__9daAlink_cFv.s"
}
@@ -545,7 +567,7 @@ asm void daAlink_c::procCoTurnBack() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procDoorOpenInit() {
asm int daAlink_c::procDoorOpenInit() {
nofralloc
#include "asm/d/a/d_a_alink/procDoorOpenInit__9daAlink_cFv.s"
}
@@ -555,7 +577,7 @@ asm void daAlink_c::procDoorOpenInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procDoorOpen() {
asm int daAlink_c::procDoorOpen() {
nofralloc
#include "asm/d/a/d_a_alink/procDoorOpen__9daAlink_cFv.s"
}
@@ -565,7 +587,7 @@ asm void daAlink_c::procDoorOpen() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoLookWaitInit() {
asm int daAlink_c::procCoLookWaitInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoLookWaitInit__9daAlink_cFv.s"
}
@@ -575,7 +597,7 @@ asm void daAlink_c::procCoLookWaitInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoLookWait() {
asm int daAlink_c::procCoLookWait() {
nofralloc
#include "asm/d/a/d_a_alink/procCoLookWait__9daAlink_cFv.s"
}
@@ -585,7 +607,7 @@ asm void daAlink_c::procCoLookWait() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoDemoPushPullWaitInit() {
asm int daAlink_c::procCoDemoPushPullWaitInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoDemoPushPullWaitInit__9daAlink_cFv.s"
}
@@ -595,7 +617,7 @@ asm void daAlink_c::procCoDemoPushPullWaitInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoDemoPushMoveInit() {
asm int daAlink_c::procCoDemoPushMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoDemoPushMoveInit__9daAlink_cFv.s"
}
@@ -615,7 +637,7 @@ asm void daAlink_c::setMonkeyMoveAnime() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procMonkeyMoveInit() {
asm int daAlink_c::procMonkeyMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procMonkeyMoveInit__9daAlink_cFv.s"
}
@@ -625,7 +647,7 @@ asm void daAlink_c::procMonkeyMoveInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procMonkeyMove() {
asm int daAlink_c::procMonkeyMove() {
nofralloc
#include "asm/d/a/d_a_alink/procMonkeyMove__9daAlink_cFv.s"
}
@@ -635,7 +657,7 @@ asm void daAlink_c::procMonkeyMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procDemoBoomerangCatchInit() {
asm int daAlink_c::procDemoBoomerangCatchInit() {
nofralloc
#include "asm/d/a/d_a_alink/procDemoBoomerangCatchInit__9daAlink_cFv.s"
}
@@ -645,7 +667,7 @@ asm void daAlink_c::procDemoBoomerangCatchInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procDemoBoomerangCatch() {
asm int daAlink_c::procDemoBoomerangCatch() {
nofralloc
#include "asm/d/a/d_a_alink/procDemoBoomerangCatch__9daAlink_cFv.s"
}
@@ -655,7 +677,7 @@ asm void daAlink_c::procDemoBoomerangCatch() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoDeadInit(int param_0) {
asm int daAlink_c::procCoDeadInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCoDeadInit__9daAlink_cFi.s"
}
@@ -665,7 +687,7 @@ asm void daAlink_c::procCoDeadInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoDead() {
asm int daAlink_c::procCoDead() {
nofralloc
#include "asm/d/a/d_a_alink/procCoDead__9daAlink_cFv.s"
}
@@ -676,7 +698,7 @@ asm void daAlink_c::procCoDead() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoLookAroundInit() {
asm int daAlink_c::procCoLookAroundInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoLookAroundInit__9daAlink_cFv.s"
}
@@ -686,7 +708,7 @@ asm void daAlink_c::procCoLookAroundInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoLookAround() {
asm int daAlink_c::procCoLookAround() {
nofralloc
#include "asm/d/a/d_a_alink/procCoLookAround__9daAlink_cFv.s"
}
@@ -697,7 +719,7 @@ asm void daAlink_c::procCoLookAround() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBossAtnWaitInit() {
asm int daAlink_c::procBossAtnWaitInit() {
nofralloc
#include "asm/d/a/d_a_alink/procBossAtnWaitInit__9daAlink_cFv.s"
}
@@ -708,7 +730,7 @@ asm void daAlink_c::procBossAtnWaitInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoQuakeWaitInit() {
asm int daAlink_c::procCoQuakeWaitInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoQuakeWaitInit__9daAlink_cFv.s"
}
@@ -718,7 +740,7 @@ asm void daAlink_c::procCoQuakeWaitInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoCaughtInit() {
asm int daAlink_c::procCoCaughtInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoCaughtInit__9daAlink_cFv.s"
}
@@ -728,7 +750,7 @@ asm void daAlink_c::procCoCaughtInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLookUpInit() {
asm int daAlink_c::procLookUpInit() {
nofralloc
#include "asm/d/a/d_a_alink/procLookUpInit__9daAlink_cFv.s"
}
@@ -738,7 +760,7 @@ asm void daAlink_c::procLookUpInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLookUp() {
asm int daAlink_c::procLookUp() {
nofralloc
#include "asm/d/a/d_a_alink/procLookUp__9daAlink_cFv.s"
}
@@ -748,7 +770,7 @@ asm void daAlink_c::procLookUp() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLookUpToGetItemInit() {
asm int daAlink_c::procLookUpToGetItemInit() {
nofralloc
#include "asm/d/a/d_a_alink/procLookUpToGetItemInit__9daAlink_cFv.s"
}
@@ -759,7 +781,7 @@ asm void daAlink_c::procLookUpToGetItemInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLookUpToGetItem() {
asm int daAlink_c::procLookUpToGetItem() {
nofralloc
#include "asm/d/a/d_a_alink/procLookUpToGetItem__9daAlink_cFv.s"
}
@@ -769,7 +791,7 @@ asm void daAlink_c::procLookUpToGetItem() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHandPatInit() {
asm int daAlink_c::procHandPatInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHandPatInit__9daAlink_cFv.s"
}
@@ -779,7 +801,7 @@ asm void daAlink_c::procHandPatInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHandPat() {
asm int daAlink_c::procHandPat() {
nofralloc
#include "asm/d/a/d_a_alink/procHandPat__9daAlink_cFv.s"
}
@@ -789,7 +811,7 @@ asm void daAlink_c::procHandPat() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoFogDeadInit() {
asm int daAlink_c::procCoFogDeadInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoFogDeadInit__9daAlink_cFv.s"
}
@@ -799,7 +821,7 @@ asm void daAlink_c::procCoFogDeadInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoFogDead() {
asm int daAlink_c::procCoFogDead() {
nofralloc
#include "asm/d/a/d_a_alink/procCoFogDead__9daAlink_cFv.s"
}
@@ -810,7 +832,7 @@ asm void daAlink_c::procCoFogDead() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procWolfSmellWaitInit() {
asm int daAlink_c::procWolfSmellWaitInit() {
nofralloc
#include "asm/d/a/d_a_alink/procWolfSmellWaitInit__9daAlink_cFv.s"
}
@@ -820,7 +842,7 @@ asm void daAlink_c::procWolfSmellWaitInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoNodInit() {
asm int daAlink_c::procCoNodInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoNodInit__9daAlink_cFv.s"
}
@@ -830,7 +852,7 @@ asm void daAlink_c::procCoNodInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoNod() {
asm int daAlink_c::procCoNod() {
nofralloc
#include "asm/d/a/d_a_alink/procCoNod__9daAlink_cFv.s"
}
@@ -840,7 +862,7 @@ asm void daAlink_c::procCoNod() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoEyeAwayInit() {
asm int daAlink_c::procCoEyeAwayInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoEyeAwayInit__9daAlink_cFv.s"
}
@@ -850,7 +872,7 @@ asm void daAlink_c::procCoEyeAwayInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoGlareInit() {
asm int daAlink_c::procCoGlareInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoGlareInit__9daAlink_cFv.s"
}
@@ -860,7 +882,7 @@ asm void daAlink_c::procCoGlareInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoGlare() {
asm int daAlink_c::procCoGlare() {
nofralloc
#include "asm/d/a/d_a_alink/procCoGlare__9daAlink_cFv.s"
}
@@ -871,7 +893,7 @@ asm void daAlink_c::procCoGlare() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGoatStopReadyInit() {
asm int daAlink_c::procGoatStopReadyInit() {
nofralloc
#include "asm/d/a/d_a_alink/procGoatStopReadyInit__9daAlink_cFv.s"
}
@@ -881,7 +903,7 @@ asm void daAlink_c::procGoatStopReadyInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGoatStopReady() {
asm int daAlink_c::procGoatStopReady() {
nofralloc
#include "asm/d/a/d_a_alink/procGoatStopReady__9daAlink_cFv.s"
}
@@ -892,7 +914,7 @@ asm void daAlink_c::procGoatStopReady() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoGetReadySitInit() {
asm int daAlink_c::procCoGetReadySitInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoGetReadySitInit__9daAlink_cFv.s"
}
@@ -902,7 +924,7 @@ asm void daAlink_c::procCoGetReadySitInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoGetReadySit() {
asm int daAlink_c::procCoGetReadySit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoGetReadySit__9daAlink_cFv.s"
}
@@ -912,7 +934,7 @@ asm void daAlink_c::procCoGetReadySit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoTwGateInit() {
asm int daAlink_c::procCoTwGateInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCoTwGateInit__9daAlink_cFv.s"
}
@@ -932,7 +954,7 @@ int daAlink_c::procCoTwGate() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procWolfSnowEscapeInit() {
asm int daAlink_c::procWolfSnowEscapeInit() {
nofralloc
#include "asm/d/a/d_a_alink/procWolfSnowEscapeInit__9daAlink_cFv.s"
}
@@ -942,7 +964,7 @@ asm void daAlink_c::procWolfSnowEscapeInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procWolfSnowEscape() {
asm int daAlink_c::procWolfSnowEscape() {
nofralloc
#include "asm/d/a/d_a_alink/procWolfSnowEscape__9daAlink_cFv.s"
}
@@ -952,7 +974,7 @@ asm void daAlink_c::procWolfSnowEscape() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procZoraMoveInit() {
asm int daAlink_c::procZoraMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procZoraMoveInit__9daAlink_cFv.s"
}
@@ -962,7 +984,7 @@ asm void daAlink_c::procZoraMoveInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procZoraMove() {
asm int daAlink_c::procZoraMove() {
nofralloc
#include "asm/d/a/d_a_alink/procZoraMove__9daAlink_cFv.s"
}
@@ -972,7 +994,7 @@ asm void daAlink_c::procZoraMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLookAroundTurnInit() {
asm int daAlink_c::procLookAroundTurnInit() {
nofralloc
#include "asm/d/a/d_a_alink/procLookAroundTurnInit__9daAlink_cFv.s"
}
@@ -982,7 +1004,7 @@ asm void daAlink_c::procLookAroundTurnInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLookAroundTurn() {
asm int daAlink_c::procLookAroundTurn() {
nofralloc
#include "asm/d/a/d_a_alink/procLookAroundTurn__9daAlink_cFv.s"
}
@@ -993,7 +1015,7 @@ asm void daAlink_c::procLookAroundTurn() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procTradeItemOutInit() {
asm int daAlink_c::procTradeItemOutInit() {
nofralloc
#include "asm/d/a/d_a_alink/procTradeItemOutInit__9daAlink_cFv.s"
}
@@ -1003,7 +1025,7 @@ asm void daAlink_c::procTradeItemOutInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procTradeItemOut() {
asm int daAlink_c::procTradeItemOut() {
nofralloc
#include "asm/d/a/d_a_alink/procTradeItemOut__9daAlink_cFv.s"
}
@@ -1023,7 +1045,7 @@ asm void daAlink_c::checkLetterItem(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procNotUseItemInit(int param_0) {
asm int daAlink_c::procNotUseItemInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procNotUseItemInit__9daAlink_cFi.s"
}
@@ -1033,7 +1055,7 @@ asm void daAlink_c::procNotUseItemInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procNotUseItem() {
asm int daAlink_c::procNotUseItem() {
nofralloc
#include "asm/d/a/d_a_alink/procNotUseItem__9daAlink_cFv.s"
}
@@ -1043,7 +1065,7 @@ asm void daAlink_c::procNotUseItem() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwordReadyInit() {
asm int daAlink_c::procSwordReadyInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSwordReadyInit__9daAlink_cFv.s"
}
@@ -1053,7 +1075,7 @@ asm void daAlink_c::procSwordReadyInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwordReady() {
asm int daAlink_c::procSwordReady() {
nofralloc
#include "asm/d/a/d_a_alink/procSwordReady__9daAlink_cFv.s"
}
@@ -1073,7 +1095,7 @@ asm void daAlink_c::setSwordPushAnime() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwordPushInit() {
asm int daAlink_c::procSwordPushInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSwordPushInit__9daAlink_cFv.s"
}
@@ -1083,7 +1105,7 @@ asm void daAlink_c::procSwordPushInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwordPush() {
asm int daAlink_c::procSwordPush() {
nofralloc
#include "asm/d/a/d_a_alink/procSwordPush__9daAlink_cFv.s"
}
@@ -1094,7 +1116,7 @@ asm void daAlink_c::procSwordPush() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGanonFinishInit() {
asm int daAlink_c::procGanonFinishInit() {
nofralloc
#include "asm/d/a/d_a_alink/procGanonFinishInit__9daAlink_cFv.s"
}
@@ -1115,7 +1137,7 @@ bool daAlink_c::procGanonFinish() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCutFastReadyInit() {
asm int daAlink_c::procCutFastReadyInit() {
nofralloc
#include "asm/d/a/d_a_alink/procCutFastReadyInit__9daAlink_cFv.s"
}
@@ -1139,7 +1161,7 @@ int daAlink_c::procMasterSwordStickInit() {
setSingleAnimeBase(ANM_DEMO_MASTER_SWORD_STICK);
voiceStart(Z2SE_AL_V_MSTR_SW_STICK);
mNormalSpeed = FLOAT_LABEL(lit_6108);
current.angle.y = mCollisionRot.y;
current.angle.y = shape_angle.y;
mCommonCounter = 0;
return 1;
@@ -1181,7 +1203,7 @@ int daAlink_c::procMasterSwordPullInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procMasterSwordPull() {
asm int daAlink_c::procMasterSwordPull() {
nofralloc
#include "asm/d/a/d_a_alink/procMasterSwordPull__9daAlink_cFv.s"
}
@@ -1201,10 +1223,10 @@ int daAlink_c::procDungeonWarpReadyInit() {
u32 id;
if (checkItemSetButton(DUNGEON_EXIT) != 2) {
id = fopAcM_create(PROC_OBJ_TKS, 0, &current.pos, fopAcM_GetRoomNo(this), &mCollisionRot,
id = fopAcM_create(PROC_OBJ_TKS, 0, &current.pos, fopAcM_GetRoomNo(this), &shape_angle,
NULL, -1);
} else {
id = fopAcM_create(PROC_NPC_TKC, 2, &current.pos, fopAcM_GetRoomNo(this), &mCollisionRot,
id = fopAcM_create(PROC_NPC_TKC, 2, &current.pos, fopAcM_GetRoomNo(this), &shape_angle,
NULL, -1);
}
@@ -1216,7 +1238,7 @@ int daAlink_c::procDungeonWarpReadyInit() {
commonProcInit(PROC_DUNGEON_WARP_READY);
setSingleAnimeBase(ANM_TRADE_ITEM_PULL_OUT);
mNormalSpeed = FLOAT_LABEL(lit_6108);
current.angle.y = mCollisionRot.y;
current.angle.y = shape_angle.y;
field_0x32cc = id;
mCommonCounter = 0;
keepItemData();
@@ -1229,7 +1251,7 @@ int daAlink_c::procDungeonWarpReadyInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procDungeonWarpReady() {
asm int daAlink_c::procDungeonWarpReady() {
nofralloc
#include "asm/d/a/d_a_alink/procDungeonWarpReady__9daAlink_cFv.s"
}
@@ -1253,7 +1275,7 @@ bool daAlink_c::procDungeonWarpInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procDungeonWarpInit() {
asm int daAlink_c::procDungeonWarpInit() {
nofralloc
#include "asm/d/a/d_a_alink/procDungeonWarpInit__9daAlink_cFv.s"
}
@@ -1273,7 +1295,7 @@ int daAlink_c::procDungeonWarp() {
}
f32 sin = cM_ssin(mCommonCounter);
mCollisionRot.y += (s16)(14336.0f * sin);
shape_angle.y += (s16)(14336.0f * sin);
field_0x300e = 8.0f * sin + 24.0f * (1.0f - mScale.x);
if (field_0x3012 != 0) {
@@ -1293,7 +1315,7 @@ int daAlink_c::procDungeonWarp() {
if (checkItemGet(DUNGEON_EXIT, 1)) {
int escape =
dStage_stagInfo_GetEscapeWarp(i_dComIfGp_getStage()->getStagInfo());
dStage_changeScene(escape, 0.0f, 12, -1, mCollisionRot.y, -1);
dStage_changeScene(escape, 0.0f, 12, -1, shape_angle.y, -1);
dMeter2Info_warpOutProc();
} else {
dungeonReturnWarp();
@@ -1330,7 +1352,7 @@ asm int daAlink_c::procDungeonWarp() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procDungeonWarpSceneStartInit() {
asm int daAlink_c::procDungeonWarpSceneStartInit() {
nofralloc
#include "asm/d/a/d_a_alink/procDungeonWarpSceneStartInit__9daAlink_cFv.s"
}
@@ -1340,7 +1362,7 @@ asm void daAlink_c::procDungeonWarpSceneStartInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procDungeonWarpSceneStart() {
asm int daAlink_c::procDungeonWarpSceneStart() {
nofralloc
#include "asm/d/a/d_a_alink/procDungeonWarpSceneStart__9daAlink_cFv.s"
}
@@ -1429,14 +1451,14 @@ void daAlink_c::skipPortalObjWarp() {
if (i_checkNoResetFlg3(FLG3_UNK_2000000) &&
(dComIfGp_TargetWarpPt_get() == 9 && dComIfGp_TransportWarp_check())) {
dStage_changeScene(2, FLOAT_LABEL(lit_6108), 0, fopAcM_GetRoomNo(this), mCollisionRot.y,
dStage_changeScene(2, FLOAT_LABEL(lit_6108), 0, fopAcM_GetRoomNo(this), shape_angle.y,
-1);
} else {
u32 data = setParamData(dMeter2Info_getWarpRoomNo(), 0, 0xCA, 0);
dComIfGs_setTurnRestart(dMeter2Info_getWarpPos(), dMeter2Info_getWarpPlayerNo(),
dMeter2Info_getWarpRoomNo(), data);
dComIfGp_setNextStage(dMeter2Info_getWarpStageName(), -4, dMeter2Info_getWarpRoomNo(), -1,
FLOAT_LABEL(lit_6108), 0, 1, 0, mCollisionRot.y, 1, 0);
FLOAT_LABEL(lit_6108), 0, 1, 0, shape_angle.y, 1, 0);
}
if (mProcID == PROC_WARP) {
@@ -1477,7 +1499,7 @@ void daAlink_c::checkWarpStart() {
if (dMeter2Info_getWarpStatus() == 1) {
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
u32 exitID = dStage_stagInfo_GetEscapeWarp(stag_info);
dStage_changeScene(exitID, FLOAT_LABEL(lit_6108), 0, -1, mCollisionRot.y, -1);
dStage_changeScene(exitID, FLOAT_LABEL(lit_6108), 0, -1, shape_angle.y, -1);
} else {
dungeonReturnWarp();
}
@@ -1501,7 +1523,7 @@ asm void daAlink_c::warpModelTexScroll() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoWarpInit(int param_0, int param_1) {
asm int daAlink_c::procCoWarpInit(int param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/procCoWarpInit__9daAlink_cFii.s"
}
@@ -1511,7 +1533,7 @@ asm void daAlink_c::procCoWarpInit(int param_0, int param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoWarp() {
asm int daAlink_c::procCoWarp() {
nofralloc
#include "asm/d/a/d_a_alink/procCoWarp__9daAlink_cFv.s"
}
+53 -56
View File
@@ -12,8 +12,8 @@ void daAlink_c::setEmitter(u32* param_0, u16 param_1, cXyz const* param_2, csXyz
#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) {
asm JPABaseEmitter* 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"
}
@@ -22,35 +22,34 @@ asm void daAlink_c::setEmitter(u32* param_0, u16 param_1, cXyz const* param_2,
/* 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) {
JPABaseEmitter* 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);
return 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"
JPABaseEmitter* daAlink_c::setEmitterColor(u32* param_0, u16 param_1, cXyz const* param_2,
csXyz const* param_3) {
*param_0 = dComIfGp_particle_setColor(*param_0, param_1, param_2, &mTevStr, NULL, NULL,
FLOAT_LABEL(lit_6108), -1, param_3, NULL, NULL, -1, NULL);
dComIfGp_particle_levelEmitterOnEventMove(*param_0);
return dComIfGp_particle_getEmitter(*param_0);
}
#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"
void daAlink_c::stopDrawParticle(u32 param_0) {
JPABaseEmitter* emitter = dComIfGp_particle_getEmitter(param_0);
if (emitter != NULL) {
emitter->stopDrawParticle();
}
}
#pragma pop
/* 801207BC-80120880 11B0FC 00C4+00 1/0 0/0 0/0 .text setEffectFrontRollParam__9daAlink_cFv */
#pragma push
@@ -93,9 +92,7 @@ asm void daAlink_c::setEffectSmallLandParam() {
#pragma pop
/* 80121000-80121004 11B940 0004+00 1/0 0/0 0/0 .text setEffectLandParam__9daAlink_cFv */
void daAlink_c::setEffectLandParam() {
/* empty function */
}
void daAlink_c::setEffectLandParam() {}
/* 80121004-801211C0 11B944 01BC+00 1/0 0/0 0/0 .text setEffectSumouParam__9daAlink_cFv
*/
@@ -339,14 +336,14 @@ asm void daAlink_c::setWolfBarrierHitEffect(dBgS_LinChk& param_0) {
/* 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"
void daAlink_c::setCutWaterDropEffect() {
if (field_0x32c0 > 0) {
cXyz sp18;
mDoMtx_multVecZero(mpLinkModel->i_getAnmMtx(1), &sp18);
dComIfGp_particle_setColor(0x2A4, &sp18, &mTevStr, NULL, NULL, FLOAT_LABEL(lit_6108), -1,
&shape_angle, NULL, NULL, -1, NULL);
}
}
#pragma pop
/* 801241E0-801244E4 11EB20 0304+00 1/1 0/0 0/0 .text setWaterDropEffect__9daAlink_cFv */
#pragma push
@@ -511,45 +508,44 @@ asm void daAlink_c::setFreezeEffect() {
#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"
void daAlink_c::setWoodShieldBurnEffect() {
if (field_0x2fcb != 0) {
for (int i = 0; i < 2; i++) {
JPABaseEmitter* emitter =
setEmitter(&field_0x3260[i], effName_42309[i], &current.pos, NULL);
if (emitter != NULL) {
emitter->setGlobalRTMatrix(mShieldModel->getBaseTRMtx());
}
}
}
}
#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);
stopDrawParticle(field_0x3260[i]);
}
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"
void daAlink_c::setWoodShieldBurnOutEffect() {
for (int i = 0; i < 2; i++) {
JPABaseEmitter* emitter = dComIfGp_particle_setColor(
effName_42340[i], &current.pos, &mTevStr, NULL, NULL, FLOAT_LABEL(lit_6108), -1);
if (emitter != NULL) {
emitter->setGlobalRTMatrix(mShieldModel->getBaseTRMtx());
}
}
field_0x2fcb = 1;
clearWoodShieldBurnEffect();
}
#pragma pop
/* 801256EC-80125778 12002C 008C+00 2/2 0/0 0/0 .text
* initBlur__14daAlink_blur_cFfiPC4cXyzPC4cXyzPC4cXyz */
@@ -738,6 +734,7 @@ bool daAlink_sight_c::create() {
if (!mLockCursor.create()) {
return false;
}
ResTIMG* data = (ResTIMG*)dComIfG_getObjectRes(l_arcName, daAlink_c::getSightBti());
setSightImage(data);
return true;
+94 -174
View File
@@ -37,8 +37,6 @@ asm void daAlink_c::checkGrabLineCheck() {
/* 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);
@@ -46,36 +44,28 @@ void daAlink_c::setGrabCollisionOffset(f32 param_0, f32 param_1, cBgS_PolyInfo*
mPolyInfo4.ClearPi();
}
field_0x342c = param_0 * 0.8f;
field_0x3430 = param_1 * 0.8f;
f32 tmp_08 = lit_14064;
field_0x342c = tmp_08 * param_0;
field_0x3430 = tmp_08 * param_1;
}
#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;
actor->shape_angle.z = 0;
actor->shape_angle.x = 0;
if (checkGrabCarryActor()) {
actor->current.angle.z = 0;
actor->current.angle.x = 0;
}
setGrabItemActor(p_actor);
return true;
}
@@ -93,60 +83,41 @@ bool daAlink_c::setForceGrab(fopAc_ac_c* p_actor, int param_1, int param_2) {
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"
f32 daAlink_c::getGrabThrowRate() {
if (checkHeavyStateOn(1, 1)) {
return lit_6023 * mHeavySpeedMultiplier;
}
return lit_6023;
}
#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"
BOOL daAlink_c::checkGrabThrowAnime() const {
return checkGrabUpThrowAnime() || checkGrabSideThrowAnime() || checkGrabHeavyThrowAnime();
}
#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"
BOOL daAlink_c::checkGrabAnime() const {
return checkGrabAnimeUp() || checkGrabAnimeSide() || checkGrabAnimeCarry();
}
#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"
BOOL daAlink_c::checkGrabAnimeAndThrow() const {
return checkGrabAnime() || checkGrabThrowAnime();
}
#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"
BOOL daAlink_c::checkGrabCarryActor() {
return mGrabItemAcKeep.getActor() != NULL &&
fopAcM_CheckCarryType(mGrabItemAcKeep.getActor(), fopAcM_CARRY_TYPE_8);
}
#pragma pop
/* 800E3D1C-800E3D6C 0DE65C 0050+00 1/1 0/0 0/0 .text checkGrabSlowMoveActor__9daAlink_cFv */
#pragma push
@@ -160,24 +131,16 @@ asm void daAlink_c::checkGrabSlowMoveActor() {
/* 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"
BOOL daAlink_c::checkGrabHeavyActor() {
return mGrabItemAcKeep.getActor() != NULL &&
fopAcM_CheckCarryType(mGrabItemAcKeep.getActor(), fopAcM_CARRY_HEAVY);
}
#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"
BOOL daAlink_c::checkGrabSideActor() {
return mGrabItemAcKeep.getActor() != NULL &&
fopAcM_CheckCarryType(mGrabItemAcKeep.getActor(), fopAcM_CARRY_SIDE);
}
#pragma pop
/* 800E3DBC-800E3F20 0DE6FC 0164+00 5/5 0/0 0/0 .text setGrabUpperAnime__9daAlink_cFf */
#pragma push
@@ -190,14 +153,15 @@ asm void daAlink_c::setGrabUpperAnime(f32 param_0) {
#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 BOOL daAlink_c::checkGrabRooster() {
nofralloc
#include "asm/d/a/d_a_alink/checkGrabRooster__9daAlink_cFv.s"
BOOL daAlink_c::checkGrabRooster() {
if (mGrabItemAcKeep.getActor() != NULL &&
(fopAcM_GetName(mGrabItemAcKeep.getActor()) == PROC_NI ||
fopAcM_GetName(mGrabItemAcKeep.getActor()) == PROC_NPC_TKJ2)) {
return true;
}
return false;
}
#pragma pop
/* ############################################################################################## */
/* 80425628-80425634 052348 000C+00 0/1 0/0 0/0 .bss @4421 */
@@ -299,14 +263,9 @@ asm void daAlink_c::setCarryArmAngle(f32 param_0, f32 param_1) {
#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"
BOOL daAlink_c::checkGrabNotThrow() {
return checkGrabCarryActor();
}
#pragma pop
/* 800E5170-800E53AC 0DFAB0 023C+00 1/1 0/0 0/0 .text checkNextActionGrab__9daAlink_cFv
*/
@@ -320,14 +279,13 @@ asm void daAlink_c::checkNextActionGrab() {
#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"
void daAlink_c::initGrabNextMode() {
if (!checkGrabAnime()) {
setGrabUpperAnime(lit_6041);
}
checkNextAction(0);
}
#pragma pop
/* 800E53F8-800E57AC 0DFD38 03B4+00 3/3 0/0 0/0 .text setGrabItemThrow__9daAlink_cFv */
#pragma push
@@ -361,14 +319,10 @@ asm void daAlink_c::putObjLineCheck(dBgS_LinChk& param_0, cXyz* param_1, fopAc_a
#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"
void daAlink_c::grabLineCheck(cXyz* i_start, cXyz* i_end) {
mObjLinChk.Set(i_start, i_end, mGrabItemAcKeep.getActor());
dComIfG_Bgsp().LineCross(&mObjLinChk);
}
#pragma pop
/* 800E5BB4-800E5CBC 0E04F4 0108+00 6/6 0/0 0/0 .text setGrabItemActor__9daAlink_cFP10fopAc_ac_c
*/
@@ -385,7 +339,7 @@ asm void daAlink_c::setGrabItemActor(fopAc_ac_c* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabReadyInit() {
asm int daAlink_c::procGrabReadyInit() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabReadyInit__9daAlink_cFv.s"
}
@@ -395,7 +349,7 @@ asm void daAlink_c::procGrabReadyInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabReady() {
asm int daAlink_c::procGrabReady() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabReady__9daAlink_cFv.s"
}
@@ -405,7 +359,7 @@ asm void daAlink_c::procGrabReady() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabUpInit() {
asm int daAlink_c::procGrabUpInit() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabUpInit__9daAlink_cFv.s"
}
@@ -415,7 +369,7 @@ asm void daAlink_c::procGrabUpInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabUp() {
asm int daAlink_c::procGrabUp() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabUp__9daAlink_cFv.s"
}
@@ -425,7 +379,7 @@ asm void daAlink_c::procGrabUp() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabMiss() {
asm int daAlink_c::procGrabMiss() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabMiss__9daAlink_cFv.s"
}
@@ -435,7 +389,7 @@ asm void daAlink_c::procGrabMiss() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabThrowInit(int param_0) {
asm int daAlink_c::procGrabThrowInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procGrabThrowInit__9daAlink_cFi.s"
}
@@ -445,7 +399,7 @@ asm void daAlink_c::procGrabThrowInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabThrow() {
asm int daAlink_c::procGrabThrow() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabThrow__9daAlink_cFv.s"
}
@@ -455,7 +409,7 @@ asm void daAlink_c::procGrabThrow() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabPutInit() {
asm int daAlink_c::procGrabPutInit() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabPutInit__9daAlink_cFv.s"
}
@@ -465,7 +419,7 @@ asm void daAlink_c::procGrabPutInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabPut() {
asm int daAlink_c::procGrabPut() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabPut__9daAlink_cFv.s"
}
@@ -475,7 +429,7 @@ asm void daAlink_c::procGrabPut() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabWaitInit() {
asm int daAlink_c::procGrabWaitInit() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabWaitInit__9daAlink_cFv.s"
}
@@ -485,7 +439,7 @@ asm void daAlink_c::procGrabWaitInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabWait() {
asm int daAlink_c::procGrabWait() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabWait__9daAlink_cFv.s"
}
@@ -496,7 +450,7 @@ asm void daAlink_c::procGrabWait() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabReboundInit(int param_0) {
asm int daAlink_c::procGrabReboundInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procGrabReboundInit__9daAlink_cFi.s"
}
@@ -506,7 +460,7 @@ asm void daAlink_c::procGrabReboundInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabRebound() {
asm int daAlink_c::procGrabRebound() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabRebound__9daAlink_cFv.s"
}
@@ -516,7 +470,7 @@ asm void daAlink_c::procGrabRebound() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabStandInit() {
asm int daAlink_c::procGrabStandInit() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabStandInit__9daAlink_cFv.s"
}
@@ -526,7 +480,7 @@ asm void daAlink_c::procGrabStandInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrabStand() {
asm int daAlink_c::procGrabStand() {
nofralloc
#include "asm/d/a/d_a_alink/procGrabStand__9daAlink_cFv.s"
}
@@ -550,7 +504,7 @@ bool daAlink_c::checkInsectActorName(fopAc_ac_c* insectActor) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procInsectCatchInit() {
asm int daAlink_c::procInsectCatchInit() {
nofralloc
#include "asm/d/a/d_a_alink/procInsectCatchInit__9daAlink_cFv.s"
}
@@ -577,7 +531,7 @@ bool daAlink_c::procInsectCatch() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procPickUpInit() {
asm int daAlink_c::procPickUpInit() {
nofralloc
#include "asm/d/a/d_a_alink/procPickUpInit__9daAlink_cFv.s"
}
@@ -587,7 +541,7 @@ asm void daAlink_c::procPickUpInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procPickUp() {
asm int daAlink_c::procPickUp() {
nofralloc
#include "asm/d/a/d_a_alink/procPickUp__9daAlink_cFv.s"
}
@@ -597,7 +551,7 @@ asm void daAlink_c::procPickUp() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procPickPutInit(int param_0) {
asm int daAlink_c::procPickPutInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procPickPutInit__9daAlink_cFi.s"
}
@@ -607,7 +561,7 @@ asm void daAlink_c::procPickPutInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procPickPut() {
asm int daAlink_c::procPickPut() {
nofralloc
#include "asm/d/a/d_a_alink/procPickPut__9daAlink_cFv.s"
}
@@ -625,28 +579,17 @@ asm void daAlink_c::checkSetChainPullAnime(s16 param_0) {
/* 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;
s16 angle = field_0x2fe2 - param_0;
if (tmp >= 14336 && tmp < 32640) {
return param_0 + 32640;
} else if (tmp <= -14336 && tmp <= -32640) {
return field_0x2fe2;
if (angle >= 0x3800 && angle < 0x7F80) {
return param_0 + 0x7F80;
} else if (angle <= -0x3800 && angle > -0x7F80) {
return param_0 - 0x7F80;
}
return param_0 - 32640;
return field_0x2fe2;
}
#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
@@ -662,7 +605,7 @@ asm u8 daAlink_c::checkChainEmphasys() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::searchFmChainPos() {
asm u8 daAlink_c::searchFmChainPos() {
nofralloc
#include "asm/d/a/d_a_alink/searchFmChainPos__9daAlink_cFv.s"
}
@@ -698,7 +641,7 @@ bool daAlink_c::checkChainBlockPushPull() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procFmChainUpInit() {
asm int daAlink_c::procFmChainUpInit() {
nofralloc
#include "asm/d/a/d_a_alink/procFmChainUpInit__9daAlink_cFv.s"
}
@@ -708,7 +651,7 @@ asm void daAlink_c::procFmChainUpInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procFmChainUp() {
asm int daAlink_c::procFmChainUp() {
nofralloc
#include "asm/d/a/d_a_alink/procFmChainUp__9daAlink_cFv.s"
}
@@ -718,7 +661,7 @@ asm void daAlink_c::procFmChainUp() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procFmChainStrongPullInit() {
asm int daAlink_c::procFmChainStrongPullInit() {
nofralloc
#include "asm/d/a/d_a_alink/procFmChainStrongPullInit__9daAlink_cFv.s"
}
@@ -729,7 +672,7 @@ asm void daAlink_c::procFmChainStrongPullInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procFmChainStrongPull() {
asm int daAlink_c::procFmChainStrongPull() {
nofralloc
#include "asm/d/a/d_a_alink/procFmChainStrongPull__9daAlink_cFv.s"
}
@@ -747,14 +690,9 @@ asm void daAlink_c::setWallGrabStatus(u8 param_0, u8 param_1) {
#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 int daAlink_c::getWallGrabStatus() {
nofralloc
#include "asm/d/a/d_a_alink/getWallGrabStatus__9daAlink_cFv.s"
int daAlink_c::getWallGrabStatus() {
return i_dComIfGp_getRStatus();
}
#pragma pop
/* 800E7EF4-800E7F18 0E2834 0024+00 1/1 0/0 0/0 .text wallGrabTrigger__9daAlink_cFv */
void daAlink_c::wallGrabTrigger() {
@@ -802,43 +740,25 @@ asm void daAlink_c::checkPullBehindWall() {
void daAlink_c::offGoatStopGame() {
if (mSpecialMode != SMODE_GOAT_STOP) {
return;
} else {
mSpecialMode = 0;
}
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;
return name == PROC_E_GOB || (name == PROC_OBJ_GRA && checkSpecialNpc(param_0)) || name == PROC_COW;
}
#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) {
f32 daAlink_c::getGoatCatchDistance2() {
if (fopAcM_GetName(field_0x27f4) == PROC_B_MGN) {
return lit_16066;
}
return lit_16067;
}
@@ -862,7 +782,7 @@ asm void daAlink_c::getPushPullAnimeSpeed() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoPushPullWaitInit(int param_0) {
asm int daAlink_c::procCoPushPullWaitInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procCoPushPullWaitInit__9daAlink_cFi.s"
}
@@ -872,7 +792,7 @@ asm void daAlink_c::procCoPushPullWaitInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoPushPullWait() {
asm int daAlink_c::procCoPushPullWait() {
nofralloc
#include "asm/d/a/d_a_alink/procCoPushPullWait__9daAlink_cFv.s"
}
@@ -883,7 +803,7 @@ asm void daAlink_c::procCoPushPullWait() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoPushMoveInit(int param_0, int param_1) {
asm int daAlink_c::procCoPushMoveInit(int param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/procCoPushMoveInit__9daAlink_cFii.s"
}
@@ -893,7 +813,7 @@ asm void daAlink_c::procCoPushMoveInit(int param_0, int param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procCoPushMove() {
asm int daAlink_c::procCoPushMove() {
nofralloc
#include "asm/d/a/d_a_alink/procCoPushMove__9daAlink_cFv.s"
}
@@ -903,7 +823,7 @@ asm void daAlink_c::procCoPushMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procPullMoveInit(int param_0) {
asm int daAlink_c::procPullMoveInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procPullMoveInit__9daAlink_cFi.s"
}
@@ -913,7 +833,7 @@ asm void daAlink_c::procPullMoveInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procPullMove() {
asm int daAlink_c::procPullMove() {
nofralloc
#include "asm/d/a/d_a_alink/procPullMove__9daAlink_cFv.s"
}
+41 -92
View File
@@ -1,13 +1,8 @@
/* 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"
BOOL daAlink_c::checkEnemyGroup(fopAc_ac_c* i_actor) {
return i_actor != NULL && (fopAcM_GetGroup(i_actor) == 2 || fopAcM_GetName(i_actor) == PROC_E_ZH || checkSpecialNpc(i_actor));
}
#pragma pop
/* 800DC5A4-800DC5DC 0D6EE4 0038+00 4/4 0/0 0/0 .text checkSpecialNpc__9daAlink_cFP10fopAc_ac_c */
#pragma push
@@ -63,14 +58,9 @@ asm void daAlink_c::setArrowShieldActor(fopAc_ac_c* param_0, int param_1) {
/* 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"
BOOL daAlink_c::checkWoodShieldEquipNotIronBall() const {
return checkWoodShieldEquip() && !checkIronBallEquip();
}
#pragma pop
/* 800DCA80-800DCD74 0D73C0 02F4+00 0/0 0/0 1/1 .text
* getArrowShieldOffset__9daAlink_cCFPC4cXyzPC5csXyzP4cXyzP4cXyz */
@@ -86,98 +76,57 @@ asm void daAlink_c::getArrowShieldOffset(cXyz const* param_0, csXyz const* param
/* 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"
void daAlink_c::setArrowShieldPos(cXyz* param_0, csXyz* param_1, cXyz const* param_2,
cXyz const* param_3) const {
cXyz sp1C;
mDoMtx_multVecSR(getShieldMtx(), param_3, &sp1C);
param_1->x = sp1C.atan2sY_XZ();
param_1->y = sp1C.atan2sX_Z();
mDoMtx_multVec(getShieldMtx(), param_2, param_0);
}
#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"
BOOL daAlink_c::checkUpperGuardAnime() const {
return i_checkNoResetFlg2(FLG2_UNK_8000000) && !checkEventRun() && !i_checkNoResetFlg0(FLG0_UNK_2) &&
mProcID != PROC_GUARD_BREAK && mProcID != PROC_CUT_REVERSE && mProcID != PROC_GUARD_ATTACK;
}
#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;
return (i_checkSmallUpperGuardAnime() || (i_checkShieldGet() && checkHorseLieAnime())) ||
checkUpperGuardAnime();
}
#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"
BOOL daAlink_c::checkPlayerGuardAndAttack() const {
return checkPlayerGuard() || mProcID == PROC_GUARD_ATTACK;
}
#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"
BOOL daAlink_c::checkGuardAccept() {
return i_checkModeFlg(0x80) && i_checkShieldGet() && !i_checkFmChainGrabAnime() && !checkNotBattleStage();
}
#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"
void daAlink_c::setUpperGuardAnime(f32) {
i_onNoResetFlg2(FLG2_UNK_8000000);
}
#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"
void daAlink_c::setShieldGuard() {
if ((mProcID == PROC_GUARD_SLIP && mEquipItem != IRONBALL) || i_checkSmallUpperGuardAnime() ||
(checkGuardAccept() && !checkGrabAnime() && !checkUpperReadyThrowAnime() &&
!checkDkCaught2Anime() && !checkKandelaarSwingAnime() && !checkCutDashAnime() &&
!checkCutDashChargeAnime() && (!checkEquipAnime() || checkUpperGuardAnime()) &&
!i_checkRideOn() && checkGuardActionChange())) {
i_onNoResetFlg2(FLG2_UNK_8000000);
} else {
i_offNoResetFlg2(FLG2_UNK_8000000);
}
}
#pragma pop
/* 800DD114-800DD1D4 0D7A54 00C0+00 1/1 0/0 0/0 .text setGuardSe__9daAlink_cFP12dCcD_GObjInf */
#pragma push
@@ -204,7 +153,7 @@ asm void daAlink_c::setSmallGuard(dCcD_GObjInf* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGuardSlipInit(int param_0, dCcD_GObjInf* param_1) {
asm int daAlink_c::procGuardSlipInit(int param_0, dCcD_GObjInf* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/procGuardSlipInit__9daAlink_cFiP12dCcD_GObjInf.s"
}
@@ -214,7 +163,7 @@ asm void daAlink_c::procGuardSlipInit(int param_0, dCcD_GObjInf* param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGuardSlip() {
asm int daAlink_c::procGuardSlip() {
nofralloc
#include "asm/d/a/d_a_alink/procGuardSlip__9daAlink_cFv.s"
}
@@ -225,7 +174,7 @@ asm void daAlink_c::procGuardSlip() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGuardAttackInit() {
asm int daAlink_c::procGuardAttackInit() {
nofralloc
#include "asm/d/a/d_a_alink/procGuardAttackInit__9daAlink_cFv.s"
}
@@ -235,7 +184,7 @@ asm void daAlink_c::procGuardAttackInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGuardAttack() {
asm int daAlink_c::procGuardAttack() {
nofralloc
#include "asm/d/a/d_a_alink/procGuardAttack__9daAlink_cFv.s"
}
@@ -245,7 +194,7 @@ asm void daAlink_c::procGuardAttack() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGuardBreakInit() {
asm int daAlink_c::procGuardBreakInit() {
nofralloc
#include "asm/d/a/d_a_alink/procGuardBreakInit__9daAlink_cFv.s"
}
@@ -255,7 +204,7 @@ asm void daAlink_c::procGuardBreakInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGuardBreak() {
asm int daAlink_c::procGuardBreak() {
nofralloc
#include "asm/d/a/d_a_alink/procGuardBreak__9daAlink_cFv.s"
}
@@ -275,7 +224,7 @@ asm bool daAlink_c::procTurnMoveInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procTurnMove() {
asm int daAlink_c::procTurnMove() {
nofralloc
#include "asm/d/a/d_a_alink/procTurnMove__9daAlink_cFv.s"
}
+55 -55
View File
@@ -24,7 +24,7 @@ asm void daAlink_c::getHangDirectionFromAngle() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::hangMoveBgCheck(s16 param_0, cXyz* param_1) {
asm BOOL daAlink_c::hangMoveBgCheck(s16 param_0, cXyz* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/hangMoveBgCheck__9daAlink_cFsP4cXyz.s"
}
@@ -84,7 +84,7 @@ asm void daAlink_c::checkHangStartSideWall(s16 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHangStartInit() {
asm int daAlink_c::procHangStartInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHangStartInit__9daAlink_cFv.s"
}
@@ -94,7 +94,7 @@ asm void daAlink_c::procHangStartInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHangStart() {
asm int daAlink_c::procHangStart() {
nofralloc
#include "asm/d/a/d_a_alink/procHangStart__9daAlink_cFv.s"
}
@@ -105,7 +105,7 @@ asm void daAlink_c::procHangStart() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHangFallStartInit(cM3dGPla* param_0) {
asm int daAlink_c::procHangFallStartInit(cM3dGPla* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procHangFallStartInit__9daAlink_cFP8cM3dGPla.s"
}
@@ -115,7 +115,7 @@ asm void daAlink_c::procHangFallStartInit(cM3dGPla* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHangFallStart() {
asm int daAlink_c::procHangFallStart() {
nofralloc
#include "asm/d/a/d_a_alink/procHangFallStart__9daAlink_cFv.s"
}
@@ -125,7 +125,7 @@ asm void daAlink_c::procHangFallStart() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHangUpInit(int param_0) {
asm int daAlink_c::procHangUpInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procHangUpInit__9daAlink_cFi.s"
}
@@ -135,7 +135,7 @@ asm void daAlink_c::procHangUpInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHangUp() {
asm int daAlink_c::procHangUp() {
nofralloc
#include "asm/d/a/d_a_alink/procHangUp__9daAlink_cFv.s"
}
@@ -145,7 +145,7 @@ asm void daAlink_c::procHangUp() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHangWaitInit() {
asm int daAlink_c::procHangWaitInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHangWaitInit__9daAlink_cFv.s"
}
@@ -155,7 +155,7 @@ asm void daAlink_c::procHangWaitInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHangWait() {
asm int daAlink_c::procHangWait() {
nofralloc
#include "asm/d/a/d_a_alink/procHangWait__9daAlink_cFv.s"
}
@@ -165,7 +165,7 @@ asm void daAlink_c::procHangWait() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHangMoveInit(int param_0) {
asm int daAlink_c::procHangMoveInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procHangMoveInit__9daAlink_cFi.s"
}
@@ -175,7 +175,7 @@ asm void daAlink_c::procHangMoveInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHangMove() {
asm int daAlink_c::procHangMove() {
nofralloc
#include "asm/d/a/d_a_alink/procHangMove__9daAlink_cFv.s"
}
@@ -185,7 +185,7 @@ asm void daAlink_c::procHangMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHangClimbInit(f32 param_0) {
asm int daAlink_c::procHangClimbInit(f32 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procHangClimbInit__9daAlink_cFf.s"
}
@@ -195,7 +195,7 @@ asm void daAlink_c::procHangClimbInit(f32 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHangClimb() {
asm int daAlink_c::procHangClimb() {
nofralloc
#include "asm/d/a/d_a_alink/procHangClimb__9daAlink_cFv.s"
}
@@ -206,7 +206,7 @@ asm void daAlink_c::procHangClimb() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHangWallCatchInit() {
asm int daAlink_c::procHangWallCatchInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHangWallCatchInit__9daAlink_cFv.s"
}
@@ -216,7 +216,7 @@ asm void daAlink_c::procHangWallCatchInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHangWallCatch() {
asm int daAlink_c::procHangWallCatch() {
nofralloc
#include "asm/d/a/d_a_alink/procHangWallCatch__9daAlink_cFv.s"
}
@@ -226,7 +226,7 @@ asm void daAlink_c::procHangWallCatch() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHangReadyInit() {
asm int daAlink_c::procHangReadyInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHangReadyInit__9daAlink_cFv.s"
}
@@ -236,7 +236,7 @@ asm void daAlink_c::procHangReadyInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHangReady() {
asm int daAlink_c::procHangReady() {
nofralloc
#include "asm/d/a/d_a_alink/procHangReady__9daAlink_cFv.s"
}
@@ -247,7 +247,7 @@ asm void daAlink_c::procHangReady() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHangLeverDownInit() {
asm int daAlink_c::procHangLeverDownInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHangLeverDownInit__9daAlink_cFv.s"
}
@@ -257,7 +257,7 @@ asm void daAlink_c::procHangLeverDownInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHangLeverDown() {
asm int daAlink_c::procHangLeverDown() {
nofralloc
#include "asm/d/a/d_a_alink/procHangLeverDown__9daAlink_cFv.s"
}
@@ -309,7 +309,7 @@ asm void daAlink_c::setBossBodyHangPos() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBossBodyHangInit(fopAc_ac_c* param_0) {
asm int daAlink_c::procBossBodyHangInit(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procBossBodyHangInit__9daAlink_cFP10fopAc_ac_c.s"
}
@@ -319,7 +319,7 @@ asm void daAlink_c::procBossBodyHangInit(fopAc_ac_c* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBossBodyHang() {
asm int daAlink_c::procBossBodyHang() {
nofralloc
#include "asm/d/a/d_a_alink/procBossBodyHang__9daAlink_cFv.s"
}
@@ -413,7 +413,7 @@ asm void daAlink_c::checkLadderFall() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLadderUpStartInit() {
asm int daAlink_c::procLadderUpStartInit() {
nofralloc
#include "asm/d/a/d_a_alink/procLadderUpStartInit__9daAlink_cFv.s"
}
@@ -423,7 +423,7 @@ asm void daAlink_c::procLadderUpStartInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLadderUpStart() {
asm int daAlink_c::procLadderUpStart() {
nofralloc
#include "asm/d/a/d_a_alink/procLadderUpStart__9daAlink_cFv.s"
}
@@ -434,7 +434,7 @@ asm void daAlink_c::procLadderUpStart() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLadderUpEndInit(int param_0) {
asm int daAlink_c::procLadderUpEndInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procLadderUpEndInit__9daAlink_cFi.s"
}
@@ -444,7 +444,7 @@ asm void daAlink_c::procLadderUpEndInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLadderUpEnd() {
asm int daAlink_c::procLadderUpEnd() {
nofralloc
#include "asm/d/a/d_a_alink/procLadderUpEnd__9daAlink_cFv.s"
}
@@ -454,7 +454,7 @@ asm void daAlink_c::procLadderUpEnd() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLadderDownStartInit() {
asm int daAlink_c::procLadderDownStartInit() {
nofralloc
#include "asm/d/a/d_a_alink/procLadderDownStartInit__9daAlink_cFv.s"
}
@@ -465,7 +465,7 @@ asm void daAlink_c::procLadderDownStartInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLadderDownStart() {
asm int daAlink_c::procLadderDownStart() {
nofralloc
#include "asm/d/a/d_a_alink/procLadderDownStart__9daAlink_cFv.s"
}
@@ -476,7 +476,7 @@ asm void daAlink_c::procLadderDownStart() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLadderDownEndInit(int param_0) {
asm int daAlink_c::procLadderDownEndInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procLadderDownEndInit__9daAlink_cFi.s"
}
@@ -486,7 +486,7 @@ asm void daAlink_c::procLadderDownEndInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLadderDownEnd() {
asm int daAlink_c::procLadderDownEnd() {
nofralloc
#include "asm/d/a/d_a_alink/procLadderDownEnd__9daAlink_cFv.s"
}
@@ -496,7 +496,7 @@ asm void daAlink_c::procLadderDownEnd() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLadderMoveInit(int param_0, int param_1, cXyz* param_2) {
asm int daAlink_c::procLadderMoveInit(int param_0, int param_1, cXyz* param_2) {
nofralloc
#include "asm/d/a/d_a_alink/procLadderMoveInit__9daAlink_cFiiP4cXyz.s"
}
@@ -506,7 +506,7 @@ asm void daAlink_c::procLadderMoveInit(int param_0, int param_1, cXyz* param_2)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procLadderMove() {
asm int daAlink_c::procLadderMove() {
nofralloc
#include "asm/d/a/d_a_alink/procLadderMove__9daAlink_cFv.s"
}
@@ -672,7 +672,7 @@ asm void daAlink_c::setClimbStartNotGround() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procClimbUpStartInit(int param_0) {
asm int daAlink_c::procClimbUpStartInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procClimbUpStartInit__9daAlink_cFi.s"
}
@@ -682,7 +682,7 @@ asm void daAlink_c::procClimbUpStartInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procClimbUpStart() {
asm int daAlink_c::procClimbUpStart() {
nofralloc
#include "asm/d/a/d_a_alink/procClimbUpStart__9daAlink_cFv.s"
}
@@ -692,7 +692,7 @@ asm void daAlink_c::procClimbUpStart() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procClimbDownStartInit(s16 param_0) {
asm int daAlink_c::procClimbDownStartInit(s16 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procClimbDownStartInit__9daAlink_cFs.s"
}
@@ -702,7 +702,7 @@ asm void daAlink_c::procClimbDownStartInit(s16 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procClimbDownStart() {
asm int daAlink_c::procClimbDownStart() {
nofralloc
#include "asm/d/a/d_a_alink/procClimbDownStart__9daAlink_cFv.s"
}
@@ -712,7 +712,7 @@ asm void daAlink_c::procClimbDownStart() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procClimbMoveUpDownInit(int param_0) {
asm int daAlink_c::procClimbMoveUpDownInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procClimbMoveUpDownInit__9daAlink_cFi.s"
}
@@ -723,7 +723,7 @@ asm void daAlink_c::procClimbMoveUpDownInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procClimbMoveUpDown() {
asm int daAlink_c::procClimbMoveUpDown() {
nofralloc
#include "asm/d/a/d_a_alink/procClimbMoveUpDown__9daAlink_cFv.s"
}
@@ -734,7 +734,7 @@ asm void daAlink_c::procClimbMoveUpDown() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procClimbMoveSideInit() {
asm int daAlink_c::procClimbMoveSideInit() {
nofralloc
#include "asm/d/a/d_a_alink/procClimbMoveSideInit__9daAlink_cFv.s"
}
@@ -744,7 +744,7 @@ asm void daAlink_c::procClimbMoveSideInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procClimbMoveSide() {
asm int daAlink_c::procClimbMoveSide() {
nofralloc
#include "asm/d/a/d_a_alink/procClimbMoveSide__9daAlink_cFv.s"
}
@@ -754,7 +754,7 @@ asm void daAlink_c::procClimbMoveSide() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procClimbWaitInit(int param_0, int param_1) {
asm int daAlink_c::procClimbWaitInit(int param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/procClimbWaitInit__9daAlink_cFii.s"
}
@@ -764,7 +764,7 @@ asm void daAlink_c::procClimbWaitInit(int param_0, int param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procClimbWait() {
asm int daAlink_c::procClimbWait() {
nofralloc
#include "asm/d/a/d_a_alink/procClimbWait__9daAlink_cFv.s"
}
@@ -775,7 +775,7 @@ asm void daAlink_c::procClimbWait() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procClimbToRoofInit() {
asm int daAlink_c::procClimbToRoofInit() {
nofralloc
#include "asm/d/a/d_a_alink/procClimbToRoofInit__9daAlink_cFv.s"
}
@@ -785,7 +785,7 @@ asm void daAlink_c::procClimbToRoofInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procClimbToRoof() {
asm int daAlink_c::procClimbToRoof() {
nofralloc
#include "asm/d/a/d_a_alink/procClimbToRoof__9daAlink_cFv.s"
}
@@ -858,7 +858,7 @@ asm void daAlink_c::checkNextActionRoofHang() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procRoofHangStartInit(cBgS_PolyInfo const& param_0, cXyz const& param_1,
asm int daAlink_c::procRoofHangStartInit(cBgS_PolyInfo const& param_0, cXyz const& param_1,
int param_2) {
nofralloc
#include "asm/d/a/d_a_alink/procRoofHangStartInit__9daAlink_cFRC13cBgS_PolyInfoRC4cXyzi.s"
@@ -869,7 +869,7 @@ asm void daAlink_c::procRoofHangStartInit(cBgS_PolyInfo const& param_0, cXyz con
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procRoofHangStart() {
asm int daAlink_c::procRoofHangStart() {
nofralloc
#include "asm/d/a/d_a_alink/procRoofHangStart__9daAlink_cFv.s"
}
@@ -880,7 +880,7 @@ asm void daAlink_c::procRoofHangStart() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procRoofHangWaitInit(int param_0) {
asm int daAlink_c::procRoofHangWaitInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procRoofHangWaitInit__9daAlink_cFi.s"
}
@@ -890,7 +890,7 @@ asm void daAlink_c::procRoofHangWaitInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procRoofHangWait() {
asm int daAlink_c::procRoofHangWait() {
nofralloc
#include "asm/d/a/d_a_alink/procRoofHangWait__9daAlink_cFv.s"
}
@@ -900,7 +900,7 @@ asm void daAlink_c::procRoofHangWait() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procRoofHangFrontMoveInit() {
asm int daAlink_c::procRoofHangFrontMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procRoofHangFrontMoveInit__9daAlink_cFv.s"
}
@@ -911,7 +911,7 @@ asm void daAlink_c::procRoofHangFrontMoveInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procRoofHangFrontMove() {
asm int daAlink_c::procRoofHangFrontMove() {
nofralloc
#include "asm/d/a/d_a_alink/procRoofHangFrontMove__9daAlink_cFv.s"
}
@@ -921,7 +921,7 @@ asm void daAlink_c::procRoofHangFrontMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procRoofHangSideMoveInit() {
asm int daAlink_c::procRoofHangSideMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procRoofHangSideMoveInit__9daAlink_cFv.s"
}
@@ -932,7 +932,7 @@ asm void daAlink_c::procRoofHangSideMoveInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procRoofHangSideMove() {
asm int daAlink_c::procRoofHangSideMove() {
nofralloc
#include "asm/d/a/d_a_alink/procRoofHangSideMove__9daAlink_cFv.s"
}
@@ -943,7 +943,7 @@ asm void daAlink_c::procRoofHangSideMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procRoofHangTurnInit() {
asm int daAlink_c::procRoofHangTurnInit() {
nofralloc
#include "asm/d/a/d_a_alink/procRoofHangTurnInit__9daAlink_cFv.s"
}
@@ -953,7 +953,7 @@ asm void daAlink_c::procRoofHangTurnInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procRoofHangTurn() {
asm int daAlink_c::procRoofHangTurn() {
nofralloc
#include "asm/d/a/d_a_alink/procRoofHangTurn__9daAlink_cFv.s"
}
@@ -974,7 +974,7 @@ asm void daAlink_c::setRoofHangSwitch() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procRoofSwitchHangInit(fopAc_ac_c* param_0) {
asm int daAlink_c::procRoofSwitchHangInit(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procRoofSwitchHangInit__9daAlink_cFP10fopAc_ac_c.s"
}
@@ -984,7 +984,7 @@ asm void daAlink_c::procRoofSwitchHangInit(fopAc_ac_c* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procRoofSwitchHang() {
asm int daAlink_c::procRoofSwitchHang() {
nofralloc
#include "asm/d/a/d_a_alink/procRoofSwitchHang__9daAlink_cFv.s"
}
+51 -49
View File
@@ -40,18 +40,18 @@ cXyz* daAlink_c::getHookshotTopPos() {
/* 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);
(mItemMode == 4 || mItemMode == 5 || mItemMode == 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();
return (checkHookshotItem(mEquipItem) && mItemMode == 3) || checkHookshotReturnMode();
}
/* 801086DC-8010871C 10301C 0040+00 6/6 0/0 0/0 .text resetHookshotMode__9daAlink_cFv */
void daAlink_c::resetHookshotMode() {
mHookshotMode = 0;
mItemMode = 0;
initLockAt();
mSearchBallScale = __float_max[0];
}
@@ -150,7 +150,7 @@ BOOL daAlink_c::checkBossOctaIealRoom() {
/* 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;
return mItemMode == 0 || mItemMode == 1;
}
/* 80108A3C-80108A90 10337C 0054+00 1/1 0/0 0/0 .text setHookshotCatchNow__9daAlink_cFv
@@ -187,7 +187,7 @@ bool daAlink_c::setHookshotCarryOffset(unsigned int actorID, cXyz const* offset)
fopAc_ac_c* actor = field_0x284c.getActor();
if (actor != NULL && fopAcM_checkHookCarryNow(actor) && actorID == field_0x284c.getID()) {
field_0x37f8 = *offset;
mIronBallCenterPos = *offset;
return true;
}
@@ -231,16 +231,16 @@ void daAlink_c::setHookshotModel() {
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(AT_TYPE_HOOKSHOT);
field_0x122C[0].SetAtHitMark(1);
field_0x122C[0].OnAtSetBit();
field_0x122C[0].SetAtHitCallback(daAlink_hookshotAtHitCallBack);
field_0x122C[0].SetAtMtrl(0);
mAtCps[0].SetAtSpl(dCcG_At_Spl_UNK_0);
mAtCps[0].OffAtNoHitMark();
mAtCps[0].SetAtAtp(0);
mAtCps[0].SetR(lit_7808);
mAtCps[0].SetAtSe(8);
mAtCps[0].SetAtType(AT_TYPE_HOOKSHOT);
mAtCps[0].SetAtHitMark(1);
mAtCps[0].OnAtSetBit();
mAtCps[0].SetAtHitCallback(daAlink_hookshotAtHitCallBack);
mAtCps[0].SetAtMtrl(0);
field_0x076c->init(&mHookshotTopPos, 1);
}
@@ -257,9 +257,9 @@ asm void daAlink_c::setHookshotSight() {
/* 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)) {
(mItemMode == 3 || mItemMode == 5 || mItemMode == 4)) {
if (mProcID != PROC_HOOKSHOT_MOVE && mProcID != PROC_HOOKSHOT_FLY && mProcID != PROC_HOOKSHOT_SUBJECT) {
mHookshotMode = 6;
mItemMode = 6;
}
}
}
@@ -268,7 +268,7 @@ void daAlink_c::cancelHookshotShot() {
// checkAttentionLock has weird codegen
#ifdef NONMATCHING
bool daAlink_c::cancelHookshotMove() {
if (mFastShotTime == 0 && mHookshotMode == 0) {
if (mFastShotTime == 0 && mItemMode == 0) {
if (checkHookshotAnime() &&
(mTargetedActor == NULL && !i_checkAttentionLock() || !itemButton())) {
resetUpperAnime(UPPER_2, -1.0f);
@@ -291,24 +291,26 @@ asm bool daAlink_c::cancelHookshotMove() {
/* 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"
BOOL daAlink_c::checkHookshotReadyMaterialOffMode() const {
return mProcID == PROC_HOOKSHOT_WALL_SHOOT || mProcID == PROC_HORSE_HOOKSHOT_SUBJECT ||
mProcID == PROC_SWIM_HOOKSHOT_SUBJECT || mProcID == PROC_HOOKSHOT_SUBJECT;
}
#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"
void daAlink_c::setHookshotReadyMaterial() {
if (i_checkNoResetFlg2(FLG2_UNK_80000) || checkCasualWearFlg()) {
mFallVoiceInit = 0;
} else if (checkZoraWearFlg()) {
field_0x32cc = 0x37B;
mFallVoiceInit = 14;
} else if (checkMagicArmorWearFlg()) {
field_0x32cc = 0xC80;
mFallVoiceInit = 13;
} else {
field_0x32cc = 0x11C47;
mFallVoiceInit = 18;
}
}
#pragma pop
/* 801090EC-80109170 103A2C 0084+00 8/8 0/0 0/0 .text initHookshotUpperAnimeSpeed__9daAlink_cFi */
#pragma push
@@ -356,7 +358,7 @@ asm void daAlink_c::checkUpperItemActionHookshot() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkNextActionHookshot() {
asm int daAlink_c::checkNextActionHookshot() {
nofralloc
#include "asm/d/a/d_a_alink/checkNextActionHookshot__9daAlink_cFv.s"
}
@@ -501,7 +503,7 @@ asm void daAlink_c::commonHookshotWallWait() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotSubjectInit() {
asm int daAlink_c::procHookshotSubjectInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotSubjectInit__9daAlink_cFv.s"
}
@@ -512,7 +514,7 @@ asm void daAlink_c::procHookshotSubjectInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotSubject() {
asm int daAlink_c::procHookshotSubject() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotSubject__9daAlink_cFv.s"
}
@@ -523,7 +525,7 @@ asm void daAlink_c::procHookshotSubject() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotMoveInit() {
asm int daAlink_c::procHookshotMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotMoveInit__9daAlink_cFv.s"
}
@@ -533,7 +535,7 @@ asm void daAlink_c::procHookshotMoveInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotMove() {
asm int daAlink_c::procHookshotMove() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotMove__9daAlink_cFv.s"
}
@@ -544,7 +546,7 @@ asm void daAlink_c::procHookshotMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotFlyInit() {
asm int daAlink_c::procHookshotFlyInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotFlyInit__9daAlink_cFv.s"
}
@@ -554,7 +556,7 @@ asm void daAlink_c::procHookshotFlyInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotFly() {
asm int daAlink_c::procHookshotFly() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotFly__9daAlink_cFv.s"
}
@@ -565,7 +567,7 @@ asm void daAlink_c::procHookshotFly() {
#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) {
asm int 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"
}
@@ -576,7 +578,7 @@ asm void daAlink_c::procHookshotRoofWaitInit(int param_0, fopAc_ac_c* param_1, i
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotRoofWait() {
asm int daAlink_c::procHookshotRoofWait() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotRoofWait__9daAlink_cFv.s"
}
@@ -587,7 +589,7 @@ asm void daAlink_c::procHookshotRoofWait() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotRoofShootInit(fopAc_ac_c* param_0) {
asm int daAlink_c::procHookshotRoofShootInit(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotRoofShootInit__9daAlink_cFP10fopAc_ac_c.s"
}
@@ -598,7 +600,7 @@ asm void daAlink_c::procHookshotRoofShootInit(fopAc_ac_c* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotRoofShoot() {
asm int daAlink_c::procHookshotRoofShoot() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotRoofShoot__9daAlink_cFv.s"
}
@@ -609,7 +611,7 @@ asm void daAlink_c::procHookshotRoofShoot() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotRoofBootsInit(fopAc_ac_c* param_0) {
asm int daAlink_c::procHookshotRoofBootsInit(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotRoofBootsInit__9daAlink_cFP10fopAc_ac_c.s"
}
@@ -620,7 +622,7 @@ asm void daAlink_c::procHookshotRoofBootsInit(fopAc_ac_c* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotRoofBoots() {
asm int daAlink_c::procHookshotRoofBoots() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotRoofBoots__9daAlink_cFv.s"
}
@@ -630,7 +632,7 @@ asm void daAlink_c::procHookshotRoofBoots() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotWallWaitInit(int param_0, s16 param_1, int param_2) {
asm int daAlink_c::procHookshotWallWaitInit(int param_0, s16 param_1, int param_2) {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotWallWaitInit__9daAlink_cFisi.s"
}
@@ -641,7 +643,7 @@ asm void daAlink_c::procHookshotWallWaitInit(int param_0, s16 param_1, int param
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotWallWait() {
asm int daAlink_c::procHookshotWallWait() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotWallWait__9daAlink_cFv.s"
}
@@ -651,7 +653,7 @@ asm void daAlink_c::procHookshotWallWait() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotWallShootInit() {
asm int daAlink_c::procHookshotWallShootInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotWallShootInit__9daAlink_cFv.s"
}
@@ -662,7 +664,7 @@ asm void daAlink_c::procHookshotWallShootInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHookshotWallShoot() {
asm int daAlink_c::procHookshotWallShoot() {
nofralloc
#include "asm/d/a/d_a_alink/procHookshotWallShoot__9daAlink_cFv.s"
}
+117 -157
View File
@@ -9,14 +9,13 @@ static asm void* daAlink_searchBoar(fopAc_ac_c* param_0, void* param_1) {
#pragma pop
/* 800EC758-800EC76C 0E7098 0014+00 1/1 0/0 0/0 .text daAlink_searchCoach__FP10fopAc_ac_cPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daAlink_searchCoach(fopAc_ac_c* param_0, void* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/daAlink_searchCoach__FP10fopAc_ac_cPv.s"
static fopAc_ac_c* daAlink_searchCoach(fopAc_ac_c* param_0, void* param_1) {
if (fopAcM_GetName(param_0) == PROC_NPC_COACH) {
return param_0;
}
return NULL;
}
#pragma pop
/* 800EC76C-800EC7B0 0E70AC 0044+00 3/3 0/0 0/0 .text checkHorseZeldaBowMode__9daAlink_cFv */
#pragma push
@@ -41,35 +40,29 @@ asm void daAlink_c::setHorseZeldaDamage() {
/* 800EC7DC-800EC814 0E711C 0038+00 2/2 0/0 0/0 .text checkHorseDashAccept__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::checkHorseDashAccept() {
nofralloc
#include "asm/d/a/d_a_alink/checkHorseDashAccept__9daAlink_cFv.s"
BOOL daAlink_c::checkHorseDashAccept() {
return !checkStageName("F_SP103");
}
#pragma pop
/* 800EC814-800EC87C 0E7154 0068+00 1/1 0/0 0/0 .text checkCowGame__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkCowGame() {
nofralloc
#include "asm/d/a/d_a_alink/checkCowGame__9daAlink_cFv.s"
BOOL daAlink_c::checkCowGame() {
return checkStageName("F_SP00") &&
(dComIfGp_getStartStageLayer() == 4 || dComIfGp_getStartStageLayer() == 5);
}
#pragma pop
/* 800EC87C-800EC8F8 0E71BC 007C+00 2/2 0/0 0/0 .text getReinRideDirection__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getReinRideDirection() {
nofralloc
#include "asm/d/a/d_a_alink/getReinRideDirection__9daAlink_cFv.s"
int daAlink_c::getReinRideDirection() {
s16 angle = fopAcM_searchActorAngleY(field_0x27f4, this) - field_0x27f4->shape_angle.y;
if (fopAcM_GetName(field_0x27f4) == PROC_HORSE && abs(angle) > 0x6800) {
return DIR_BACKWARD;
} else if (angle > 0) {
return DIR_LEFT;
}
return DIR_RIGHT;
}
#pragma pop
/* 800EC8F8-800ECA3C 0E7238 0144+00 1/1 0/0 0/0 .text checkReinRideBgCheck__9daAlink_cFv
*/
@@ -83,14 +76,19 @@ asm void daAlink_c::checkReinRideBgCheck() {
#pragma pop
/* 800ECA3C-800ECAAC 0E737C 0070+00 3/3 0/0 0/0 .text commonInitForceRideRein__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::commonInitForceRideRein() {
nofralloc
#include "asm/d/a/d_a_alink/commonInitForceRideRein__9daAlink_cFv.s"
void daAlink_c::commonInitForceRideRein() {
setHeavyBoots(0);
onModeFlg(0x400);
field_0x2fc0 = 0;
field_0x2fab = 0x13;
field_0x3002 = 0;
field_0x3004 = 0;
field_0x30a6 = 0;
initServiceWaitTime();
mAttentionInfo.field_0xa = 0x46;
mUnderFrameCtrl[0].onEndFlg();
}
#pragma pop
/* 800ECAAC-800ECB58 0E73EC 00AC+00 1/1 0/0 0/0 .text initForceRideBoar__9daAlink_cFv */
#pragma push
@@ -103,14 +101,14 @@ asm void daAlink_c::initForceRideBoar() {
#pragma pop
/* 800ECB58-800ECBD0 0E7498 0078+00 4/4 0/0 0/0 .text initForceRideHorse__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::initForceRideHorse() {
nofralloc
#include "asm/d/a/d_a_alink/initForceRideHorse__9daAlink_cFv.s"
void daAlink_c::initForceRideHorse() {
commonInitForceRideRein();
mRideStatus = 1;
mRideAcKeep.setData(i_dComIfGp_getHorseActor());
field_0x384c = (cXyz*)&l_horseBaseAnime;
i_dComIfGp_getHorseActor()->onRideFlg();
mZ2Link.setRiding(true);
}
#pragma pop
/* 800ECBD0-800ECD90 0E7510 01C0+00 5/5 0/0 0/0 .text rideGetOff__9daAlink_cFv */
#pragma push
@@ -124,34 +122,20 @@ asm void daAlink_c::rideGetOff() {
/* 800ECD90-800ECDC4 0E76D0 0034+00 1/1 0/0 0/0 .text checkHorseNotDamageReaction__9daAlink_cCFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkHorseNotDamageReaction() const {
nofralloc
#include "asm/d/a/d_a_alink/checkHorseNotDamageReaction__9daAlink_cCFv.s"
BOOL daAlink_c::checkHorseNotDamageReaction() const {
return mProcID == PROC_HORSE_TURN || mProcID == PROC_HORSE_JUMP || mProcID == PROC_HORSE_HANG ||
mProcID == PROC_HORSE_LAND;
}
#pragma pop
/* 800ECDC4-800ECDEC 0E7704 0028+00 1/1 0/0 2/2 .text checkHorseWaitLashAnime__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkHorseWaitLashAnime() const {
nofralloc
#include "asm/d/a/d_a_alink/checkHorseWaitLashAnime__9daAlink_cCFv.s"
BOOL daAlink_c::checkHorseWaitLashAnime() const {
return checkHorseUnderDashStartAnime() && i_checkModeFlg(1);
}
#pragma pop
/* 800ECDEC-800ECE10 0E772C 0024+00 1/1 0/0 0/0 .text checkHorseReinLeftOnly__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkHorseReinLeftOnly() const {
nofralloc
#include "asm/d/a/d_a_alink/checkHorseReinLeftOnly__9daAlink_cCFv.s"
BOOL daAlink_c::checkHorseReinLeftOnly() const {
return (field_0x2fab & 8) && !(field_0x2fab & 0x10);
}
#pragma pop
/* 800ECE10-800ECF04 0E7750 00F4+00 2/2 0/0 0/0 .text getReinHandType__9daAlink_cCFv */
#pragma push
@@ -165,35 +149,22 @@ asm void daAlink_c::getReinHandType() const {
/* 800ECF04-800ECF5C 0E7844 0058+00 5/5 0/0 1/1 .text checkHorseLieAnime__9daAlink_cCFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL daAlink_c::checkHorseLieAnime() const {
nofralloc
#include "asm/d/a/d_a_alink/checkHorseLieAnime__9daAlink_cCFv.s"
BOOL daAlink_c::checkHorseLieAnime() const {
return checkUnderMove0BckNoArc(ANM_HORSE_CROUCH) || checkUpperHorseLieAnime();
}
#pragma pop
/* 800ECF5C-800ECF9C 0E789C 0040+00 0/0 0/0 3/3 .text checkHorseSubjectivity__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkHorseSubjectivity() const {
nofralloc
#include "asm/d/a/d_a_alink/checkHorseSubjectivity__9daAlink_cCFv.s"
BOOL daAlink_c::checkHorseSubjectivity() const {
return i_dComIfGp_checkPlayerStatus0(0, 0x2000) || mProcID == PROC_HORSE_BOW_SUBJECT ||
mProcID == PROC_HORSE_HOOKSHOT_SUBJECT || mProcID == PROC_HORSE_BOOMERANG_SUBJECT;
}
#pragma pop
/* 800ECF9C-800ECFF4 0E78DC 0058+00 2/2 0/0 0/0 .text setHorseSwordUpAnime__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setHorseSwordUpAnime() {
nofralloc
#include "asm/d/a/d_a_alink/setHorseSwordUpAnime__9daAlink_cFv.s"
void daAlink_c::setHorseSwordUpAnime() {
setUpperAnimeBaseSpeed(0xCC, daAlinkHIO_horse_c0::m.mSwordUpAnmSpeed, daAlinkHIO_horse_c0::m.mSwordUpInterpolation);
setFaceBck(0xE8, 1, 0xFFFF);
}
#pragma pop
/* 800ECFF4-800ED074 0E7934 0080+00 1/1 0/0 0/0 .text setHorseTurnUpperAnime__9daAlink_cFi */
#pragma push
@@ -206,14 +177,9 @@ asm void daAlink_c::setHorseTurnUpperAnime(int param_0) {
#pragma pop
/* 800ED074-800ED0D4 0E79B4 0060+00 9/9 0/0 0/0 .text checkHorseNoUpperAnime__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL daAlink_c::checkHorseNoUpperAnime() const {
nofralloc
#include "asm/d/a/d_a_alink/checkHorseNoUpperAnime__9daAlink_cCFv.s"
BOOL daAlink_c::checkHorseNoUpperAnime() const {
return checkHorseTiredAnime() || checkNoUpperAnime() || checkHorseSwordUpAnime();
}
#pragma pop
/* 800ED0D4-800ED1F0 0E7A14 011C+00 0/0 0/0 2/2 .text getHorseReinHandPos__9daAlink_cFP4cXyzP4cXyz
*/
@@ -247,14 +213,9 @@ asm void daAlink_c::setHorseStirrup() {
#pragma pop
/* 800ED4B8-800ED4DC 0E7DF8 0024+00 1/1 0/0 0/0 .text changeBoarRunRide__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::changeBoarRunRide() {
nofralloc
#include "asm/d/a/d_a_alink/changeBoarRunRide__9daAlink_cFv.s"
void daAlink_c::changeBoarRunRide() {
static_cast<e_wb_class*>(mRideAcKeep.getActor())->setRunRideMode();
}
#pragma pop
/* 800ED4DC-800ED78C 0E7E1C 02B0+00 7/7 0/0 0/0 .text setSyncHorsePos__9daAlink_cFv */
#pragma push
@@ -287,14 +248,13 @@ asm void daAlink_c::setSyncBoarRunPos() {
#pragma pop
/* 800EDA24-800EDA78 0E8364 0054+00 33/33 0/0 0/0 .text setSyncRidePos__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setSyncRidePos() {
nofralloc
#include "asm/d/a/d_a_alink/setSyncRidePos__9daAlink_cFv.s"
void daAlink_c::setSyncRidePos() {
if (checkHorseRide()) {
setSyncHorsePos();
} else {
setSyncBoarPos();
}
}
#pragma pop
/* 800EDA78-800EDB48 0E83B8 00D0+00 6/6 0/0 0/0 .text setHorseTurnAnime__9daAlink_cFv */
#pragma push
@@ -525,7 +485,7 @@ asm void daAlink_c::setHorseGetOff(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseRideInit() {
asm int daAlink_c::procHorseRideInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseRideInit__9daAlink_cFv.s"
}
@@ -535,7 +495,7 @@ asm void daAlink_c::procHorseRideInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseRide() {
asm int daAlink_c::procHorseRide() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseRide__9daAlink_cFv.s"
}
@@ -546,7 +506,7 @@ asm void daAlink_c::procHorseRide() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseGetOffInit(int param_0) {
asm int daAlink_c::procHorseGetOffInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procHorseGetOffInit__9daAlink_cFi.s"
}
@@ -556,7 +516,7 @@ asm void daAlink_c::procHorseGetOffInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseGetOff() {
asm int daAlink_c::procHorseGetOff() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseGetOff__9daAlink_cFv.s"
}
@@ -567,7 +527,7 @@ asm void daAlink_c::procHorseGetOff() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseWaitInit() {
asm int daAlink_c::procHorseWaitInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseWaitInit__9daAlink_cFv.s"
}
@@ -577,7 +537,7 @@ asm void daAlink_c::procHorseWaitInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseWait() {
asm int daAlink_c::procHorseWait() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseWait__9daAlink_cFv.s"
}
@@ -587,7 +547,7 @@ asm void daAlink_c::procHorseWait() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseTurnInit() {
asm int daAlink_c::procHorseTurnInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseTurnInit__9daAlink_cFv.s"
}
@@ -597,7 +557,7 @@ asm void daAlink_c::procHorseTurnInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseTurn() {
asm int daAlink_c::procHorseTurn() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseTurn__9daAlink_cFv.s"
}
@@ -607,7 +567,7 @@ asm void daAlink_c::procHorseTurn() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseJumpInit() {
asm int daAlink_c::procHorseJumpInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseJumpInit__9daAlink_cFv.s"
}
@@ -617,7 +577,7 @@ asm void daAlink_c::procHorseJumpInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseJump() {
asm int daAlink_c::procHorseJump() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseJump__9daAlink_cFv.s"
}
@@ -627,7 +587,7 @@ asm void daAlink_c::procHorseJump() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseLandInit() {
asm int daAlink_c::procHorseLandInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseLandInit__9daAlink_cFv.s"
}
@@ -637,7 +597,7 @@ asm void daAlink_c::procHorseLandInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseLand() {
asm int daAlink_c::procHorseLand() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseLand__9daAlink_cFv.s"
}
@@ -647,7 +607,7 @@ asm void daAlink_c::procHorseLand() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseSubjectivityInit() {
asm int daAlink_c::procHorseSubjectivityInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseSubjectivityInit__9daAlink_cFv.s"
}
@@ -658,7 +618,7 @@ asm void daAlink_c::procHorseSubjectivityInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseSubjectivity() {
asm int daAlink_c::procHorseSubjectivity() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseSubjectivity__9daAlink_cFv.s"
}
@@ -668,7 +628,7 @@ asm void daAlink_c::procHorseSubjectivity() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseCutInit() {
asm int daAlink_c::procHorseCutInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseCutInit__9daAlink_cFv.s"
}
@@ -678,7 +638,7 @@ asm void daAlink_c::procHorseCutInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseCut() {
asm int daAlink_c::procHorseCut() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseCut__9daAlink_cFv.s"
}
@@ -688,7 +648,7 @@ asm void daAlink_c::procHorseCut() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseCutChargeReadyInit() {
asm int daAlink_c::procHorseCutChargeReadyInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseCutChargeReadyInit__9daAlink_cFv.s"
}
@@ -698,7 +658,7 @@ asm void daAlink_c::procHorseCutChargeReadyInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseCutChargeReady() {
asm int daAlink_c::procHorseCutChargeReady() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseCutChargeReady__9daAlink_cFv.s"
}
@@ -709,7 +669,7 @@ asm void daAlink_c::procHorseCutChargeReady() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseCutTurnInit() {
asm int daAlink_c::procHorseCutTurnInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseCutTurnInit__9daAlink_cFv.s"
}
@@ -719,7 +679,7 @@ asm void daAlink_c::procHorseCutTurnInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseCutTurn() {
asm int daAlink_c::procHorseCutTurn() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseCutTurn__9daAlink_cFv.s"
}
@@ -730,7 +690,7 @@ asm void daAlink_c::procHorseCutTurn() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseDamageInit(dCcD_GObjInf* param_0) {
asm int daAlink_c::procHorseDamageInit(dCcD_GObjInf* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procHorseDamageInit__9daAlink_cFP12dCcD_GObjInf.s"
}
@@ -740,7 +700,7 @@ asm void daAlink_c::procHorseDamageInit(dCcD_GObjInf* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseDamage() {
asm int daAlink_c::procHorseDamage() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseDamage__9daAlink_cFv.s"
}
@@ -750,7 +710,7 @@ asm void daAlink_c::procHorseDamage() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseBowSubjectInit() {
asm int daAlink_c::procHorseBowSubjectInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseBowSubjectInit__9daAlink_cFv.s"
}
@@ -761,7 +721,7 @@ asm void daAlink_c::procHorseBowSubjectInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseBowSubject() {
asm int daAlink_c::procHorseBowSubject() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseBowSubject__9daAlink_cFv.s"
}
@@ -772,7 +732,7 @@ asm void daAlink_c::procHorseBowSubject() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseBowMoveInit() {
asm int daAlink_c::procHorseBowMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseBowMoveInit__9daAlink_cFv.s"
}
@@ -782,7 +742,7 @@ asm void daAlink_c::procHorseBowMoveInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseBowMove() {
asm int daAlink_c::procHorseBowMove() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseBowMove__9daAlink_cFv.s"
}
@@ -793,7 +753,7 @@ asm void daAlink_c::procHorseBowMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseGrabMoveInit() {
asm int daAlink_c::procHorseGrabMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseGrabMoveInit__9daAlink_cFv.s"
}
@@ -803,7 +763,7 @@ asm void daAlink_c::procHorseGrabMoveInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseGrabMove() {
asm int daAlink_c::procHorseGrabMove() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseGrabMove__9daAlink_cFv.s"
}
@@ -814,7 +774,7 @@ asm void daAlink_c::procHorseGrabMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseBoomerangSubjectInit() {
asm int daAlink_c::procHorseBoomerangSubjectInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseBoomerangSubjectInit__9daAlink_cFv.s"
}
@@ -824,7 +784,7 @@ asm void daAlink_c::procHorseBoomerangSubjectInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseBoomerangSubject() {
asm int daAlink_c::procHorseBoomerangSubject() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseBoomerangSubject__9daAlink_cFv.s"
}
@@ -834,7 +794,7 @@ asm void daAlink_c::procHorseBoomerangSubject() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseBoomerangMoveInit() {
asm int daAlink_c::procHorseBoomerangMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseBoomerangMoveInit__9daAlink_cFv.s"
}
@@ -844,7 +804,7 @@ asm void daAlink_c::procHorseBoomerangMoveInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseBoomerangMove() {
asm int daAlink_c::procHorseBoomerangMove() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseBoomerangMove__9daAlink_cFv.s"
}
@@ -855,7 +815,7 @@ asm void daAlink_c::procHorseBoomerangMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseHookshotSubjectInit() {
asm int daAlink_c::procHorseHookshotSubjectInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseHookshotSubjectInit__9daAlink_cFv.s"
}
@@ -865,7 +825,7 @@ asm void daAlink_c::procHorseHookshotSubjectInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseHookshotSubject() {
asm int daAlink_c::procHorseHookshotSubject() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseHookshotSubject__9daAlink_cFv.s"
}
@@ -875,7 +835,7 @@ asm void daAlink_c::procHorseHookshotSubject() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseHookshotMoveInit() {
asm int daAlink_c::procHorseHookshotMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseHookshotMoveInit__9daAlink_cFv.s"
}
@@ -886,7 +846,7 @@ asm void daAlink_c::procHorseHookshotMoveInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseHookshotMove() {
asm int daAlink_c::procHorseHookshotMove() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseHookshotMove__9daAlink_cFv.s"
}
@@ -896,7 +856,7 @@ asm void daAlink_c::procHorseHookshotMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseBottleDrinkInit(u16 param_0) {
asm int daAlink_c::procHorseBottleDrinkInit(u16 param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procHorseBottleDrinkInit__9daAlink_cFUs.s"
}
@@ -907,7 +867,7 @@ asm void daAlink_c::procHorseBottleDrinkInit(u16 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseBottleDrink() {
asm int daAlink_c::procHorseBottleDrink() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseBottleDrink__9daAlink_cFv.s"
}
@@ -917,7 +877,7 @@ asm void daAlink_c::procHorseBottleDrink() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseKandelaarPourInit() {
asm int daAlink_c::procHorseKandelaarPourInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseKandelaarPourInit__9daAlink_cFv.s"
}
@@ -927,7 +887,7 @@ asm void daAlink_c::procHorseKandelaarPourInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseKandelaarPour() {
asm int daAlink_c::procHorseKandelaarPour() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseKandelaarPour__9daAlink_cFv.s"
}
@@ -938,7 +898,7 @@ asm void daAlink_c::procHorseKandelaarPour() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseComebackInit() {
asm int daAlink_c::procHorseComebackInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseComebackInit__9daAlink_cFv.s"
}
@@ -948,7 +908,7 @@ asm void daAlink_c::procHorseComebackInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseComeback() {
asm int daAlink_c::procHorseComeback() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseComeback__9daAlink_cFv.s"
}
@@ -958,7 +918,7 @@ asm void daAlink_c::procHorseComeback() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseRunInit() {
asm int daAlink_c::procHorseRunInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseRunInit__9daAlink_cFv.s"
}
@@ -968,7 +928,7 @@ asm void daAlink_c::procHorseRunInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseRun() {
asm int daAlink_c::procHorseRun() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseRun__9daAlink_cFv.s"
}
@@ -979,7 +939,7 @@ asm void daAlink_c::procHorseRun() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseHangInit(dCcD_GObjInf* param_0, int param_1) {
asm int daAlink_c::procHorseHangInit(dCcD_GObjInf* param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/procHorseHangInit__9daAlink_cFP12dCcD_GObjInfi.s"
}
@@ -989,7 +949,7 @@ asm void daAlink_c::procHorseHangInit(dCcD_GObjInf* param_0, int param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseHang() {
asm int daAlink_c::procHorseHang() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseHang__9daAlink_cFv.s"
}
@@ -1000,7 +960,7 @@ asm void daAlink_c::procHorseHang() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseGetKeyInit() {
asm int daAlink_c::procHorseGetKeyInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseGetKeyInit__9daAlink_cFv.s"
}
@@ -1010,7 +970,7 @@ asm void daAlink_c::procHorseGetKeyInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseGetKey() {
asm int daAlink_c::procHorseGetKey() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseGetKey__9daAlink_cFv.s"
}
@@ -1021,7 +981,7 @@ asm void daAlink_c::procHorseGetKey() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseLookDownInit() {
asm int daAlink_c::procHorseLookDownInit() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseLookDownInit__9daAlink_cFv.s"
}
@@ -1031,7 +991,7 @@ asm void daAlink_c::procHorseLookDownInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procHorseLookDown() {
asm int daAlink_c::procHorseLookDown() {
nofralloc
#include "asm/d/a/d_a_alink/procHorseLookDown__9daAlink_cFv.s"
}
@@ -1041,7 +1001,7 @@ asm void daAlink_c::procHorseLookDown() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoarRunInit() {
asm int daAlink_c::procBoarRunInit() {
nofralloc
#include "asm/d/a/d_a_alink/procBoarRunInit__9daAlink_cFv.s"
}
@@ -1051,7 +1011,7 @@ asm void daAlink_c::procBoarRunInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoarRun() {
asm int daAlink_c::procBoarRun() {
nofralloc
#include "asm/d/a/d_a_alink/procBoarRun__9daAlink_cFv.s"
}
+40 -18
View File
@@ -1,3 +1,24 @@
#include "dolphin/types.h"
#include "d/a/d_a_alink.h"
#include "JSystem/J2DGraph/J2DAnmLoader.h"
#include "JSystem/J3DGraphLoader/J3DAnmLoader.h"
#include "JSystem/JMath/JMath.h"
#include "SSystem/SComponent/c_math.h"
#include "Z2AudioLib/Z2AudioMgr.h"
#include "d/com/d_com_inf_game.h"
#include "d/msg/d_msg_object.h"
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_audio.h"
#include "m_Do/m_Do_ext.h"
#include "m_Do/m_Do_mtx.h"
#include "rel/d/a/d_a_crod/d_a_crod.h"
#include "rel/d/a/d_a_horse/d_a_horse.h"
#include "rel/d/a/d_a_scene_exit/d_a_scene_exit.h"
#include "rel/d/a/d_a_mg_rod/d_a_mg_rod.h"
#include "rel/d/a/d_a_spinner/d_a_spinner.h"
#include "rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h"
#include "rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.h"
/* 800E23FC-800E243C 0DCD3C 0040+00 6/6 0/0 0/0 .text concatMagneBootMtx__9daAlink_cFv */
void daAlink_c::concatMagneBootMtx() {
if (i_checkMagneBootsOn()) {
@@ -22,8 +43,8 @@ void daAlink_c::multVecMagneBootInvMtx(cXyz* 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);
int daAlink_c::commonMagneLineCheck(cXyz* i_start, cXyz* i_end) {
mMagneLineChk.Set(i_start, i_end, this);
if (dComIfG_Bgsp().LineCross(&mMagneLineChk) && daTagMagne_c::checkMagnetCode(mMagneLineChk)) {
return 1;
@@ -34,14 +55,9 @@ int daAlink_c::commonMagneLineCheck(cXyz* param_0, cXyz* param_1) {
/* 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"
BOOL daAlink_c::checkBootsMoveAnime(int param_0) {
return (checkHeavyStateOn(param_0, 1) && !i_checkNoResetFlg0(FLG0_UNDERWATER)) || checkDkCaught2Anime();
}
#pragma pop
/* 800E2580-800E2738 0DCEC0 01B8+00 17/17 0/0 0/0 .text setHeavyBoots__9daAlink_cFi */
#pragma push
@@ -116,20 +132,26 @@ int daAlink_c::checkMagneBootsFly() {
}
/* 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"
int daAlink_c::procBootsEquipInit() {
commonProcInit(PROC_BOOTS_EQUIP);
setSingleAnimeParam(ANM_HVY_BOOTS_PUT_ON, &daAlinkHIO_magneBoots_c0::m.mEquipAnm);
if (checkUpperReadyThrowAnime()) {
resetUpperAnime(UPPER_2, lit_6041);
dComIfGp_clearPlayerStatus0(0, ~0x400030);
}
current.angle.y = shape_angle.y;
mNormalSpeed = FLOAT_LABEL(lit_6108);
return 1;
}
#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() {
asm int daAlink_c::procBootsEquip() {
nofralloc
#include "asm/d/a/d_a_alink/procBootsEquip__9daAlink_cFv.s"
}
@@ -150,7 +172,7 @@ asm int daAlink_c::procMagneBootsFlyInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procMagneBootsFly() {
asm int daAlink_c::procMagneBootsFly() {
nofralloc
#include "asm/d/a/d_a_alink/procMagneBootsFly__9daAlink_cFv.s"
}
+188 -122
View File
@@ -1,49 +1,34 @@
/* 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"
static fopAc_ac_c* daAlink_searchIceLeaf(fopAc_ac_c* i_actor, void* param_1) {
if (fopAcM_GetName(i_actor) == PROC_Obj_IceLeaf) {
return i_actor;
}
return NULL;
}
#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"
bool daAlink_c::checkSnowCode() const {
return field_0x2fa8 == 6 || field_0x2fa8 == 5;
}
#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"
bool daAlink_c::checkSnowCodePolygon(cBgS_PolyInfo& i_poly) {
int code = dComIfG_Bgsp().GetSpecialCode(i_poly);
return code == 6 || code == 5;
}
#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"
bool daAlink_c::checkBoardRestart() {
return (mRideStatus == 0 && mRideAcKeep.getActor() != NULL) && fopAcM_GetName(mRideAcKeep.getActor()) == PROC_Obj_IceLeaf;
}
#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) {
asm int daAlink_c::boardCommon(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/boardCommon__9daAlink_cFi.s"
}
@@ -51,58 +36,61 @@ asm void daAlink_c::boardCommon(int param_0) {
/* 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"
void daAlink_c::setCommonBoardAnime(int param_0) {
setDoubleAnime(FLOAT_LABEL(lit_6108), daAlinkHIO_board_c0::m.mStandAnmSpeed, lit_6040,
param_0 != 0 ? ANM_RIDE_FRONT : ANM_RIDE_WAIT, ANM_RIDE_STOP,
11, daAlinkHIO_board_c0::m.mStandInterpolation);
}
#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"
int daAlink_c::checkNextActionBoard() {
if (checkNextActionFromButton()) {
return 1;
}
if ((!doButton() && (mProcID == PROC_BOARD_ROW || mProcID == PROC_BOARD_TURN)) ||
mProcID == PROC_BOARD_CUT || mProcID == PROC_BOARD_ROW || mProcID == PROC_BOARD_JUMP) {
return 0;
}
return procBoardWaitInit(NULL);
}
#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"
int daAlink_c::checkBoardSwordTriggerAction() {
if (i_checkModeFlg(2)) {
return procBoardCutInit();
} else {
return procBoardWaitInit(NULL);
}
}
#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"
int daAlink_c::commonProcBoardInit(daAlink_c::daAlink_PROC i_procID) {
if (mProcID == i_procID) {
return 0;
}
u32 check = i_checkModeFlg(2);
commonProcInit(i_procID);
if (check) {
onModeFlg(2);
}
return 1;
}
#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"
f32 daAlink_c::getBoardRowAnmSpeed() {
return daAlinkHIO_board_c0::m.mPushAnmMinSpeed +
((daAlinkHIO_board_c0::m.mPushAnmMaxSpeed - daAlinkHIO_board_c0::m.mPushAnmMinSpeed) *
(lit_6040 - (mNormalSpeed / daAlinkHIO_board_c0::m.mFastPushSwitchSpeed)));
}
#pragma pop
/* 801066EC-80106774 10102C 0088+00 3/3 0/0 0/0 .text setBoardLandAnime__9daAlink_cFv */
#pragma push
@@ -118,28 +106,35 @@ asm void daAlink_c::setBoardLandAnime() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardRideInit() {
asm int 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"
int daAlink_c::procBoardRide() {
field_0x2f99 = 15;
if (mLinkAcch.ChkGroundHit()) {
if (field_0x280c.getActor()) {
shape_angle.y = field_0x280c.getActor()->shape_angle.y + -0x4000;
current.angle.y = shape_angle.y;
procBoardWaitInit(field_0x280c.getActor());
} else {
checkNextAction(1);
}
}
return 1;
}
#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) {
asm int daAlink_c::procBoardWaitInit(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procBoardWaitInit__9daAlink_cFP10fopAc_ac_c.s"
}
@@ -149,119 +144,190 @@ asm void daAlink_c::procBoardWaitInit(fopAc_ac_c* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardWait() {
asm int 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"
int daAlink_c::procBoardRowInit() {
commonProcInit(PROC_BOARD_ROW);
setSingleAnimeBaseSpeed(ANM_RIDE_KICK, getBoardRowAnmSpeed(), daAlinkHIO_board_c0::m.mPushInterpolation);
i_onResetFlg1(0x40);
field_0x3008 = 4;
field_0x3010 = 1;
field_0x3012 = 0;
return 1;
}
#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() {
asm int 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"
int daAlink_c::procBoardTurnInit() {
commonProcInit(PROC_BOARD_TURN);
setSingleAnime(ANM_RIDE_JUMP, FLOAT_LABEL(lit_6108), lit_6040, daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, lit_6109);
mNormalSpeed = FLOAT_LABEL(lit_6108);
field_0x3010 = shape_angle.y + 0x8000;
field_0x3012 = 0;
field_0x300a = 0;
return 1;
}
#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() {
asm int 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 */
#ifdef NONMATCHING
int daAlink_c::procBoardJumpInit(f32 param_0, int param_1) {
commonProcInit(PROC_BOARD_JUMP);
field_0x3008 = 0;
field_0x3012 = 1;
setSingleAnime(ANM_RIDE_JUMP, FLOAT_LABEL(lit_6108),
daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame,
daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame,
daAlinkHIO_board_c0::m.mAirborneAnm.mInterpolation);
if (param_1 == 0) {
mSpeed.y = cLib_minMaxLimit(param_0, daAlinkHIO_board_c0::m.mMinJumpSpeedY, daAlinkHIO_board_c0::m.mMaxJumpSpeedY);
}
field_0x3010 = 0;
seStartOnlyReverb(Z2SE_AL_SNOBO_JUMP);
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardJumpInit(f32 param_0, int param_1) {
asm int daAlink_c::procBoardJumpInit(f32 param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/procBoardJumpInit__9daAlink_cFfi.s"
}
#pragma pop
#endif
/* 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"
int daAlink_c::procBoardJump() {
if (boardCommon(1)) {
return 1;
}
if (!checkNextActionBoard()) {
if (!i_checkModeFlg(2)) {
setBoardLandAnime();
procBoardWaitInit(NULL);
} else if (field_0x3012 != 0 && field_0x3010 == 0 && field_0x2060->getOldFrameRate() < lit_8782) {
setSingleAnime(ANM_RIDE_JUMP, daAlinkHIO_board_c0::m.mAirborneAnm.mSpeed,
daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame,
daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame,
lit_6041);
field_0x3010 = 1;
}
}
return 1;
}
#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"
int daAlink_c::procBoardSubjectivityInit() {
commonProcBoardInit(PROC_BOARD_SUBJECTIVITY);
setSubjectMode();
setCommonBoardAnime(0);
return 1;
}
#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"
int daAlink_c::procBoardSubjectivity() {
i_onResetFlg0(0x4000000);
s16 old_shape_angle = shape_angle.y;
s16 old_angle = current.angle.y;
if (boardCommon(0)) {
return 1;
}
shape_angle.y = old_shape_angle;
if (checkSubjectEnd(1)) {
procBoardWaitInit(NULL);
} else {
setRideSubjectAngle(old_angle);
}
return 1;
}
#pragma pop
/* 801074AC-8010755C 101DEC 00B0+00 3/3 0/0 0/0 .text procBoardCutInit__9daAlink_cFv */
// matches with literals
#ifdef NONMATCHING
int daAlink_c::procBoardCutInit() {
commonProcBoardInit(PROC_BOARD_CUT);
bool var_r31 = false;
if (checkUnderMove0BckNoArc(ANM_RIDE_CUT_TURN_CHARGE)) {
if (mUnderFrameCtrl[0].getFrame() > daAlinkHIO_cut_c0::m.mNormalSwingDuration) {
var_r31 = true;
}
}
setCommonBoardAnime(0);
setCutDash(1, var_r31);
field_0x3012 = 0;
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardCutInit() {
asm int daAlink_c::procBoardCutInit() {
nofralloc
#include "asm/d/a/d_a_alink/procBoardCutInit__9daAlink_cFv.s"
}
#pragma pop
#endif
/* 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"
int daAlink_c::procBoardCut() {
if (boardCommon(1)) {
return 1;
}
checkCutTurnCharge();
if (!checkNextActionBoard() && checkNoUpperAnime()) {
procBoardWaitInit(NULL);
}
return 1;
}
#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() {
asm int daAlink_c::procBoardCutTurnInit() {
nofralloc
#include "asm/d/a/d_a_alink/procBoardCutTurnInit__9daAlink_cFv.s"
}
@@ -271,7 +337,7 @@ asm void daAlink_c::procBoardCutTurnInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procBoardCutTurn() {
asm int daAlink_c::procBoardCutTurn() {
nofralloc
#include "asm/d/a/d_a_alink/procBoardCutTurn__9daAlink_cFv.s"
}
+297 -164
View File
@@ -1,107 +1,98 @@
/* 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"
cXyz* daAlink_c::getIronBallCenterPos() {
if (mEquipItem == IRONBALL) {
return &mIronBallCenterPos;
}
return NULL;
}
#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"
s16 daAlink_c::getIronBallBgHit() const {
if (mEquipItem == IRONBALL) {
return field_0x301c;
}
return 0;
}
#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"
bool daAlink_c::checkIronBallThrowMode() const {
return mEquipItem == IRONBALL &&
(field_0x3018 == 4 || field_0x3018 == 5 || field_0x3018 == 6 || field_0x3018 == 3);
}
#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"
bool daAlink_c::checkIronBallThrowReturnMode() const {
return mEquipItem == IRONBALL && (field_0x3018 == 4 || field_0x3018 == 5 || field_0x3018 == 6 ||
field_0x3018 == 7 || field_0x3018 == 3);
}
#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"
bool daAlink_c::checkIronBallReturn() const {
return mEquipItem == IRONBALL && field_0x3018 == 7;
}
#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"
bool daAlink_c::checkIronBallGroundStop() const {
return mEquipItem == IRONBALL && field_0x3018 != 0 && field_0x3018 != 8 && field_0x301e == 0 &&
field_0x301e < 10;
}
#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"
void daAlink_c::setIronBallWaitUpperAnime(int param_0) {
if (!checkIronBallWaitAnime() && !checkIronBallPreSwingAnime() &&
(field_0x3018 == 0 || field_0x3018 == 8) && (param_0 || checkNoUpperAnime())) {
setUpperAnimeBaseSpeed(0x19C, daAlinkHIO_ironBall_c0::m.mWaitAnmSpeed,
daAlinkHIO_basic_c0::m.mAnmBlendFactor);
setFacePriBck(0xE8);
field_0x2f96 = 254;
field_0x2f97 = 5;
field_0x3018 = 0;
}
}
#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"
void daAlink_c::checkIronBallDelete() {
if (mProcID == PROC_IRON_BALL_SUBJECT || mProcID == PROC_IRON_BALL_MOVE ||
mProcID == PROC_IRON_BALL_THROW || mProcID == PROC_IRON_BALL_RETURN) {
return;
}
if (field_0x3018 == 1 || field_0x3018 == 2 || field_0x3018 == 3 ||
((field_0x3018 == 0 || field_0x3018 == 8) && !checkIronBallWaitAnime() &&
!checkEquipAnime() &&
(!i_checkModeFlg(4) || i_checkModeFlg(0x70C52) || !mLinkAcch.ChkGroundHit()))) {
deleteEquipItem(1, 0);
}
}
#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"
void daAlink_c::setIronBallReturn(int param_0) {
if (param_0 && field_0x301e != 0) {
field_0x301e--;
} else if (field_0x3018 != 7) {
field_0x3018 = 7;
field_0x301e = 0;
seStartOnlyReverb(Z2SE_AL_IB_PULLBACK);
}
}
#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"
void daAlink_c::setIronBallBgCheckPos() {
cXyz sp8;
mDoMtx_stack_c::transS(*mIronBallChainPos);
mDoMtx_stack_c::ZXYrotM(*mIronBallChainAngle);
mDoMtx_stack_c::multVec(&l_ironBallCenterVec, &sp8);
mIronBallBgChkPos.set(sp8.x, (sp8.y - lit_14621) - mSearchBallScale, sp8.z);
cLib_chaseF(&mSearchBallScale, FLOAT_LABEL(lit_6108), lit_7307);
}
#pragma pop
/* 801127F0-80112C80 10D130 0490+00 1/1 0/0 0/0 .text setIronBallModel__9daAlink_cFv */
#pragma push
@@ -114,9 +105,7 @@ asm void daAlink_c::setIronBallModel() {
#pragma pop
/* 80112C80-80112C84 10D5C0 0004+00 2/2 2/2 0/0 .text __ct__5csXyzFv */
extern "C" void __ct__5csXyzFv() {
/* empty function */
}
extern "C" void __ct__5csXyzFv() {}
/* 80112C84-80112E7C 10D5C4 01F8+00 1/1 0/0 0/0 .text
* setIronBallGroundVec__9daAlink_cFPC4cXyzP4cXyz */
@@ -141,14 +130,18 @@ asm void daAlink_c::setIronBallChainPos() {
#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"
BOOL daAlink_c::checkIronBallReturnChange() {
if (mProcID != PROC_IRON_BALL_THROW ||
(!(mLookAngleY > 0x400) && mIronBallBgChkPos.y < (current.pos.y - lit_8472)) ||
(mLookAngleY > 0x400 && mItemMode == 0x64) ||
(field_0xFB8.ChkAtHit() && field_0xFB8.GetAtHitGObj() != NULL &&
static_cast<dCcD_GObjInf*>(field_0xFB8.GetAtHitGObj())->ChkTgIronBallRebound())) {
setIronBallReturn(0);
return true;
}
return false;
}
#pragma pop
/* 80113D58-801150E4 10E698 138C+00 1/1 0/0 0/0 .text setIronBallPos__9daAlink_cFv */
#pragma push
@@ -162,137 +155,277 @@ asm void daAlink_c::setIronBallPos() {
/* 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"
BOOL daAlink_c::checkIronBallAnime() const {
return checkIronBallPreSwingAnime() || checkIronBallSwingAnime();
}
#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"
void daAlink_c::setIronBallReadyAnime() {
resetUpperAnime(UPPER_2, lit_6041);
setSingleAnime(ANM_IRONBALL_ATTACK, daAlinkHIO_ironBall_c0::m.mPrepareAnmSpeed, FLOAT_LABEL(lit_6108),
0x15, daAlinkHIO_ironBall_c0::m.mPrepareInterpolation);
setUpperAnimeBaseSpeed(0x19A, daAlinkHIO_ironBall_c0::m.mPrepareAnmSpeed, lit_6041);
mNowAnmPackUpper[2].setRatio(FLOAT_LABEL(lit_6108));
voiceStart(Z2SE_AL_V_SWING_IB);
field_0xFB8.OffAtSetBit();
field_0xFB8.ResetAtHit();
field_0xFB8.SetAtAtp(2);
field_0x301e = 10;
field_0x3020 = 0;
field_0x3494 = lit_7808;
mSearchBallScale = FLOAT_LABEL(lit_6108);
}
#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"
void daAlink_c::setIronBallBaseAnime() {
if (checkIronBallSwingAnime() && !checkUnderMove0BckNoArc(ANM_IRONBALL_TURN)) {
setSingleAnimeBaseSpeed(ANM_IRONBALL_TURN, daAlinkHIO_ironBall_c0::m.mTurnAnmSpeed, daAlinkHIO_ironBall_c0::m.mTurnInterpolation);
mUnderFrameCtrl[0].setFrame(mUpperFrameCtrl[2].getFrame());
getNowAnmPackUnder(UNDER_0)->setFrame(mUpperFrameCtrl[2].getFrame());
}
}
#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"
BOOL daAlink_c::checkUpperItemActionIronBall() {
if (!itemButton() && checkReadyItem()) {
field_0x3020 = 1;
}
if (checkIronBallPreSwingAnime()) {
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
if (field_0x3020 != 0 && frameCtrl->checkPass(lit_10286)) {
return procIronBallThrowInit();
}
if (frameCtrl->checkAnmEnd()) {
if (i_checkModeFlg(1)) {
setSingleAnimeBaseSpeed(ANM_IRONBALL_TURN, daAlinkHIO_ironBall_c0::m.mTurnAnmSpeed, daAlinkHIO_ironBall_c0::m.mTurnInterpolation);
}
u16 upperId = getMainBckData(ANM_IRONBALL_TURN)->m_upperID;
setUpperAnimeBaseSpeed(upperId, daAlinkHIO_ironBall_c0::m.mTurnAnmSpeed, daAlinkHIO_ironBall_c0::m.mTurnInterpolation);
field_0x3018 = 2;
seStartOnlyReverb(Z2SE_AL_IB_SWING);
return 1;
}
if (frameCtrl->getFrame() > lit_8781) {
field_0x3018 = 1;
}
} else {
daPy_frameCtrl_c* frameCtrl = &mUpperFrameCtrl[2];
if (field_0x3020 != 0 && frameCtrl->checkPass(lit_10193)) {
return procIronBallThrowInit();
} else if (frameCtrl->checkPass(FLOAT_LABEL(lit_6108))) {
seStartOnlyReverb(Z2SE_AL_IB_SWING);
}
}
return cancelUpperItemReadyAnime(0);
}
#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 optimization_level 2
int daAlink_c::checkNextActionIronBall() {
if (mFastShotTime != 0) {
mFastShotTime--;
}
if (!checkIronBallAnime()) {
setIronBallReadyAnime();
setFastShotTimer();
if (!i_checkAttentionLock()) {
field_0x2fe4 = shape_angle.y;
}
}
if (!i_checkAttentionLock() && mFastShotTime == 0) {
return procIronBallSubjectInit();
} else {
return procIronBallMoveInit();
}
}
#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"
int daAlink_c::procIronBallSubjectInit() {
if (!commonProcInitNotSameProc(PROC_IRON_BALL_SUBJECT)) {
return 0;
}
mNormalSpeed = FLOAT_LABEL(lit_6108);
if (checkIronBallAnime()) {
setIronBallBaseAnime();
}
current.angle.y = shape_angle.y;
dComIfGp_setPlayerStatus0(0, 0x400);
return 1;
}
#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"
int daAlink_c::procIronBallSubject() {
if (checkIronBallAnime()) {
setDoStatus(0x12);
}
setShapeAngleToAtnActor(0);
if (!checkNextAction(0) && itemButton() && field_0x3018 == 2) {
setBodyAngleToCamera();
}
return 1;
}
#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"
int daAlink_c::procIronBallMoveInit() {
if (!commonProcInitNotSameProc(PROC_IRON_BALL_MOVE)) {
return 0;
}
if (checkZeroSpeedF()) {
onModeFlg(1);
}
if (checkIronBallPreSwingAnime()) {
mNormalSpeed = FLOAT_LABEL(lit_6108);
}
dComIfGp_setPlayerStatus0(0, 0x400);
return 1;
}
#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"
int daAlink_c::procIronBallMove() {
if (checkIronBallAnime()) {
setDoStatus(0x12);
}
setShapeAngleToAtnActor(0);
if (!checkNextAction(0)) {
f32 var_f31 = lit_6041;
if (checkIronBallPreSwingAnime()) {
mNormalSpeed = FLOAT_LABEL(lit_6108);
}
if (checkZeroSpeedF()) {
onModeFlg(1);
if (field_0x2f98 != 2) {
field_0x2f98 = 2;
var_f31 = daAlinkHIO_basic_c0::m.mAnmBlendFactor;
}
} else {
offModeFlg(1);
}
if (i_checkModeFlg(1)) {
setIronBallBaseAnime();
} else {
setBlendAtnMoveAnime(var_f31);
}
setBodyAngleXReadyAnime(0);
}
return 1;
}
#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"
int daAlink_c::procIronBallThrowInit() {
commonProcInit(PROC_IRON_BALL_THROW);
setSingleAnime(ANM_IRONBALL_ATTACK, daAlinkHIO_ironBall_c0::m.mPreThrowAnmSpeed, lit_34957, 30, daAlinkHIO_ironBall_c0::m.mPreThrowAnmInterpolation);
field_0x2f99 = 12;
field_0x3588 = l_ironBallBaseAnime;
mNormalSpeed = FLOAT_LABEL(lit_6108);
current.angle.y = shape_angle.y;
mCommonCounter = 0;
field_0x3018 = 3;
field_0x3024 = 0;
field_0x3026 = 0;
voiceStart(Z2SE_AL_V_THROW_IB);
seStartOnlyReverb(Z2SE_AL_IB_THROW);
field_0xFB8.SetAtAtp(3);
return 1;
}
#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() {
asm int 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"
int daAlink_c::procIronBallReturnInit() {
commonProcInit(PROC_IRON_BALL_RETURN);
if (field_0x3018 == 8) {
mCommonCounter = 1;
setSingleAnimeParam(ANM_IRONBALL_CATCH, &daAlinkHIO_ironBall_c0::m.mCatchAnm);
field_0x2f99 = 12;
} else {
setSingleAnimeBaseSpeed(ANM_IRONBALL_PULL, daAlinkHIO_ironBall_c0::m.mPullAnmSpeed, daAlinkHIO_ironBall_c0::m.mPullInterpolation);
field_0x2f99 = 12;
mCommonCounter = 0;
}
field_0x3588 = l_ironBallBaseAnime;
return 1;
}
#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
int daAlink_c::procIronBallReturn() {
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
if (mEquipItem != IRONBALL) {
return checkWaitAction();
}
field_0x2f99 = 4;
if (field_0x3018 == 8 && mCommonCounter == 0) {
mCommonCounter = 1;
setSingleAnimeParam(ANM_IRONBALL_CATCH, &daAlinkHIO_ironBall_c0::m.mCatchAnm);
field_0x2f99 = 12;
seStartOnlyReverb(Z2SE_AL_IB_CATCH);
f32 tmp_0 = FLOAT_LABEL(lit_6108);
dComIfGp_getVibration().StartShock(3, 1, cXyz(tmp_0, lit_6040, tmp_0));
} else if (frameCtrl->checkAnmEnd()) {
if (field_0x3018 == 8) {
field_0x3018 = 0;
setIronBallWaitUpperAnime(1);
checkNextAction(0);
}
} else if (field_0x3018 == 8 && frameCtrl->getFrame() > daAlinkHIO_ironBall_c0::m.mCatchAnm.mCheckFrame) {
field_0x3018 = 0;
setIronBallWaitUpperAnime(1);
if (!checkNextAction(1)) {
field_0x3018 = 8;
resetUpperAnime(UPPER_2, FLOAT_LABEL(lit_6108));
}
}
return 1;
}
+123 -110
View File
@@ -1,88 +1,96 @@
/* 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"
static fopAc_ac_c* daAlink_searchTagKandelaar(fopAc_ac_c* i_actor, void* param_1) {
if (fopAcM_GetName(i_actor) == PROC_TAG_LANTERN) {
return i_actor;
}
return NULL;
}
#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"
static fopAc_ac_c* daAlink_searchTagKtOnFire(fopAc_ac_c* i_actor, void* param_1) {
daAlink_c* link = daAlink_getAlinkActorClass();
if (fopAcM_GetName(i_actor) == PROC_Tag_KtOnFire &&
i_actor->current.pos.abs2(link->current.pos) < lit_26816 &&
fopAcM_seenActorAngleY(link, i_actor) < 0x3000) {
return i_actor;
}
return NULL;
}
#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"
void daAlink_c::setKandelaarMtx(Mtx i_mtx, int param_1, int param_2) {
if (field_0x06fc != NULL) {
if (i_checkNoResetFlg2(FLG2_UNK_1)) {
deleteEquipItem(0, 1);
}
i_onEndResetFlg1(ERFLG1_UNK_4);
field_0x06fc->i_setBaseTRMtx(i_mtx);
if (param_1 == 0) {
i_onEndResetFlg1(ERFLG1_UNK_8);
}
if (param_2 != 0) {
i_onEndResetFlg1(ERFLG1_UNK_10);
}
}
}
#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"
BOOL daAlink_c::checkWaterInKandelaarOffset(f32 param_0) {
f32 tmp_65 = lit_17593; // tmp can be removed with literals
f32 base_y_pos;
if (i_checkModeFlg(0x40)) {
base_y_pos = mRightFootPos.y;
} else {
base_y_pos = current.pos.y;
}
return param_0 > tmp_65 + base_y_pos;
}
#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"
void daAlink_c::checkWaterInKandelaar(f32 param_0) {
if (i_checkNoResetFlg2(FLG2_UNK_1) && checkWaterInKandelaarOffset(param_0)) {
if (mEquipItem == KANTERA) {
deleteEquipItem(1, 1);
} else {
offKandelaarModel();
seStartOnlyReverb(Z2SE_AL_ITEM_TAKEOUT);
}
}
}
#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"
void daAlink_c::offKandelaarModel() {
i_offNoResetFlg2(0x10000001);
mZ2Link.setKanteraState(0);
}
#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"
bool daAlink_c::checkUseKandelaar(int param_0) {
return (param_0 == 0 && i_checkNoResetFlg2(FLG2_UNK_1)) ||
(param_0 != 0 && mEquipItem == KANTERA);
}
#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"
bool daAlink_c::checkKandelaarSwing(int param_0) const {
if ((checkKandelaarSwingAnime() || mProcID == PROC_KANDELAAR_SWING) && (dComIfGs_getOil() != 0 || param_0 == 0)) {
return true;
}
return false;
}
#pragma pop
/* 801108EC-80110BEC 10B22C 0300+00 1/1 0/0 0/0 .text kandelaarModelCallBack__9daAlink_cFv */
#pragma push
@@ -96,35 +104,30 @@ asm void daAlink_c::kandelaarModelCallBack() {
/* 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"
static int daAlink_kandelaarModelCallBack(J3DJoint* param_0, int param_1) {
daAlink_c* link = (daAlink_c*)j3dSys.getModel()->getUserArea();
if (param_1 == 0) {
link->kandelaarModelCallBack();
}
return 1;
}
#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"
cXyz* daAlink_c::getKandelaarFlamePos() {
if ((!i_checkNoResetFlg2((daPy_FLG2)0x20001) && !i_checkEndResetFlg1(ERFLG1_UNK_4)) || i_checkWolf() || !i_checkNoResetFlg1(FLG1_UNK_80)) {
return NULL;
}
return &mKandelaarFlamePos;
}
#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 BOOL daAlink_c::checkKandelaarEquipAnime() const {
nofralloc
#include "asm/d/a/d_a_alink/checkKandelaarEquipAnime__9daAlink_cCFv.s"
BOOL daAlink_c::checkKandelaarEquipAnime() const {
return checkUpperAnime(0x264) || checkUpperAnime(0x268);
}
#pragma pop
/* 80110C94-80110E80 10B5D4 01EC+00 1/1 0/0 0/0 .text preKandelaarDraw__9daAlink_cFv */
#pragma push
@@ -138,9 +141,7 @@ asm void daAlink_c::preKandelaarDraw() {
/* 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 */
}
void J3DTevBlock::setTevColor(u32 param_0, J3DGXColorS10 const* param_1) {}
/* 80110E84-80110F88 10B7C4 0104+00 4/4 0/0 0/0 .text setKandelaarModel__9daAlink_cFv */
#pragma push
@@ -154,14 +155,16 @@ asm void daAlink_c::setKandelaarModel() {
/* 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"
void daAlink_c::resetOilBottleModel() {
deleteEquipItem(0, 1);
if (field_0x300e != 0) {
setKandelaarModel();
mEquipItem = KANTERA;
}
returnKeepItemData();
}
#pragma pop
/* 80110FE0-801110B8 10B920 00D8+00 3/3 0/0 0/0 .text commonKandelaarPourInit__9daAlink_cFv */
#pragma push
@@ -198,39 +201,49 @@ asm void daAlink_c::initKandelaarSwing() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procKandelaarSwingInit() {
asm int 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"
int daAlink_c::procKandelaarSwing() {
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
if (frameCtrl->checkAnmEnd()) {
if (mDemo.getDemoMode() == 0x27) {
dComIfGp_evmng_cutEnd(field_0x3184);
} else {
checkNextAction(0);
}
} else if (frameCtrl->getFrame() > field_0x3478 && mDemo.getDemoMode() != 0x27) {
onModeFlg(4);
checkNextAction(1);
}
return 1;
}
#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"
int daAlink_c::procKandelaarPourInit() {
if (!dComIfGp_event_compulsory(this, 0, 0xFBFF)) {
return 0;
}
mDemo.i_setSpecialDemoType();
commonProcInit(PROC_KANDELAAR_POUR);
current.angle.y = shape_angle.y;
mNormalSpeed = FLOAT_LABEL(lit_6108);
field_0x2f98 = 4;
setSingleAnimeParam(ANM_OIL_BOTTLE_POUR_START, &daAlinkHIO_kandelaar_c0::m.mBeginUnkAnm);
commonKandelaarPourInit();
return 1;
}
#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
int daAlink_c::procKandelaarPour() {
commonKandelaarPour(0);
return 1;
}
+1140 -505
View File
File diff suppressed because it is too large Load Diff
+22 -34
View File
@@ -112,20 +112,18 @@ void daAlink_c::setSpinnerSyncPos() {
daSpinner_c* spinner = (daSpinner_c*)mRideAcKeep.getActor();
mDoMtx_multVecZero(spinner->getModelMtx(), &current.pos);
mDoMtx_stack_c::ZXYrotS(spinner->mCollisionRot);
mDoMtx_stack_c::YrotM(mCollisionRot.y - spinner->mCollisionRot.y);
mDoMtx_MtxToRot(mDoMtx_stack_c::get(), &mCollisionRot);
mDoMtx_stack_c::ZXYrotS(spinner->shape_angle);
mDoMtx_stack_c::YrotM(shape_angle.y - spinner->shape_angle.y);
mDoMtx_MtxToRot(mDoMtx_stack_c::get(), &shape_angle);
field_0x37a4 = spinner->current.pos;
}
/* 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(), &current.pos, fopAcM_GetRoomNo(this),
&mCollisionRot, NULL, -1, NULL, NULL);
&shape_angle, NULL, -1, NULL, NULL);
if (spinner == NULL) {
return 0;
@@ -133,20 +131,20 @@ int daAlink_c::procSpinnerReadyInit() {
commonProcInit(PROC_SPINNER_READY);
mRideAcKeep.setData(spinner);
setSingleAnime(ANM_VJUMP_START, daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mRate, 6.0f,
daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mEndF,
setSingleAnime(ANM_VJUMP_START, daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mSpeed, lit_7977,
daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mEndFrame,
daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mInterpolation);
mNormalSpeed = 0.0f;
mNormalSpeed = FLOAT_LABEL(lit_6108);
setHeavyBoots(0);
mSpeed.y = 26.0f;
mSpeed.y = lit_7451;
voiceStart(Z2SE_AL_V_JUMP_S);
seStartOnlyReverb(Z2SE_AL_SPINNER_START);
field_0x2f99 = 15;
deleteEquipItem(TRUE, TRUE);
current.angle.y = mCollisionRot.y;
current.angle.y = shape_angle.y;
field_0x3588 = l_waitBaseAnime;
field_0x33b0 = field_0x3588.y;
field_0x34d4 = l_waitBaseAnime;
@@ -154,16 +152,6 @@ int daAlink_c::procSpinnerReadyInit() {
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() {
@@ -211,7 +199,7 @@ int daAlink_c::procSpinnerWaitInit() {
mNormalSpeed = 0.0f;
mCommonCounter = 0;
field_0x300e = mCollisionRot.y;
field_0x300e = shape_angle.y;
field_0x3010 = 0;
field_0x3198 = ANM_RIDE_CROUCH;
field_0x33b0 = 70.0f;
@@ -259,13 +247,13 @@ int daAlink_c::procSpinnerWait() {
s16 angle = field_0x33ac * 384.0f * field_0x33ac;
if (direction == DIR_LEFT) {
mCollisionRot.y += angle;
shape_angle.y += angle;
} else if (direction == DIR_RIGHT) {
mCollisionRot.y -= angle;
shape_angle.y -= angle;
}
current.angle.y = mCollisionRot.y;
field_0x300e = mCollisionRot.y;
current.angle.y = shape_angle.y;
field_0x300e = shape_angle.y;
}
} else {
if (checkSetItemTrigger(SPINNER) || swordSwingTrigger() || itemSetBtn == 2) {
@@ -316,20 +304,20 @@ int daAlink_c::procSpinnerWait() {
}
} else if (spinner->getButtonJump() && field_0x3198 != ANM_RIDE_JUMP) {
field_0x3198 = ANM_RIDE_JUMP;
setSingleAnime(ANM_RIDE_JUMP, 0.0f, daAlinkHIO_board_c0::m.mAirborneAnm.mStart,
daAlinkHIO_board_c0::m.mAirborneAnm.mEndF,
setSingleAnime(ANM_RIDE_JUMP, 0.0f, daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame,
daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame,
daAlinkHIO_board_c0::m.mAirborneAnm.mInterpolation);
field_0x3010 = 0;
} else if (field_0x3198 == ANM_RIDE_JUMP) {
if (!spinner->getJumpFlg()) {
setSingleAnime(ANM_RIDE_JUMP_LAND, daAlinkHIO_board_c0::m.mLandAnm.mRate,
daAlinkHIO_board_c0::m.mLandAnm.mStart, 16,
setSingleAnime(ANM_RIDE_JUMP_LAND, daAlinkHIO_board_c0::m.mLandAnm.mSpeed,
daAlinkHIO_board_c0::m.mLandAnm.mStartFrame, 16,
daAlinkHIO_board_c0::m.mLandAnm.mInterpolation);
field_0x3198 = ANM_RIDE_JUMP_LAND;
} else if (field_0x3010 == 0 && field_0x2060->getOldFrameRate() < 0.01f) {
setSingleAnime(ANM_RIDE_JUMP, daAlinkHIO_board_c0::m.mAirborneAnm.mRate,
daAlinkHIO_board_c0::m.mAirborneAnm.mStart,
daAlinkHIO_board_c0::m.mAirborneAnm.mEndF, -1.0f);
setSingleAnime(ANM_RIDE_JUMP, daAlinkHIO_board_c0::m.mAirborneAnm.mSpeed,
daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame,
daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, -1.0f);
field_0x3010 = 1;
}
} else if ((field_0x3198 == ANM_RIDE_JUMP_LAND && frameCtrl->checkAnmEnd()) ||
@@ -341,7 +329,7 @@ int daAlink_c::procSpinnerWait() {
}
setSpinnerSyncPos();
mCollisionRot.y = field_0x300e;
shape_angle.y = field_0x300e;
return 1;
}
+109 -51
View File
@@ -1,12 +1,20 @@
/* 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"
BOOL daAlink_c::checkSumouVsActor() {
mCargoCarryAcKeep.setActor();
if (mCargoCarryAcKeep.getActor() == NULL) {
cancelSumouMode();
procWaitInit();
return false;
}
if (mSpecialMode == 0xD || mSpecialMode == 0xB || mSpecialMode == 0xC || mSpecialMode == 0xE) {
procSumouWinLoseInit();
return false;
}
return true;
}
#pragma pop
/* 800EA8D0-800EA908 0E5210 0038+00 5/5 0/0 0/0 .text cancelSumouMode__9daAlink_cFv */
void daAlink_c::cancelSumouMode() {
@@ -26,20 +34,34 @@ void daAlink_c::setSumouPunchStatus() {
}
/* 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"
int daAlink_c::procSumouReadyInit() {
if (!commonProcInitNotSameProc(PROC_SUMOU_READY)) {
return 0;
}
setSingleAnimeBaseMorf(ANM_SUMOU_MIAU, FLOAT_LABEL(lit_6108));
mNormalSpeed = FLOAT_LABEL(lit_6108);
current.angle.y = shape_angle.y;
field_0x3588 = l_waitBaseAnime;
field_0x34d4 = field_0x3588;
field_0x2f99 = 4;
mSpecialMode = 1;
mCommonCounter = 0;
field_0x300e = 0;
deleteEquipItem(0, 1);
if (mThrowBoomerangAcKeep.getActor() != NULL) {
static_cast<daBoomerang_c*>(mThrowBoomerangAcKeep.getActor())->onForceDelete();
}
return 1;
}
#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() {
asm int daAlink_c::procSumouReady() {
nofralloc
#include "asm/d/a/d_a_alink/procSumouReady__9daAlink_cFv.s"
}
@@ -49,7 +71,7 @@ asm void daAlink_c::procSumouReady() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSumouMoveInit() {
asm int daAlink_c::procSumouMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSumouMoveInit__9daAlink_cFv.s"
}
@@ -59,7 +81,7 @@ asm void daAlink_c::procSumouMoveInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSumouMove() {
asm int daAlink_c::procSumouMove() {
nofralloc
#include "asm/d/a/d_a_alink/procSumouMove__9daAlink_cFv.s"
}
@@ -67,20 +89,31 @@ asm void daAlink_c::procSumouMove() {
/* 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"
int daAlink_c::procSumouSideMoveInit() {
commonProcInit(PROC_SUMOU_SIDE_MOVE);
mSpecialMode = 0x16;
field_0x2f98 = 3;
current.angle.y = shape_angle.y + -0x4000;
field_0x594 = daAlinkHIO_atnMove_c0::m.mMaxSpeed;
setSingleAnimeBase(ANM_SUMOU_FIGHT_WAIT);
field_0x3198 = 0x141;
setSumouPunchStatus();
setDoStatusEmphasys(0x15);
dComIfGp_setAdvanceDirection(5);
field_0x2f99 = 12;
setFootEffectProcType(5);
field_0x3008 = 15;
return 1;
}
#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() {
asm int daAlink_c::procSumouSideMove() {
nofralloc
#include "asm/d/a/d_a_alink/procSumouSideMove__9daAlink_cFv.s"
}
@@ -91,7 +124,7 @@ asm void daAlink_c::procSumouSideMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSumouActionInit(int param_0, int param_1, int param_2) {
asm int daAlink_c::procSumouActionInit(int param_0, int param_1, int param_2) {
nofralloc
#include "asm/d/a/d_a_alink/procSumouActionInit__9daAlink_cFiii.s"
}
@@ -101,7 +134,7 @@ asm void daAlink_c::procSumouActionInit(int param_0, int param_1, int param_2) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSumouAction() {
asm int daAlink_c::procSumouAction() {
nofralloc
#include "asm/d/a/d_a_alink/procSumouAction__9daAlink_cFv.s"
}
@@ -109,31 +142,46 @@ asm void daAlink_c::procSumouAction() {
/* 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"
int daAlink_c::procSumouStaggerInit() {
commonProcInit(PROC_SUMOU_STAGGER);
if (mSpecialMode == 0x11) {
mSpecialMode = 0x20;
} else {
mSpecialMode = 0x1F;
}
setSingleAnimeBase(ANM_SUMOU_STAGGER);
mNormalSpeed = FLOAT_LABEL(lit_6108);
field_0x2f99 = 12;
field_0x3008 = 30;
return 1;
}
#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"
int daAlink_c::procSumouStagger() {
field_0x2f99 = 4;
if (!checkSumouVsActor()) {
return 1;
}
field_0x3008--;
if (mSpecialMode == 0x1C || mSpecialMode == 0x21 || mSpecialMode == 0x1B) {
procSumouActionInit(0, 0, 0);
} else if (field_0x3008 == 0) {
procSumouSideMoveInit();
}
return 1;
}
#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() {
asm int daAlink_c::procSumouWinLoseInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSumouWinLoseInit__9daAlink_cFv.s"
}
@@ -143,27 +191,37 @@ asm void daAlink_c::procSumouWinLoseInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSumouWinLose() {
asm int 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"
int daAlink_c::procSumouShikoInit() {
if (!commonProcInitNotSameProc(PROC_SUMOU_SHIKO)) {
return 0;
}
setSingleAnimeBase(ANM_SUMOU_SHIKO);
mNormalSpeed = FLOAT_LABEL(lit_6108);
field_0x3588 = l_waitBaseAnime;
field_0x34d4 = field_0x3588;
field_0x2f99 = 12;
mCommonCounter = 0;
mSpecialMode = 0;
setFootEffectProcType(5);
deleteEquipItem(0, 1);
return 1;
}
#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() {
asm int daAlink_c::procSumouShiko() {
nofralloc
#include "asm/d/a/d_a_alink/procSumouShiko__9daAlink_cFv.s"
}
+198 -150
View File
@@ -1,106 +1,120 @@
/* 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"
BOOL daAlink_c::checkZoraWearMaskDraw() {
return checkZoraWearAbility() && !i_checkNoResetFlg0(FLG0_UNK_100);
}
#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"
BOOL daAlink_c::checkAcceptUseItemInWater(u16 i_itemNo) const {
return i_itemNo == HVY_BOOTS || i_itemNo == WATER_BOMB || checkHookshotItem(i_itemNo);
}
#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"
void daAlink_c::swimDeleteItem() {
if (!checkHookshotItem(mEquipItem) && (mEquipItem != 0x103 || !checkBootsOrArmorHeavy())) {
deleteEquipItem(1, 1);
}
if (i_checkNoResetFlg2(FLG2_UNK_1)) {
offKandelaarModel();
}
}
#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 bool daAlink_c::getZoraSwim() const {
nofralloc
#include "asm/d/a/d_a_alink/getZoraSwim__9daAlink_cCFv.s"
bool daAlink_c::getZoraSwim() const {
return checkUnderMove0BckNoArc(ANM_SWIM_C) || checkUnderMove0BckNoArc(ANM_SWIM_ZORA_START);
}
#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"
f32 daAlink_c::getSwimFrontMaxSpeed() const {
if (checkBootsOrArmorHeavy()) {
return daAlinkHIO_swim_c0::m.mUnderwaterMaxSinkSpeed;
} else if (checkZoraWearAbility()) {
return lit_8130;
} else if (checkSwimDashMode()) {
return daAlinkHIO_swim_c0::m.mDMaxSpeed;
} else {
return daAlinkHIO_swim_c0::m.mMaxForwardSpeed;
}
}
#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"
f32 daAlink_c::getSwimMaxFallSpeed() const {
if (mProcID == PROC_DIVE_JUMP) {
return -daAlinkHIO_swim_c0::m.mMaxUnderwaterSpeed;
} else if (checkBootsOrArmorHeavy()) {
return daAlinkHIO_swim_c0::m.mBootsMaxSinkSpeed;
} else if (getZoraSwim()) {
return daAlinkHIO_swim_c0::m.mMaxSinkSpeed;
} else {
return daAlinkHIO_swim_c0::m.mInitMaxSinkSpeed;
}
}
#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"
void daAlink_c::checkOxygenTimer() {
BOOL hide_timer;
if (!i_checkNoResetFlg0(FLG0_UNK_100) || (i_checkModeFlg(MODE_SWIMMING) && mWaterY > lit_7808 + current.pos.y)) {
hide_timer = false;
} else {
hide_timer = true;
}
if (dComIfGp_getOxygenShowFlag()) {
if (checkZoraWearAbility()) {
offOxygenTimer();
} else if (hide_timer) {
s32 max = dComIfGp_getMaxOxygen();
dComIfGp_setOxygenCount(max);
if (field_0x2fbe < 90) {
field_0x2fbe++;
} else {
offOxygenTimer();
}
} else if (!checkEventRun()) {
dComIfGp_setOxygenCount(-1);
}
} else if (!hide_timer && !checkZoraWearAbility()) {
if (field_0x2fbe != 0) {
field_0x2fbe--;
} else {
dComIfGp_onOxygenShowFlag();
dComIfGp_setOxygen(dComIfGp_getMaxOxygen());
}
}
}
#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"
void daAlink_c::offOxygenTimer() {
dComIfGp_offOxygenShowFlag();
s32 max = dComIfGp_getMaxOxygen();
dComIfGp_setOxygen(max);
field_0x2fbe = 90;
}
#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 bool daAlink_c::checkPossibleWaterInMode() const {
nofralloc
#include "asm/d/a/d_a_alink/checkPossibleWaterInMode__9daAlink_cCFv.s"
BOOL daAlink_c::checkPossibleWaterInMode() const {
return i_checkModeFlg(MODE_VINE_CLIMB) || i_dComIfGp_checkPlayerStatus1(0, 0x2000000) || mProcID == PROC_HOOKSHOT_FLY;
}
#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"
void daAlink_c::setWaterInAnmRate(daPy_frameCtrl_c* i_frameCtrl, f32 i_rate) {
if (i_checkNoResetFlg0(FLG0_UNDERWATER)) {
if (checkZoraWearAbility()) {
i_rate *= daAlinkHIO_magneBoots_c0::m.mZoraWaterAnmSpeed;
} else {
i_rate *= daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate;
}
}
i_frameCtrl->setRate(i_rate);
}
#pragma pop
/* 80101D70-801023E4 0FC6B0 0674+00 2/2 0/0 0/0 .text swimBgCheck__9daAlink_cFf */
#pragma push
@@ -125,14 +139,36 @@ asm void daAlink_c::setSpeedAndAngleSwim() {
/* 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"
int daAlink_c::checkNextActionSwim() {
if (checkSwimButtonMove() && getZoraSwim()) {
field_0x3000 = 30;
}
if ((checkZoraWearAbility() && !checkHeavyStateOn(1, 1)) || i_checkNoResetFlg0(FLG0_UNK_100)) {
setTalkStatus();
}
if (orderTalk(1)) {
return 1;
}
if (mAttList != NULL && mAttList->mType == 7 && i_checkNoResetFlg0(FLG0_UNK_100) && fopAcM_GetName(field_0x27f4) == PROC_CANOE) {
setDoStatus(0x17);
if (doTrigger()) {
return procCanoeRideInit();
}
} else if (checkSwimButtonMove() && !checkZoraSwimMove()) {
if (checkSwimButtonAccept()) {
return procSwimDiveInit();
}
field_0x3000 = 30;
return procSwimMoveInit();
}
return checkNextActionFromButton();
}
#pragma pop
/* 80102B1C-80103058 0FD45C 053C+00 3/3 0/0 0/0 .text checkSwimAction__9daAlink_cFi */
#pragma push
@@ -148,13 +184,36 @@ asm void daAlink_c::checkSwimAction(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkSwimUpAction() {
asm int 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 */
// setInWater needs work
#ifdef NONMATCHING
void daAlink_c::swimOutAfter(int param_0) {
i_onNoResetFlg0(FLG0_UNK_100);
i_onEndResetFlg1(ERFLG1_UNK_100);
mZ2Link.setInWater(false);
if (i_checkNoResetFlg0(FLG0_UNDERWATER)) {
i_offNoResetFlg0(FLG0_UNDERWATER);
} else {
field_0x2b98 = FLOAT_LABEL(lit_6108);
field_0x2f98 = 4;
}
field_0x3750 = cXyz::Zero;
field_0x3000 = 0;
offOxygenTimer();
if (checkSwimMoveHandAnime() || checkZoraSwimDamageAnime()) {
resetUpperAnime(UPPER_2, lit_6109);
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -163,16 +222,16 @@ asm void daAlink_c::swimOutAfter(int param_0) {
#include "asm/d/a/d_a_alink/swimOutAfter__9daAlink_cFi.s"
}
#pragma pop
#endif
/* 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"
bool daAlink_c::checkSwimFall() {
if (!i_checkNoResetFlg0(FLG0_UNK_80) || current.pos.y > mWaterY + l_autoUpHeight) {
return true;
}
return false;
}
#pragma pop
/* 801033CC-80103698 0FDD0C 02CC+00 1/1 0/0 0/0 .text checkSwimOutAction__9daAlink_cFv */
#pragma push
@@ -196,73 +255,56 @@ asm void daAlink_c::setSwimMoveAnime() {
/* 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"
bool daAlink_c::checkSwimButtonAccept() {
return i_dComIfGp_getDoStatus() == 0x41 || i_dComIfGp_getDoStatus() == 0x4C;
}
#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"
bool daAlink_c::checkUpSwimButtonAccept() {
return i_dComIfGp_getDoStatus() == 0x97;
}
#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"
BOOL daAlink_c::checkSwimButtonMove() {
return !i_checkNoResetFlg0(FLG0_UNK_100) && (checkSwimButtonAccept() || checkUpSwimButtonAccept()) && doButton();
}
#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"
BOOL daAlink_c::checkZoraSwimMove() {
return checkSwimButtonMove() || field_0x3000 != 0;
}
#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"
BOOL daAlink_c::checkSwimNeckUpDown() const {
return !i_checkNoResetFlg0(FLG0_UNK_100) && checkUnderMove0BckNoArc(ANM_SWIM_WAIT);
}
#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"
void daAlink_c::setSwimUpDownOffset() {
mCommonCounter += (s16)((cM_rndF(lit_16570) + lit_27477) * lit_27476);
f32 var_f1;
if (i_checkWolf()) {
if (checkHeavyStateOn(1, 1)) {
var_f1 = daAlinkHIO_wlSwim_c0::m.field_0x98;
} else {
var_f1 = daAlinkHIO_wlSwim_c0::m.field_0x6C;
}
} else {
var_f1 = daAlinkHIO_swim_c0::m.mWaitVibrationIntensity;
}
field_0x2b98 = var_f1 * cM_ssin(mCommonCounter);
}
#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() {
asm int daAlink_c::procSwimUpInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimUpInit__9daAlink_cFv.s"
}
@@ -272,7 +314,7 @@ asm void daAlink_c::procSwimUpInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimUp() {
asm int daAlink_c::procSwimUp() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimUp__9daAlink_cFv.s"
}
@@ -282,7 +324,7 @@ asm void daAlink_c::procSwimUp() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimWaitInit(int param_0) {
asm int daAlink_c::procSwimWaitInit(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procSwimWaitInit__9daAlink_cFi.s"
}
@@ -292,7 +334,7 @@ asm void daAlink_c::procSwimWaitInit(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimWait() {
asm int daAlink_c::procSwimWait() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimWait__9daAlink_cFv.s"
}
@@ -302,7 +344,7 @@ asm void daAlink_c::procSwimWait() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimMoveInit() {
asm int daAlink_c::procSwimMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimMoveInit__9daAlink_cFv.s"
}
@@ -312,7 +354,7 @@ asm void daAlink_c::procSwimMoveInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimMove() {
asm int daAlink_c::procSwimMove() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimMove__9daAlink_cFv.s"
}
@@ -322,7 +364,7 @@ asm void daAlink_c::procSwimMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimDiveInit() {
asm int daAlink_c::procSwimDiveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimDiveInit__9daAlink_cFv.s"
}
@@ -332,7 +374,7 @@ asm void daAlink_c::procSwimDiveInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimDive() {
asm int daAlink_c::procSwimDive() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimDive__9daAlink_cFv.s"
}
@@ -342,7 +384,7 @@ asm void daAlink_c::procSwimDive() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimHookshotSubjectInit() {
asm int daAlink_c::procSwimHookshotSubjectInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimHookshotSubjectInit__9daAlink_cFv.s"
}
@@ -352,7 +394,7 @@ asm void daAlink_c::procSwimHookshotSubjectInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimHookshotSubject() {
asm int daAlink_c::procSwimHookshotSubject() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimHookshotSubject__9daAlink_cFv.s"
}
@@ -362,7 +404,7 @@ asm void daAlink_c::procSwimHookshotSubject() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimHookshotMoveInit() {
asm int daAlink_c::procSwimHookshotMoveInit() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimHookshotMoveInit__9daAlink_cFv.s"
}
@@ -373,7 +415,7 @@ asm void daAlink_c::procSwimHookshotMoveInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimHookshotMove() {
asm int daAlink_c::procSwimHookshotMove() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimHookshotMove__9daAlink_cFv.s"
}
@@ -384,7 +426,7 @@ asm void daAlink_c::procSwimHookshotMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimDamageInit(dCcD_GObjInf* param_0) {
asm int daAlink_c::procSwimDamageInit(dCcD_GObjInf* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procSwimDamageInit__9daAlink_cFP12dCcD_GObjInf.s"
}
@@ -394,7 +436,7 @@ asm void daAlink_c::procSwimDamageInit(dCcD_GObjInf* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procSwimDamage() {
asm int daAlink_c::procSwimDamage() {
nofralloc
#include "asm/d/a/d_a_alink/procSwimDamage__9daAlink_cFv.s"
}
@@ -405,18 +447,24 @@ asm void daAlink_c::procSwimDamage() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procOctaIealSpitInit() {
asm int 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
int daAlink_c::procOctaIealSpit() {
if (mDemo.getDemoMode() == 0x2E) {
i_cancelOriginalDemo();
}
cLib_addCalc(&mNormalSpeed, FLOAT_LABEL(lit_6108), lit_5943, field_0x3478, lit_9054);
field_0x2f99 = 7;
if (mUnderFrameCtrl[0].checkAnmEnd()) {
procSwimWaitInit(0);
}
return 1;
}
+50
View File
@@ -1,4 +1,53 @@
/* 801406A8-80140888 13AFE8 01E0+00 0/0 1/1 0/0 .text initStatusWindow__9daAlink_cFv */
// regalloc
#ifdef NONMATCHING
void daAlink_c::initStatusWindow() {
u16 var_r28;
u16 var_r30;
u16 var_r31;
i_onNoResetFlg2(FLG2_STATUS_WINDOW_DRAW);
void* tmpBuffer = new (0x20) void*[0x500];
if (i_checkWolf()) {
var_r28 = 0x2FF;
var_r31 = 0x408;
var_r30 = 0x3A7;
changeModelDataDirectWolf(0);
} else {
var_r28 = 0x26A;
var_r31 = 0x3AF;
var_r30 = 0x32C;
if (checkZoraWearAbility() && !checkZoraWearMaskDraw()) {
field_0x06f0->hide();
}
changeModelDataDirect(0);
}
dComIfGp_getAnmArchive()->readIdxResource(tmpBuffer, 0x1400, var_r28);
m_sWindowBck = new mDoExt_bckAnm();
J3DAnmTransform* bck = (J3DAnmTransform*)J3DAnmLoaderDataBase::load(tmpBuffer, J3DLOADER_UNK_FLAG0);
m_sWindowBck->init(bck, 1, 2, 1.0f, 0, -1, false);
tmpBuffer = new (0x20) void*[0x100];
dComIfGp_getAnmArchive()->readIdxResource(tmpBuffer, 0x400, var_r31);
J3DAnmTexPattern* btp = (J3DAnmTexPattern*)J3DAnmLoaderDataBase::load(tmpBuffer, J3DLOADER_UNK_FLAG0);
btp->setFrame(0.0f);
btp->searchUpdateMaterialID(field_0x06c0);
field_0x06c0->entryTexNoAnimator(btp);
tmpBuffer = new (0x20) void*[0x100];
dComIfGp_getAnmArchive()->readIdxResource(tmpBuffer, 0x400, var_r30);
J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)J3DAnmLoaderDataBase::load(tmpBuffer, J3DLOADER_UNK_FLAG0);
btk->setFrame(0.0f);
btk->searchUpdateMaterialID(field_0x06c0);
field_0x06c0->entryTexMtxAnimator(btk);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -7,6 +56,7 @@ asm void daAlink_c::initStatusWindow() {
#include "asm/d/a/d_a_alink/initStatusWindow__9daAlink_cFv.s"
}
#pragma pop
#endif
/* 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) {
+60 -37
View File
@@ -59,10 +59,10 @@ int daAlink_c::procGrassWhistleGetInit() {
commonProcInit(PROC_GRASS_WHISTLE_GET);
mNormalSpeed = 0.0f;
current.angle.y = mCollisionRot.y;
current.angle.y = shape_angle.y;
field_0x2f98 = 4;
setSingleAnimeParam(ANM_BOTTLE_SWING_DOWN, &daAlinkHIO_bottle_c0::m.field_0x50);
setSingleAnimeParam(ANM_BOTTLE_SWING_DOWN, &daAlinkHIO_bottle_c0::m.mSwingDownAnm);
field_0x2f92 = 0xFE;
field_0x280c.setData(field_0x27f4);
@@ -70,10 +70,10 @@ int daAlink_c::procGrassWhistleGetInit() {
mCommonCounter = yobikusa->getType();
field_0x300e = yobikusa->getPathID();
field_0x3010 = yobikusa->isPlayerCorrect();
field_0x3012 = yobikusa->mCollisionRot.y + 0x8000;
field_0x37c8.set(yobikusa->current.pos.x + cM_ssin(yobikusa->mCollisionRot.y) * 50.0f,
field_0x3012 = yobikusa->shape_angle.y + 0x8000;
field_0x37c8.set(yobikusa->current.pos.x + cM_ssin(yobikusa->shape_angle.y) * 50.0f,
yobikusa->current.pos.y + 50.0f,
yobikusa->current.pos.z + cM_scos(yobikusa->mCollisionRot.y) * 50.0f);
yobikusa->current.pos.z + cM_scos(yobikusa->shape_angle.y) * 50.0f);
voiceStart(Z2SE_AL_V_SWING_BOTTLE);
return 1;
}
@@ -112,7 +112,7 @@ int daAlink_c::procGrassWhistleGet() {
#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,
asm int 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"
@@ -124,69 +124,92 @@ asm void daAlink_c::procGrassWhistleWaitInit(int param_0, int param_1, int param
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::procGrassWhistleWait() {
asm int 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"
int daAlink_c::procCoHorseCallWaitInit(int param_0) {
commonProcInit(PROC_HORSE_CALL_WAIT);
if (param_0 == 4) {
field_0x3010 = 2;
} else if (param_0 == 1) {
field_0x3010 = 0x3D;
} else {
field_0x3010 = 0x10;
}
if (i_checkWolf()) {
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMove_c0::m.field_0x70, lit_6109);
} else {
setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, lit_6109);
}
setGrassCancelStatus(0);
dComIfGp_setPlayerStatus1(0, 0x4000000);
return 1;
}
#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() {
asm int 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"
int daAlink_c::procHawkCatchInit() {
if (mProcID == PROC_HAWK_SUBJECT || !commonProcInitNotSameProc(PROC_HAWK_CATCH)) {
return 0;
}
setSingleAnimeBase(ANM_HAWK_CATCH);
deleteEquipItem(0, 1);
return 1;
}
#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"
int daAlink_c::procHawkCatch() {
if (mUnderFrameCtrl[0].checkAnmEnd()) {
dComIfGp_evmng_cutEnd(field_0x3184);
procHawkSubjectInit();
}
return 1;
}
#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"
int daAlink_c::procHawkSubjectInit() {
if (!commonProcInitNotSameProc(PROC_HAWK_SUBJECT)) {
return 0;
}
setSingleAnimeBase(ANM_HAWK_WAIT);
fopAc_ac_c* actor = (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchHawk, NULL);
if (actor != NULL) {
field_0x280c.setData(actor);
}
mCommonCounter = 0;
field_0x59e = 0;
deleteEquipItem(0, 1);
return 1;
}
#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() {
asm int daAlink_c::procHawkSubject() {
nofralloc
#include "asm/d/a/d_a_alink/procHawkSubject__9daAlink_cFv.s"
}
+1432 -733
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -143,7 +143,7 @@ int daItemBase_c::DrawBase() {
/* 80144C30-80144C7C 13F570 004C+00 1/0 1/0 9/0 .text RotateYBase__12daItemBase_cFv */
void daItemBase_c::RotateYBase() {
mCollisionRot.y += (s16)(0xFFFF / getData().field_0x1c);
shape_angle.y += (s16)(0xFFFF / getData().field_0x1c);
}
/* 80144C7C-80144CA0 13F5BC 0024+00 1/0 1/0 5/0 .text setListStart__12daItemBase_cFv */
+2 -2
View File
@@ -2109,7 +2109,7 @@ void daNpcT_c::setPos(cXyz i_pos) {
/* 8014A99C-8014AA18 1452DC 007C+00 0/0 0/0 29/29 .text setAngle__8daNpcT_cF5csXyz */
void daNpcT_c::setAngle(csXyz i_angle) {
current.angle = i_angle;
mCollisionRot = current.angle;
shape_angle = current.angle;
field_0xd78 = current.angle;
field_0xd7e = field_0xd78;
next.angle = current.angle;
@@ -2118,7 +2118,7 @@ void daNpcT_c::setAngle(csXyz i_angle) {
/* 8014AA18-8014AA40 145358 0028+00 0/0 0/0 138/138 .text setAngle__8daNpcT_cFs */
void daNpcT_c::setAngle(s16 i_angle) {
current.angle.y = i_angle;
mCollisionRot.y = current.angle.y;
shape_angle.y = current.angle.y;
field_0xd78.y = current.angle.y;
field_0xd7e.y = field_0xd78.y;
next.angle.y = current.angle.y;
+14 -14
View File
@@ -284,7 +284,7 @@ void daItem_c::setBaseMtx() {
/* 8015B190-8015B1C8 155AD0 0038+00 1/1 0/0 0/0 .text setBaseMtx_0__8daItem_cFv */
void daItem_c::setBaseMtx_0() {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZXYrotM(mCollisionRot);
mDoMtx_stack_c::ZXYrotM(shape_angle);
}
/* ############################################################################################## */
@@ -301,7 +301,7 @@ void daItem_c::setBaseMtx_1() {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::transM(0.0f, y, 0.0f);
mDoMtx_stack_c::ZXYrotM(mCollisionRot);
mDoMtx_stack_c::ZXYrotM(shape_angle);
mDoMtx_stack_c::transM(0.0f, -y, 0.0f);
}
#else
@@ -647,8 +647,8 @@ int daItem_c::_daItem_create() {
orig.angle.x = 0;
current.angle.z = 0;
current.angle.x = 0;
mCollisionRot.z = 0;
mCollisionRot.x = 0;
shape_angle.z = 0;
shape_angle.x = 0;
field_0x95d = true;
}
@@ -744,7 +744,7 @@ int daItem_c::_daItem_execute() {
}
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZXYrotM(mCollisionRot);
mDoMtx_stack_c::ZXYrotM(shape_angle);
mDoMtx_stack_c::inverse();
mDoMtx_stack_c::multVec(&carry_pos, &carry_pos);
daPy_getPlayerActorClass()->setHookshotCarryOffset(fopAcM_GetID(this), &carry_pos);
@@ -865,8 +865,8 @@ SECTION_SDATA2 static f32 lit_4404 = 15.0f;
void daItem_c::procInitSimpleGetDemo() {
current.pos = daPy_getPlayerActorClass()->getItemPos();
current.pos.y += 15.0f;
mCollisionRot.z = 0;
mCollisionRot.x = 0;
shape_angle.z = 0;
shape_angle.x = 0;
mScale = field_0x930;
fopAcM_SetSpeed(this, 0, getData().field_0x2c, 0);
fopAcM_SetGravity(this, getData().field_0x30);
@@ -1076,8 +1076,8 @@ void daItem_c::mode_water_init() {
f32 tmp_0 = FLOAT_LABEL(lit_3857);
fopAcM_SetSpeed(this, tmp_0, tmp_0, tmp_0);
fopAcM_SetSpeedF(this, tmp_0);
mCollisionRot.z = 0;
mCollisionRot.x = 0;
shape_angle.z = 0;
shape_angle.x = 0;
field_0x940 = 0;
mScale = field_0x930;
}
@@ -1361,9 +1361,9 @@ int daItem_c::itemActionForRupee() {
}
if (field_0x94b == 0) {
mCollisionRot.x += getData().field_0x1a;
shape_angle.x += getData().field_0x1a;
} else {
mCollisionRot.x = 0;
shape_angle.x = 0;
}
return 1;
@@ -1466,7 +1466,7 @@ int daItem_c::initAction() {
if (isHeart(m_itemNo)) {
mSpeedF = (cM_rndF(5.0f) + 20.0f) - 15.0f;
mCollisionRot.z = cM_rndFX(getData().field_0x2a);
shape_angle.z = cM_rndFX(getData().field_0x2a);
}
field_0x949 = 0;
@@ -1530,8 +1530,8 @@ asm void daItem_c::initSpeed(int param_0) {
void daItem_c::initAngle() {
current.angle.z = 0;
current.angle.x = 0;
mCollisionRot.z = 0;
mCollisionRot.x = 0;
shape_angle.z = 0;
shape_angle.x = 0;
}
/* 8015DE50-8015DE70 158790 0020+00 1/0 0/0 0/0 .text daItem_Draw__FP8daItem_c */
+4 -4
View File
@@ -245,7 +245,7 @@ int daPy_boomerangMove_c::posMove(cXyz* param_0, s16* param_1, fopAc_ac_c* param
daAlink_c* link = daAlink_getAlinkActorClass();
if ((param_2 == NULL || !link->checkBoomerangCarry(param_2)) &&
(m_eventKeepFlg == 0 || field_0x0 != 0)) {
s16 tmp = (m_dropAngleY + link->mCollisionRot.y) + cM_rndF(2048.0f);
s16 tmp = (m_dropAngleY + link->shape_angle.y) + cM_rndF(2048.0f);
param_0->x = link->current.pos.x + field_0x8 * cM_ssin(tmp);
param_0->z = link->current.pos.z + field_0x8 * cM_scos(tmp);
@@ -472,7 +472,7 @@ void* daPy_anmHeap_c::loadData(u16 i_resId) {
if (mArcNo == 0xFFFF) {
dComIfGp_getAnmArchive()->readIdxResource(mBuffer, mBufferSize, i_resId);
JKRHeap* heap = setAnimeHeap();
void* data = J3DAnmLoaderDataBase::load(mBuffer, UNK_FLAG0);
void* data = J3DAnmLoaderDataBase::load(mBuffer, J3DLOADER_UNK_FLAG0);
mDoExt_setCurrentHeap(heap);
return data;
}
@@ -607,7 +607,7 @@ void daPy_sightPacket_c::setSight() {
mDoLib_project(&mPos, &tmp);
mDoMtx_stack_c::transS(tmp.x, tmp.y, tmp.z);
mDoMtx_stack_c::scaleM(32.0f, 32.0f, 32.0f);
mDoMtx_stack_c::copy(field_0x14);
mDoMtx_copy(mDoMtx_stack_c::get(), field_0x14);
dComIfGd_set2DXlu(this);
}
@@ -635,7 +635,7 @@ BOOL daPy_py_c::checkMasterSwordEquip() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daPy_py_c::checkWoodShieldEquip() {
asm BOOL daPy_py_c::checkWoodShieldEquip() {
nofralloc
#include "asm/d/a/d_a_player/checkWoodShieldEquip__9daPy_py_cFv.s"
}
+2 -2
View File
@@ -448,7 +448,7 @@ 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->m_bgw_base_ptr->CalcDiffShapeAngleY(elm->m_actor_ptr->shape_angle.y);
}
elm++;
}
@@ -462,7 +462,7 @@ bool dBgS::Regist(dBgW_Base* pbgw, fopAc_ac_c* p_actor) {
}
if (p_actor != NULL && pbgw->ChkMoveBg()) {
pbgw->SetOldShapeAngleY(p_actor->mCollisionRot.y);
pbgw->SetOldShapeAngleY(p_actor->shape_angle.y);
pbgw->SetRoomId(fopAcM_GetRoomNo(p_actor));
}
+12 -10
View File
@@ -213,8 +213,8 @@ SECTION_SDATA2 static f32 lit_4092 = 1000.0f;
// matches with literals
#ifdef NONMATCHING
dBgS_Acch::dBgS_Acch() {
SetPolyPassChk(&GetPolyPassChkInfo());
SetGrpPassChk(&GetGrpPassChkInfo());
SetPolyPassChk(GetPolyPassChkInfo());
SetGrpPassChk(GetGrpPassChkInfo());
m_flags = 0;
SetRoofNone();
@@ -309,17 +309,12 @@ void dBgS_Acch::GroundCheckInit(dBgS& param_0) {
}
}
/* ############################################################################################## */
/* 80424B20-80424B2C 051840 000C+00 1/1 0/0 0/0 .bss @4166 */
static u8 lit_4166[12];
/* 80424B2C-80424B80 05184C 0050+04 1/1 0/0 0/0 .bss tmpRoofChk$4165 */
static u8 tmpRoofChk[80 + 4 /* padding */];
// static dBgS_RoofChk tmpRoofChk;
/* 80076350-8007654C 070C90 01FC+00 2/2 0/0 0/0 .text GroundCheck__9dBgS_AcchFR4dBgS */
// issues with tmpRoofChk
#ifdef NONMATCHING
/* 80424B2C-80424B80 05184C 0050+04 1/1 0/0 0/0 .bss tmpRoofChk$4165 */
static dBgS_RoofChk tmpRoofChk;
void dBgS_Acch::GroundCheck(dBgS& param_0) {
if (!(m_flags & GRND_NONE)) {
cXyz grnd_pos;
@@ -369,6 +364,13 @@ void dBgS_Acch::GroundCheck(dBgS& param_0) {
}
}
#else
/* ############################################################################################## */
/* 80424B20-80424B2C 051840 000C+00 1/1 0/0 0/0 .bss @4166 */
static u8 lit_4166[12];
/* 80424B2C-80424B80 05184C 0050+04 1/1 0/0 0/0 .bss tmpRoofChk$4165 */
static u8 tmpRoofChk[80 + 4 /* padding */];
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
+2 -2
View File
@@ -170,7 +170,7 @@ int dBgS_MoveBgActor::MoveBGCreate(char const* p_name, int dzb_id, MoveBGActor_S
u32 param_3, Mtx* param_4) {
if (param_4 == NULL) {
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::YrotM(mCollisionRot.y);
mDoMtx_stack_c::YrotM(shape_angle.y);
mDoMtx_stack_c::scaleM(mScale.x, mScale.y, mScale.z);
PSMTXCopy(mDoMtx_stack_c::get(), field_0x56c);
} else {
@@ -220,7 +220,7 @@ bool dBgS_MoveBgActor::MoveBGExecute() {
bool ret = Execute(&tmp);
if (tmp == NULL) {
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::YrotM(mCollisionRot.y);
mDoMtx_stack_c::YrotM(shape_angle.y);
mDoMtx_stack_c::scaleM(mScale.x, mScale.y, mScale.z);
PSMTXCopy(mDoMtx_stack_c::get(), field_0x56c);
} else {
+3 -2
View File
@@ -9,6 +9,7 @@
#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
#include "dolphin/mtx/mtxvec.h"
#include "rel/d/a/d_a_horse/d_a_horse.h"
//
// Forward References:
@@ -476,7 +477,7 @@ void cBgW::GlobalVtx() {
/* 80079484-80079564 073DC4 00E0+00 1/1 0/0 0/0 .text SetVtx__4cBgWFv */
// matches with literals
#ifdef NONMATCHING
int cBgW::SetVtx() {
bool cBgW::SetVtx() {
if (field_0x88 & 0x10) {
pm_vtx_tbl = NULL;
} else if (field_0x88 & 0x1) {
@@ -1136,7 +1137,7 @@ s32 cBgW::GetGrpRoomIndex(cBgS_PolyInfo const& poly) const {
return 0xFF;
}
int room_index = pm_bgd->m_g_tbl[tmp].field_0x2a;
room_index = pm_bgd->m_g_tbl[tmp].field_0x2a;
if (room_index >= 0xFF) {
room_index = 0xFF;
}
+14 -14
View File
@@ -126,28 +126,28 @@ u16 cc_pl_cut_bit_get() {
daPy_py_c* link = (daPy_py_c*)dComIfGp_getPlayer(0);
u16 bit = 0;
if (link->getCutType() == daPy_py_c::TYPE_CUT_VERTICAL) {
if (link->getCutType() == daPy_py_c::CUT_TYPE_NM_VERTICAL) {
bit = 0x1;
} else if (link->getCutType() == daPy_py_c::TYPE_CUT_STAB) {
} else if (link->getCutType() == daPy_py_c::CUT_TYPE_NM_STAB) {
bit = 0x2;
} else if (link->getCutType() == daPy_py_c::TYPE_CUT_STAB_COMBO) {
} else if (link->getCutType() == daPy_py_c::CUT_TYPE_COMBO_STAB) {
bit = 0x200;
} else if (link->getCutType() == daPy_py_c::TYPE_CUT_SWEEP) {
} else if (link->getCutType() == daPy_py_c::CUT_TYPE_NM_RIGHT) {
bit = 0x4;
} else if (link->getCutType() == daPy_py_c::TYPE_CUT_HORIZONTAL) {
} else if (link->getCutType() == daPy_py_c::CUT_TYPE_NM_LEFT) {
bit = 0x8;
} else if (link->getCutType() == daPy_py_c::TYPE_CUT_LEFT_SWEEP_FINISH) {
} else if (link->getCutType() == daPy_py_c::CUT_TYPE_FINISH_LEFT) {
bit = 0x20;
} else if (link->getCutType() == daPy_py_c::TYPE_CUT_DOWN_FINISH) {
} else if (link->getCutType() == daPy_py_c::CUT_TYPE_FINISH_VERTICAL) {
bit = 0x40;
} else if (link->getCutType() == daPy_py_c::TYPE_CUT_TURN_RIGHT || link->getCutType() == 9 ||
} else if (link->getCutType() == daPy_py_c::CUT_TYPE_TURN_RIGHT || link->getCutType() == 9 ||
link->getCutType() == 43 ||
link->getCutType() == daPy_py_c::TYPE_CUT_LARGE_TURN_RIGHT) {
link->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_RIGHT) {
bit = 0x80;
} else if (link->getCutType() == daPy_py_c::TYPE_CUT_TURN_LEFT ||
link->getCutType() == daPy_py_c::TYPE_CUT_LARGE_TURN_LEFT) {
} else if (link->getCutType() == daPy_py_c::CUT_TYPE_TURN_LEFT ||
link->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_LEFT) {
bit = 0x800;
} else if (link->getCutType() == daPy_py_c::TYPE_CUT_JUMP) {
} else if (link->getCutType() == daPy_py_c::CUT_TYPE_JUMP) {
bit = 0x100;
} else if (link->getCutType() == 40 || link->getCutType() == 41) {
bit = 0x400;
@@ -465,8 +465,8 @@ fopAc_ac_c* cc_at_check(fopAc_ac_c* p_enemy, dCcU_AtInfo* p_info) {
}
if (p_info->mHitType == HIT_TYPE_LINK_NORMAL_ATTACK &&
link->getCutType() == daPy_py_c::TYPE_CUT_HEAD) {
p_info->mHitDirection = link->mCollisionRot.y;
link->getCutType() == daPy_py_c::CUT_TYPE_HEAD_JUMP) {
p_info->mHitDirection = link->shape_angle.y;
}
if (p_info->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT) &&
+205 -235
View File
@@ -424,23 +424,23 @@ void dComIfG_play_c::clearItemBombNumCount(u8 i_item) {
mItemBombNumCount[i_item] = 0;
}
void dComIfG_play_c::setNowVibration(u8 vib_status) {
mNowVibration = vib_status;
void dComIfG_play_c::setNowVibration(u8 i_vibration) {
mNowVibration = i_vibration;
}
u32 dComIfG_play_c::getNowVibration() {
return mNowVibration;
}
void dComIfG_play_c::setStartStage(dStage_startStage_c* p_startStage) {
void dComIfG_play_c::setStartStage(dStage_startStage_c* i_startStage) {
mLayerOld = mStartStage.getLayer();
mStartStage = *p_startStage;
mStartStage = *i_startStage;
}
/* 8002B3F4-8002B434 025D34 0040+00 1/1 0/0 0/0 .text dComIfG_get_timelayer__FPi */
void dComIfG_get_timelayer(int* layer) {
void dComIfG_get_timelayer(int* i_layer) {
if (dKy_daynight_check()) {
*layer += 1;
*i_layer += 1;
}
}
@@ -1062,7 +1062,7 @@ int dComIfG_play_c::getLayerNo_common_common(const char* stageName, int roomId,
// Stage is Fishing Pond or Hena's Hut
else if (!strcmp(stageName, "F_SP127") || !strcmp(stageName, "R_SP127")) {
switch (g_env_light[0x12fe]) {
switch (g_env_light.field_0x12fe) {
case 1:
layer = 0;
break;
@@ -1189,8 +1189,8 @@ void dComIfG_play_c::drawSimpleModel() {
/* 8002CAF0-8002CB30 027430 0040+00 0/0 0/0 16/16 .text
* addSimpleModel__14dComIfG_play_cFP12J3DModelDataiUc */
int dComIfG_play_c::addSimpleModel(J3DModelData* i_modelData, int roomNo, u8 drawBG) {
if (mSimpleModel != NULL && mSimpleModel->addModel(i_modelData, roomNo, drawBG)) {
int dComIfG_play_c::addSimpleModel(J3DModelData* i_modelData, int i_roomNo, u8 i_drawBG) {
if (mSimpleModel != NULL && mSimpleModel->addModel(i_modelData, i_roomNo, i_drawBG)) {
return 1;
}
@@ -1199,9 +1199,9 @@ int dComIfG_play_c::addSimpleModel(J3DModelData* i_modelData, int roomNo, u8 dra
/* 8002CB30-8002CB68 027470 0038+00 0/0 0/0 16/16 .text
* removeSimpleModel__14dComIfG_play_cFP12J3DModelDatai */
int dComIfG_play_c::removeSimpleModel(J3DModelData* i_modelData, int roomNo) {
int dComIfG_play_c::removeSimpleModel(J3DModelData* i_modelData, int i_roomNo) {
if (mSimpleModel != NULL) {
mSimpleModel->removeModel(i_modelData, roomNo);
mSimpleModel->removeModel(i_modelData, i_roomNo);
return 1;
}
@@ -1210,38 +1210,38 @@ int dComIfG_play_c::removeSimpleModel(J3DModelData* i_modelData, int roomNo) {
/* 8002CB68-8002CB94 0274A8 002C+00 0/0 0/0 16/16 .text
* entrySimpleModel__14dComIfG_play_cFP8J3DModeli */
void dComIfG_play_c::entrySimpleModel(J3DModel* i_model, int roomNo) {
void dComIfG_play_c::entrySimpleModel(J3DModel* i_model, int i_roomNo) {
if (mSimpleModel != NULL) {
mSimpleModel->entry(i_model, roomNo);
mSimpleModel->entry(i_model, i_roomNo);
}
}
void dComIfG_play_c::setTimerNowTimeMs(int time) {
mTimerInfo.mTimerNowTimeMs = time;
void dComIfG_play_c::setTimerNowTimeMs(int i_time) {
mTimerInfo.mTimerNowTimeMs = i_time;
}
int dComIfG_play_c::getTimerNowTimeMs() {
return mTimerInfo.mTimerNowTimeMs;
}
void dComIfG_play_c::setTimerLimitTimeMs(int time) {
mTimerInfo.mTimerLimitTimeMs = time;
void dComIfG_play_c::setTimerLimitTimeMs(int i_time) {
mTimerInfo.mTimerLimitTimeMs = i_time;
}
int dComIfG_play_c::getTimerLimitTimeMs() {
return mTimerInfo.mTimerLimitTimeMs;
}
void dComIfG_play_c::setTimerMode(int mode) {
mTimerInfo.mTimerMode = mode;
void dComIfG_play_c::setTimerMode(int i_mode) {
mTimerInfo.mTimerMode = i_mode;
}
int dComIfG_play_c::getTimerMode() {
return mTimerInfo.mTimerMode;
}
void dComIfG_play_c::setTimerType(u8 type) {
mTimerInfo.mTimerType = type;
void dComIfG_play_c::setTimerType(u8 i_type) {
mTimerInfo.mTimerType = i_type;
}
u8 dComIfG_play_c::getTimerType() {
@@ -1249,8 +1249,8 @@ u8 dComIfG_play_c::getTimerType() {
}
/* 8002CBD4-8002CBDC -00001 0008+00 0/0 0/0 0/0 .text setTimerPtr__14dComIfG_play_cFP8dTimer_c */
void dComIfG_play_c::setTimerPtr(dTimer_c* ptr) {
mTimerInfo.mTimerPtr = ptr;
void dComIfG_play_c::setTimerPtr(dTimer_c* i_ptr) {
mTimerInfo.mTimerPtr = i_ptr;
}
/* 8002CBDC-8002CBE4 02751C 0008+00 6/6 7/7 15/15 .text getTimerPtr__14dComIfG_play_cFv
@@ -1281,7 +1281,7 @@ SECTION_SDATA extern GXColor g_blackColor = {0, 0, 0, 255};
/* 8002CC54-8002CD44 027594 00F0+00 1/1 1/1 0/0 .text dComIfG_changeOpeningScene__FP11scene_classs
*/
int dComIfG_changeOpeningScene(scene_class* scene, s16 procName) {
int dComIfG_changeOpeningScene(scene_class* i_scene, s16 i_procName) {
dComIfGp_offEnableNextStage();
dComIfGp_setNextStage("F_SP102", 100, 0, 10);
mDoAud_setSceneName(dComIfGp_getNextStageName(), dComIfGp_getNextStageRoomNo(),
@@ -1292,28 +1292,28 @@ int dComIfG_changeOpeningScene(scene_class* scene, s16 procName) {
mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor);
}
fopScnM_ChangeReq(scene, procName, 0, 30);
fopScnM_ReRequest(procName, 0);
fopScnM_ChangeReq(i_scene, i_procName, 0, 30);
fopScnM_ReRequest(i_procName, 0);
return 1;
}
/* 8002CD44-8002CDB8 027684 0074+00 0/0 2/2 0/0 .text dComIfG_resetToOpening__FP11scene_class */
BOOL dComIfG_resetToOpening(scene_class* scene) {
BOOL dComIfG_resetToOpening(scene_class* i_scene) {
if (mDoRst::isReturnToMenu() || !mDoRst::isReset() ||
mDoGph_gInf_c::getFader()->getStatus() == 2) {
return 0;
}
dComIfG_changeOpeningScene(scene, PROC_OPENING_SCENE);
dComIfG_changeOpeningScene(i_scene, PROC_OPENING_SCENE);
mDoAud_bgmStop(30);
mDoAud_resetProcess();
return 1;
}
static int phase_1(char* arc_name) {
if (!dComIfG_setObjectRes(arc_name, 0, NULL)) {
OSReport_Error("%s.arc Read Error !!\n", arc_name);
static int phase_1(char* i_arcName) {
if (!dComIfG_setObjectRes(i_arcName, 0, NULL)) {
OSReport_Error("%s.arc Read Error !!\n", i_arcName);
return cPhs_ERROR_e;
}
@@ -1321,11 +1321,11 @@ static int phase_1(char* arc_name) {
}
/* 8002CE38-8002CEB4 027778 007C+00 1/0 0/0 0/0 .text phase_2__FPc */
static int phase_2(char* arc_name) {
int syncStatus = dComIfG_syncObjectRes(arc_name);
static int phase_2(char* i_arcName) {
int syncStatus = dComIfG_syncObjectRes(i_arcName);
if (syncStatus < 0) {
OSReport_Error("%s.arc Sync Read Error !!\n", arc_name);
OSReport_Error("%s.arc Sync Read Error !!\n", i_arcName);
return cPhs_ERROR_e;
} else {
return syncStatus > 0 ? 0 : 2;
@@ -1339,7 +1339,7 @@ static int phase_3(char*) {
/* 8002CEBC-8002CEFC 0277FC 0040+00 0/0 7/7 550/550 .text
* dComIfG_resLoad__FP30request_of_phase_process_classPCc */
int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* arc_name) {
int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* i_arcName) {
static int (*l_method[3])(void*) = {(int (*)(void*))phase_1, (int (*)(void*))phase_2,
(int (*)(void*))phase_3};
@@ -1347,12 +1347,12 @@ int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* arc_nam
return cPhs_COMPLEATE_e;
}
return dComLbG_PhaseHandler(i_phase, l_method, (void*)arc_name);
return dComLbG_PhaseHandler(i_phase, l_method, (void*)i_arcName);
}
/* 8002CEFC-8002CF5C 02783C 0060+00 1/0 0/0 0/0 .text phase_01__FP12phaseParam_c */
static int phase_01(phaseParam_c* phase) {
if (dComIfG_setObjectRes(phase->mResName, 0, phase->mpHeap) == 0) {
static int phase_01(phaseParam_c* i_phasePrm) {
if (dComIfG_setObjectRes(i_phasePrm->mResName, 0, i_phasePrm->mpHeap) == 0) {
return 5;
}
@@ -1360,8 +1360,8 @@ static int phase_01(phaseParam_c* phase) {
}
/* 8002CF5C-8002CFB8 02789C 005C+00 1/0 0/0 0/0 .text phase_02__FP12phaseParam_c */
static int phase_02(phaseParam_c* phase) {
int syncStatus = dComIfG_syncObjectRes(phase->mResName);
static int phase_02(phaseParam_c* i_phasePrm) {
int syncStatus = dComIfG_syncObjectRes(i_phasePrm->mResName);
if (syncStatus < 0) {
return 5;
} else {
@@ -1371,12 +1371,12 @@ static int phase_02(phaseParam_c* phase) {
/* 8002CFB8-8002CFC0 0278F8 0008+00 1/0 0/0 0/0 .text phase_03__FP12phaseParam_c */
static int phase_03(phaseParam_c*) {
return false;
return 0;
}
/* 8002CFC0-8002D008 027900 0048+00 1/1 3/3 0/0 .text
* dComIfG_resLoad__FP30request_of_phase_process_classPCcP7JKRHeap */
int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* resName, JKRHeap* heap) {
int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* i_resName, JKRHeap* i_heap) {
static int (*l_method[3])(void*) = {(int (*)(void*))phase_01, (int (*)(void*))phase_02,
(int (*)(void*))phase_03};
@@ -1384,42 +1384,42 @@ int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* resName
return cPhs_COMPLEATE_e;
}
phaseParam_c param(resName, heap);
phaseParam_c param(i_resName, i_heap);
return dComLbG_PhaseHandler(i_phase, l_method, &param);
}
/* 8002D008-8002D06C 027948 0064+00 1/1 10/10 540/540 .text
* dComIfG_resDelete__FP30request_of_phase_process_classPCc */
int dComIfG_resDelete(request_of_phase_process_class* i_phase, char const* resName) {
int dComIfG_resDelete(request_of_phase_process_class* i_phase, char const* i_resName) {
if (i_phase->id != cPhs_TWO_e) {
return 0;
}
dComIfG_deleteObjectResMain(resName);
dComIfG_deleteObjectResMain(i_resName);
i_phase->id = cPhs_ZERO_e;
return 1;
}
s8 dComIfGp_getReverb(int roomNo) {
return dStage_roomRead_dt_c_GetReverbStage(*dComIfGp_getStageRoom(), roomNo);
s8 dComIfGp_getReverb(int i_roomNo) {
return dStage_roomRead_dt_c_GetReverbStage(*dComIfGp_getStageRoom(), i_roomNo);
}
/* 8002D0B4-8002D1AC 0279F4 00F8+00 0/0 3/3 34/34 .text
* dComIfGd_setSimpleShadow__FP4cXyzffR13cBgS_PolyInfosfP9_GXTexObj */
int dComIfGd_setSimpleShadow(cXyz* pos, f32 param_1, f32 param_2, cBgS_PolyInfo& param_3, s16 angle,
f32 param_5, _GXTexObj* tex) {
int dComIfGd_setSimpleShadow(cXyz* i_pos, f32 param_1, f32 param_2, cBgS_PolyInfo& param_3, s16 i_angle,
f32 param_5, GXTexObj* i_tex) {
if (param_3.ChkSetInfo() && -1000000000.0f != param_1) {
cM3dGPla plane;
dComIfG_Bgsp().GetTriPla(param_3, &plane);
return dComIfGd_setSimpleShadow(pos, param_1, param_2, &plane.mNormal, angle, param_5, tex);
return dComIfGd_setSimpleShadow(i_pos, param_1, param_2, &plane.mNormal, i_angle, param_5, i_tex);
} else {
return 0;
}
}
/* 8002D1AC-8002D25C 027AEC 00B0+00 0/0 0/0 1/1 .text dComIfGp_getMapTrans__FiPfPfPs */
int dComIfGp_getMapTrans(int roomNo, f32* transX, f32* transY, s16* angle) {
int dComIfGp_getMapTrans(int i_roomNo, f32* o_transX, f32* o_transY, s16* o_angle) {
dStage_Multi_c* multi = dComIfGp_getMulti();
if (multi == NULL) {
return 0;
@@ -1427,10 +1427,10 @@ int dComIfGp_getMapTrans(int roomNo, f32* transX, f32* transY, s16* angle) {
dStage_Mult_info* info = multi->mInfo;
for (int i = 0; i < multi->field_0x0; i++) {
if (roomNo == info->mRoomNo) {
*transX = info->mTransX;
*transY = info->mTransY;
*angle = info->mAngle;
if (i_roomNo == info->mRoomNo) {
*o_transX = info->mTransX;
*o_transY = info->mTransY;
*o_angle = info->mAngle;
return 1;
}
info++;
@@ -1440,8 +1440,8 @@ int dComIfGp_getMapTrans(int roomNo, f32* transX, f32* transY, s16* angle) {
}
/* 8002D25C-8002D2AC 027B9C 0050+00 0/0 3/3 3/3 .text dComIfGp_getRoomCamera__Fi */
stage_camera_class* dComIfGp_getRoomCamera(int roomNo) {
dStage_roomStatus_c* status = dComIfGp_roomControl_getStatusRoomDt(roomNo);
stage_camera_class* dComIfGp_getRoomCamera(int i_roomNo) {
dStage_roomStatus_c* status = dComIfGp_roomControl_getStatusRoomDt(i_roomNo);
if (status == NULL) {
return NULL;
@@ -1451,8 +1451,8 @@ stage_camera_class* dComIfGp_getRoomCamera(int roomNo) {
}
/* 8002D2AC-8002D2FC 027BEC 0050+00 0/0 3/3 3/3 .text dComIfGp_getRoomArrow__Fi */
stage_arrow_class* dComIfGp_getRoomArrow(int roomNo) {
dStage_roomStatus_c* status = dComIfGp_roomControl_getStatusRoomDt(roomNo);
stage_arrow_class* dComIfGp_getRoomArrow(int i_roomNo) {
dStage_roomStatus_c* status = dComIfGp_roomControl_getStatusRoomDt(i_roomNo);
if (status == NULL) {
return NULL;
@@ -1462,41 +1462,41 @@ stage_arrow_class* dComIfGp_getRoomArrow(int roomNo) {
}
/* 8002D2FC-8002D554 027C3C 0258+00 2/2 7/7 4/4 .text dComIfGp_setNextStage__FPCcsScScfUliScsii */
void dComIfGp_setNextStage(char const* stage, s16 point, s8 roomNo, s8 layer, f32 lastSpeed,
u32 lastMode, int setPoint, s8 wipe, s16 lastAngle, int param_9,
int wipeSpeedT) {
if (layer >= 15) {
layer = -1;
void dComIfGp_setNextStage(char const* i_stage, s16 i_point, s8 i_roomNo, s8 i_layer, f32 i_lastSpeed,
u32 i_lastMode, int i_setPoint, s8 i_wipe, s16 i_lastAngle, int param_9,
int i_wipeSpeedT) {
if (i_layer >= 15) {
i_layer = -1;
}
if (dComIfGs_isPlayerFieldLastStayFieldDataExistFlag() &&
daPy_getLinkPlayerActorClass() != NULL) {
s8 curPoint = (s8)daPy_getLinkPlayerActorClass()->current.mRoomNo;
cXyz pos = dMapInfo_n::getMapPlayerPos();
s16 angle = daPy_getLinkPlayerActorClass()->mCollisionRot.y;
s16 angle = daPy_getLinkPlayerActorClass()->shape_angle.y;
u8 level = dComIfGp_getNowLevel();
dComIfGs_setPlayerFieldLastStayInfo(dComIfGp_getStartStageName(), pos, angle, curPoint,
level);
}
// Set Key Num to 2 if loading Wagon Escort after King Bulblin 2
if (!strcmp(stage, "F_SP121") && roomNo == 13 && (point == 99 || point == 98) && layer == 2) {
if (!strcmp(i_stage, "F_SP121") && i_roomNo == 13 && (i_point == 99 || i_point == 98) && i_layer == 2) {
dComIfGs_setKeyNum(6, 2);
} else {
dComIfGs_setKeyNum(6, 0);
}
if (daAlink_getAlinkActorClass() != NULL) {
daAlink_getAlinkActorClass()->setLastSceneMode(&lastMode);
daAlink_getAlinkActorClass()->setLastSceneMode(&i_lastMode);
}
char* saveName = (char*)dMeter2Info_getSaveStageName();
if (strcmp(saveName, "") && strcmp(stage, saveName)) {
if (strcmp(saveName, "") && strcmp(i_stage, saveName)) {
dMeter2Info_setSaveStageName("");
}
u8 wipe_speed;
switch (wipeSpeedT) {
switch (i_wipeSpeedT) {
case 0:
wipe_speed = 26;
break;
@@ -1514,15 +1514,15 @@ void dComIfGp_setNextStage(char const* stage, s16 point, s8 roomNo, s8 layer, f3
break;
}
g_dComIfG_gameInfo.play.setNextStage(stage, roomNo, point, layer, wipe, wipe_speed);
g_dComIfG_gameInfo.info.getRestart().setLastSceneInfo(lastSpeed, lastMode, lastAngle);
if (setPoint) {
dComIfGs_setStartPoint(point);
g_dComIfG_gameInfo.play.setNextStage(i_stage, i_roomNo, i_point, i_layer, i_wipe, wipe_speed);
g_dComIfG_gameInfo.info.getRestart().setLastSceneInfo(i_lastSpeed, i_lastMode, i_lastAngle);
if (i_setPoint) {
dComIfGs_setStartPoint(i_point);
}
}
void dComIfGp_setNextStage(char const* stage, s16 point, s8 roomNo, s8 layer) {
dComIfGp_setNextStage(stage, point, roomNo, layer, 0.0f, 0, 1, 0, 0, 1, 0);
void dComIfGp_setNextStage(char const* i_stage, s16 i_point, s8 i_roomNo, s8 i_layer) {
dComIfGp_setNextStage(i_stage, i_point, i_roomNo, i_layer, 0.0f, 0, 1, 0, 0, 1, 0);
}
BOOL dComIfGs_isStageTbox(int i_stageNo, int i_no) {
@@ -1705,29 +1705,29 @@ u16 dComIfGs_getMaxLifeGauge() {
return (dComIfGs_getMaxLife() / 5) * 4;
}
void dComIfGs_setSelectItemIndex(int i_no, u8 item_index) {
g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setSelectItemIndex(i_no, item_index);
void dComIfGs_setSelectItemIndex(int i_no, u8 i_slotNo) {
g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setSelectItemIndex(i_no, i_slotNo);
dComIfGp_setSelectItem(i_no);
}
void dComIfGs_setMixItemIndex(int i_no, u8 item_index) {
g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setMixItemIndex(i_no, item_index);
void dComIfGs_setMixItemIndex(int i_no, u8 i_slotNo) {
g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setMixItemIndex(i_no, i_slotNo);
}
/* 8002DD3C-8002DDC8 02867C 008C+00 3/3 1/1 0/0 .text dComIfGs_getSelectMixItemNoArrowIndex__Fi */
u8 dComIfGs_getSelectMixItemNoArrowIndex(int index) {
u8 item_index = dComIfGs_getSelectItemIndex(index);
u8 mix_index = dComIfGs_getMixItemIndex(index);
u8 dComIfGs_getSelectMixItemNoArrowIndex(int i_selmixItemIdx) {
u8 sel_item_slotNo = dComIfGs_getSelectItemIndex(i_selmixItemIdx);
u8 mix_item_slotNo = dComIfGs_getMixItemIndex(i_selmixItemIdx);
if (item_index >= SLOT_15 && item_index < SLOT_18) {
return item_index;
if (sel_item_slotNo >= SLOT_15 && sel_item_slotNo < SLOT_18) {
return sel_item_slotNo;
}
if (mix_index != NO_ITEM && mix_index >= SLOT_15 && mix_index < SLOT_18) {
return mix_index;
if (mix_item_slotNo != NO_ITEM && mix_item_slotNo >= SLOT_15 && mix_item_slotNo < SLOT_18) {
return mix_item_slotNo;
}
return NO_ITEM;
return 0xFF;
}
u8 dComIfGs_getMixItemIndex(int i_no) {
@@ -1735,37 +1735,37 @@ u8 dComIfGs_getMixItemIndex(int i_no) {
}
/* 8002DDF4-8002DF1C 028734 0128+00 1/1 13/13 0/0 .text dComIfGp_setSelectItem__Fi */
void dComIfGp_setSelectItem(int index) {
if (index == SELECT_ITEM_DOWN) {
if (dComIfGs_getSelectItemIndex(index) != NO_ITEM) {
u8 selectItemIdx = dComIfGs_getSelectItemIndex(index);
g_dComIfG_gameInfo.play.setSelectItem(index, selectItemIdx);
void dComIfGp_setSelectItem(int i_selItemIdx) {
if (i_selItemIdx == SELECT_ITEM_DOWN) {
if (dComIfGs_getSelectItemIndex(i_selItemIdx) != 0xFF) {
u8 selItem_slotNo = dComIfGs_getSelectItemIndex(i_selItemIdx);
g_dComIfG_gameInfo.play.setSelectItem(i_selItemIdx, selItem_slotNo);
if (selectItemIdx == NO_ITEM) {
dComIfGs_setSelectItemIndex(index, NO_ITEM);
if (selItem_slotNo == 0xFF) {
dComIfGs_setSelectItemIndex(i_selItemIdx, 0xFF);
}
} else {
g_dComIfG_gameInfo.play.setSelectItem(index, NO_ITEM);
g_dComIfG_gameInfo.play.setSelectItem(i_selItemIdx, NO_ITEM);
}
} else if (dComIfGs_getSelectItemIndex(index) != NO_ITEM) {
u8 item = dComIfGs_getItem(dComIfGs_getSelectItemIndex(index), false);
g_dComIfG_gameInfo.play.setSelectItem(index, item);
} else if (dComIfGs_getSelectItemIndex(i_selItemIdx) != 0xFF) {
u8 item = dComIfGs_getItem(dComIfGs_getSelectItemIndex(i_selItemIdx), false);
g_dComIfG_gameInfo.play.setSelectItem(i_selItemIdx, item);
if (item == NO_ITEM) {
dComIfGs_setSelectItemIndex(index, NO_ITEM);
dComIfGs_setSelectItemIndex(i_selItemIdx, 0xFF);
}
} else {
g_dComIfG_gameInfo.play.setSelectItem(index, NO_ITEM);
g_dComIfG_gameInfo.play.setSelectItem(i_selItemIdx, NO_ITEM);
}
}
/* 8002DF1C-8002E048 02885C 012C+00 4/4 19/19 0/0 .text dComIfGp_getSelectItem__Fi */
u8 dComIfGp_getSelectItem(int index) {
u8 playItem = g_dComIfG_gameInfo.play.getSelectItem(index);
u8 dComIfGp_getSelectItem(int i_selItemIdx) {
u8 playItem = g_dComIfG_gameInfo.play.getSelectItem(i_selItemIdx);
if ((index == SELECT_ITEM_X || index == SELECT_ITEM_Y) &&
dComIfGs_getMixItemIndex(index) != NO_ITEM) {
u8 saveItem = dComIfGs_getItem(dComIfGs_getMixItemIndex(index), false);
if ((i_selItemIdx == SELECT_ITEM_X || i_selItemIdx == SELECT_ITEM_Y) &&
dComIfGs_getMixItemIndex(i_selItemIdx) != 0xFF) {
u8 saveItem = dComIfGs_getItem(dComIfGs_getMixItemIndex(i_selItemIdx), false);
if (saveItem == BOW) {
saveItem = playItem;
@@ -1962,27 +1962,26 @@ u8 dComIfGs_getBottleMax() {
}
/* 8002E5C0-8002E688 028F00 00C8+00 0/0 11/11 0/0 .text dComIfGp_getSelectItemNum__Fi */
int dComIfGp_getSelectItemNum(int index) {
u8 selectItem = dComIfGp_getSelectItem(index);
int itemNum = 0;
s16 dComIfGp_getSelectItemNum(int i_selItemIdx) {
u8 selectItem = dComIfGp_getSelectItem(i_selItemIdx);
s16 itemNum = 0;
if (selectItem == NORMAL_BOMB || selectItem == WATER_BOMB || selectItem == POKE_BOMB ||
selectItem == BOMB_ARROW) {
selectItem = dComIfGs_getSelectMixItemNoArrowIndex(index) - SLOT_15;
selectItem = dComIfGs_getSelectMixItemNoArrowIndex(i_selItemIdx) - SLOT_15;
itemNum = dComIfGs_getBombNum(selectItem);
} else if (selectItem == PACHINKO) {
itemNum = dComIfGs_getPachinkoNum();
} else if (selectItem == BEE_CHILD) {
selectItem = dComIfGs_getSelectItemIndex(index);
itemNum = dComIfGs_getBottleNum(selectItem - SLOT_11);
itemNum = dComIfGs_getBottleNum(dComIfGs_getSelectItemIndex(i_selItemIdx) - SLOT_11);
}
return itemNum;
}
/* 8002E688-8002E714 028FC8 008C+00 0/0 5/5 0/0 .text dComIfGp_getSelectItemMaxNum__Fi */
int dComIfGp_getSelectItemMaxNum(int index) {
u8 selectItem = dComIfGp_getSelectItem(index);
int dComIfGp_getSelectItemMaxNum(int i_selItemIdx) {
u8 selectItem = dComIfGp_getSelectItem(i_selItemIdx);
int itemNum = 0;
if (selectItem == BOMB_BAG_LV1) {
@@ -2000,42 +1999,41 @@ int dComIfGp_getSelectItemMaxNum(int index) {
}
/* 8002E714-8002E83C 029054 0128+00 0/0 2/2 0/0 .text dComIfGp_setSelectItemNum__Fis */
void dComIfGp_setSelectItemNum(int index, s16 num) {
u8 selectItem = dComIfGp_getSelectItem(index);
void dComIfGp_setSelectItemNum(int i_selItemIdx, s16 i_num) {
u8 selectItem = dComIfGp_getSelectItem(i_selItemIdx);
if (selectItem == NORMAL_BOMB || selectItem == WATER_BOMB || selectItem == POKE_BOMB ||
selectItem == BOMB_ARROW) {
u8 mix_index = dComIfGs_getSelectMixItemNoArrowIndex(index) - SLOT_15;
u8 mix_slotNo = dComIfGs_getSelectMixItemNoArrowIndex(i_selItemIdx) - SLOT_15;
if (num > dComIfGs_getBombMax(selectItem)) {
num = dComIfGs_getBombMax(selectItem);
if (i_num > dComIfGs_getBombMax(selectItem)) {
i_num = dComIfGs_getBombMax(selectItem);
}
dComIfGs_setBombNum(mix_index, num);
dComIfGs_setBombNum(mix_slotNo, i_num);
} else if (selectItem == PACHINKO) {
dComIfGs_setPachinkoNum(num);
dComIfGs_setPachinkoNum(i_num);
} else if (selectItem == BEE_CHILD) {
u8 bottle_idx = dComIfGs_getSelectItemIndex(index) - SLOT_11;
u8 bottle_slot_no = dComIfGs_getSelectItemIndex(i_selItemIdx) - SLOT_11;
if (num > dComIfGs_getBottleMax()) {
num = dComIfGs_getBottleMax();
if (i_num > dComIfGs_getBottleMax()) {
i_num = dComIfGs_getBottleMax();
}
dComIfGs_setBottleNum(bottle_idx, num);
dComIfGs_setBottleNum(bottle_slot_no, i_num);
}
}
/* 8002E83C-8002E910 02917C 00D4+00 0/0 5/5 0/0 .text dComIfGp_addSelectItemNum__Fis */
void dComIfGp_addSelectItemNum(int index, s16 num) {
u8 selectItem = dComIfGp_getSelectItem(index);
void dComIfGp_addSelectItemNum(int i_selItemIdx, s16 i_num) {
u8 selectItem = dComIfGp_getSelectItem(i_selItemIdx);
if (selectItem == NORMAL_BOMB || selectItem == WATER_BOMB || selectItem == POKE_BOMB ||
selectItem == BOMB_ARROW) {
u8 mix_index = dComIfGs_getSelectMixItemNoArrowIndex(index) - SLOT_15;
dComIfGp_setItemBombNumCount(mix_index, num);
u8 slot_no = dComIfGs_getSelectMixItemNoArrowIndex(i_selItemIdx) - SLOT_15;
dComIfGp_setItemBombNumCount(slot_no, i_num);
} else if (selectItem == PACHINKO) {
dComIfGp_setItemPachinkoNumCount(num);
dComIfGp_setItemPachinkoNumCount(i_num);
} else if (selectItem == BEE_CHILD) {
selectItem = dComIfGs_getSelectItemIndex(index);
dComIfGs_addBottleNum(selectItem - SLOT_11, num);
dComIfGs_addBottleNum(dComIfGs_getSelectItemIndex(i_selItemIdx) - SLOT_11, i_num);
}
}
@@ -2062,8 +2060,8 @@ void dComIfGs_gameStart() {
dComIfGp_setNextStage(name, point, roomNo, -1, 0.0f, 0, 1, 0, 0, 0, 0);
}
u32 dComIfG_getTrigA(u32 pad) {
return mDoCPd_c::getTrigA(pad);
u32 dComIfG_getTrigA(u32 i_padNo) {
return mDoCPd_c::getTrigA(i_padNo);
}
/* ############################################################################################## */
@@ -2093,7 +2091,7 @@ asm void dComIfGp_calcNowRegion() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dComIfG_getNowCalcRegion() {
static asm u8 dComIfG_getNowCalcRegion() {
nofralloc
#include "asm/d/com/d_com_inf_game/dComIfG_getNowCalcRegion__Fv.s"
}
@@ -2166,45 +2164,45 @@ void dComIfGs_setSelectEquipShield(u8 i_itemNo) {
g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setSelectEquip(COLLECT_SHIELD, i_itemNo);
}
void dComIfGs_setKeyNum(int i_stageNo, u8 keyNum) {
void dComIfGs_setKeyNum(int i_stageNo, u8 i_keyNum) {
if (dComIfGp_getStageStagInfo()) {
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
if (i_stageNo == i_dStage_stagInfo_GetSaveTbl(stag_info)) {
dComIfGs_setKeyNum(keyNum);
dComIfGs_setKeyNum(i_keyNum);
}
}
g_dComIfG_gameInfo.info.getSavedata().getSave(i_stageNo).getBit().setKeyNum(keyNum);
g_dComIfG_gameInfo.info.getSavedata().getSave(i_stageNo).getBit().setKeyNum(i_keyNum);
}
/* 8002F0E0-8002F128 029A20 0048+00 1/1 0/0 0/0 .text dComIfGs_setWarpItemData__FiPCc4cXyzsScUcUc
*/
static void dComIfGs_setWarpItemData(int param_0, char const* stage, cXyz pos, s16 angle, s8 roomNo,
static void dComIfGs_setWarpItemData(int, char const* i_stage, cXyz i_pos, s16 i_angle, s8 i_roomNo,
u8 param_5, u8 param_6) {
g_dComIfG_gameInfo.play.setWarpItemData(stage, pos, angle, roomNo, param_5, param_6);
g_dComIfG_gameInfo.play.setWarpItemData(i_stage, i_pos, i_angle, i_roomNo, param_5, param_6);
}
void dComIfG_play_c::setWarpItemData(char const* stage, cXyz pos, s16 angle, s8 roomNo, u8 param_4,
void dComIfG_play_c::setWarpItemData(char const* i_stage, cXyz i_pos, s16 i_angle, s8 i_roomNo, u8 param_4,
u8 param_5) {
strcpy(mWarpItemStage, stage);
mWarpItemPos.set(pos);
mWarpItemAngle = angle;
mWarpItemRoom = roomNo;
strcpy(mWarpItemStage, i_stage);
mWarpItemPos.set(i_pos);
mWarpItemAngle = i_angle;
mWarpItemRoom = i_roomNo;
field_0x4fac = param_5;
field_0x4fab = param_4;
}
void dComIfGs_setWarpItemData(char const* stage, cXyz pos, s16 angle, s8 roomNo, u8 param_4,
void dComIfGs_setWarpItemData(char const* i_stage, cXyz i_pos, s16 i_angle, s8 i_roomNo, u8 param_4,
u8 param_5) {
dComIfGs_setWarpItemData(0, stage, pos, angle, roomNo, param_4, param_5);
dComIfGs_setLastWarpMarkItemData(stage, pos, angle, roomNo, param_4, param_5);
dComIfGs_setWarpItemData(0, i_stage, i_pos, i_angle, i_roomNo, param_4, param_5);
dComIfGs_setLastWarpMarkItemData(i_stage, i_pos, i_angle, i_roomNo, param_4, param_5);
}
void dComIfGs_setLastWarpMarkItemData(const char* stage, cXyz pos, s16 angle, s8 roomNo, u8 unk1,
u8 unk2) {
g_dComIfG_gameInfo.info.getPlayer().getPlayerLastMarkInfo().setWarpItemData(stage, pos, angle,
roomNo, unk1, unk2);
void dComIfGs_setLastWarpMarkItemData(const char* i_stage, cXyz i_pos, s16 i_angle, s8 i_roomNo,
u8 param_4, u8 param_5) {
g_dComIfG_gameInfo.info.getPlayer().getPlayerLastMarkInfo().setWarpItemData(
i_stage, i_pos, i_angle, i_roomNo, param_4, param_5);
}
const char* dComIfGs_getWarpStageName() {
@@ -2228,9 +2226,7 @@ BOOL dComIfGs_getWarpMarkFlag() {
return dComIfGs_getLastWarpAcceptStage() >= 0;
}
void dComIfGs_setWarpMarkFlag(u8) {
/* empty function */
}
void dComIfGs_setWarpMarkFlag(u8) {}
/* 8002F314-8002F328 029C54 0014+00 0/0 0/0 1/1 .text __ct__19dComIfG_resLoader_cFv */
dComIfG_resLoader_c::dComIfG_resLoader_c() {
@@ -2250,10 +2246,10 @@ dComIfG_resLoader_c::~dComIfG_resLoader_c() {
}
/* 8002F3B4-8002F434 029CF4 0080+00 0/0 0/0 1/1 .text load__19dComIfG_resLoader_cFPPCcP7JKRHeap */
int dComIfG_resLoader_c::load(char const** param_0, JKRHeap* heap) {
field_0x0 = param_0;
int dComIfG_resLoader_c::load(char const** i_resNameTbl, JKRHeap* i_heap) {
field_0x0 = i_resNameTbl;
int phase_state = dComIfG_resLoad(&field_0x4, field_0x0[field_0xc], heap);
int phase_state = dComIfG_resLoad(&field_0x4, field_0x0[field_0xc], i_heap);
if (phase_state == cPhs_COMPLEATE_e) {
if (field_0x0[field_0xc + 1][0] != 0) {
field_0xc++;
@@ -2266,25 +2262,23 @@ int dComIfG_resLoader_c::load(char const** param_0, JKRHeap* heap) {
}
/* 8002F434-8002F478 029D74 0044+00 0/0 12/12 12/12 .text dComIfG_getStageRes__FPCc */
void* dComIfG_getStageRes(char const* resName) {
return dComIfG_getStageRes("Stg_00", resName);
void* dComIfG_getStageRes(char const* i_resName) {
return dComIfG_getStageRes("Stg_00", i_resName);
}
/* 8002F478-8002F4BC 029DB8 0044+00 0/0 1/1 0/0 .text dComIfG_getOldStageRes__FPCc */
void* dComIfG_getOldStageRes(char const* resName) {
return dComIfG_getStageRes("Xtg_00", resName);
void* dComIfG_getOldStageRes(char const* i_resName) {
return dComIfG_getStageRes("Xtg_00", i_resName);
}
char* dComIfG_getRoomArcName(int roomNo) {
char* dComIfG_getRoomArcName(int i_roomNo) {
static char buf[32];
sprintf(buf, "R%02d_00", roomNo);
sprintf(buf, "R%02d_00", i_roomNo);
return buf;
}
/* 8002F500-8002F504 029E40 0004+00 0/0 1/1 0/0 .text dComIfGp_ret_wp_set__FSc */
void dComIfGp_ret_wp_set(s8) {
/* empty function */
}
void dComIfGp_ret_wp_set(s8) {}
void dComIfGp_world_dark_set(u8 param_0) {
g_dComIfG_gameInfo.mWorldDark = param_0;
@@ -2294,14 +2288,14 @@ u8 dComIfGp_world_dark_get() {
return g_dComIfG_gameInfo.mWorldDark;
}
int dComIfG_TimerStart(int mode, s16 time) {
if (mode == dComIfG_getTimerMode()) {
int dComIfG_TimerStart(int i_mode, s16 i_time) {
if (i_mode == dComIfG_getTimerMode()) {
dTimer_c* timer = dComIfG_getTimerPtr();
if (timer != NULL) {
if (time == 0) {
timer->start(mode);
if (i_time == 0) {
timer->start(i_mode);
} else {
timer->start(mode, time);
timer->start(i_mode, i_time);
}
return 1;
} else {
@@ -2312,8 +2306,8 @@ int dComIfG_TimerStart(int mode, s16 time) {
return 0;
}
int dComIfG_TimerStop(int mode) {
if (mode == dComIfG_getTimerMode()) {
int dComIfG_TimerStop(int i_mode) {
if (i_mode == dComIfG_getTimerMode()) {
dTimer_c* timer = dComIfG_getTimerPtr();
if (timer != NULL) {
timer->stop(4);
@@ -2326,8 +2320,8 @@ int dComIfG_TimerStop(int mode) {
return 0;
}
int dComIfG_TimerReStart(int mode) {
if (mode == dComIfG_getTimerMode()) {
int dComIfG_TimerReStart(int i_mode) {
if (i_mode == dComIfG_getTimerMode()) {
dTimer_c* timer = dComIfG_getTimerPtr();
if (timer != NULL) {
timer->restart(4);
@@ -2340,8 +2334,8 @@ int dComIfG_TimerReStart(int mode) {
return 0;
}
int dComIfG_TimerEnd(int mode, int param_1) {
if (mode == dComIfG_getTimerMode()) {
int dComIfG_TimerEnd(int i_mode, int param_1) {
if (i_mode == dComIfG_getTimerMode()) {
dTimer_c* timer = dComIfG_getTimerPtr();
if (timer != NULL) {
timer->end(param_1);
@@ -2355,8 +2349,8 @@ int dComIfG_TimerEnd(int mode, int param_1) {
}
/* 8002F72C-8002F79C 02A06C 0070+00 0/0 0/0 2/2 .text dComIfG_TimerDeleteCheck__Fi */
int dComIfG_TimerDeleteCheck(int mode) {
if (mode == dComIfG_getTimerMode()) {
int dComIfG_TimerDeleteCheck(int i_mode) {
if (i_mode == dComIfG_getTimerMode()) {
dTimer_c* timer = dComIfG_getTimerPtr();
if (timer != NULL) {
return timer->deleteCheck();
@@ -2368,8 +2362,8 @@ int dComIfG_TimerDeleteCheck(int mode) {
return 0;
}
int dComIfG_TimerDeleteRequest(int mode) {
if (mode == dComIfG_getTimerMode()) {
int dComIfG_TimerDeleteRequest(int i_mode) {
if (i_mode == dComIfG_getTimerMode()) {
dTimer_c* timer = dComIfG_getTimerPtr();
if (timer != NULL) {
timer->deleteRequest();
@@ -2434,31 +2428,13 @@ bool dComIfGs_shake_kandelaar_check() {
return check;
}
/* ############################################################################################## */
/* 80451D20-80451D28 000320 0008+00 1/1 0/0 0/0 .sdata2 @7580 */
SECTION_SDATA2 static f64 lit_7580 = 0.6;
/* 8002FA54-8002FA84 02A394 0030+00 0/0 4/4 96/96 .text dComIfGs_wolfeye_effect_check__Fv
*/
#ifdef NONMATCHING
int dComIfGs_wolfeye_effect_check() {
BOOL ret = 0;
if (g_env_light.field_0xf3d == 1 && g_env_light.field_0xf40 > 0.6) {
ret = 1;
}
bool dComIfGs_wolfeye_effect_check() {
dScnKy_env_light_c* env_light = i_dKy_getEnvlight();
return ret;
return env_light->field_0xf3d == 1 && env_light->field_0xf40 > 0.6;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int dComIfGs_wolfeye_effect_check() {
nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGs_wolfeye_effect_check__Fv.s"
}
#pragma pop
#endif
void dComIfGs_Grass_hide_Set(s8 param_0) {
g_dComIfG_gameInfo.field_0x1ddfc = param_0;
@@ -2491,58 +2467,52 @@ BOOL dComIfGp_TransportWarp_check() {
/* 8002FB20-8002FB80 02A460 0060+00 2/2 6/6 0/0 .text
* dComLbG_PhaseHandler__FP30request_of_phase_process_classPPFPv_iPv */
int dComLbG_PhaseHandler(request_of_phase_process_class* param_0, cPhs__Handler* param_1,
void* param_2) {
int ret = cPhs_Handler(param_0, param_1, param_2);
switch (ret) {
int dComLbG_PhaseHandler(request_of_phase_process_class* i_phaseReq, cPhs__Handler* i_handler,
void* i_data) {
int phase = cPhs_Handler(i_phaseReq, i_handler, i_data);
switch (phase) {
case 2:
ret = dComLbG_PhaseHandler(param_0, param_1, param_2);
phase = dComLbG_PhaseHandler(i_phaseReq, i_handler, i_data);
break;
case 1:
case 3:
break;
}
return ret;
return phase;
}
/* 8002FB80-8002FC3C 02A4C0 00BC+00 0/0 1/1 1/1 .text dComIfGs_onVisitedRoom__Fi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dComIfGs_onVisitedRoom(int param_0) {
nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGs_onVisitedRoom__Fi.s"
void dComIfGs_onVisitedRoom(int i_roomNo) {
dStage_FileList2_dt_c* fileList = dStage_roomControl_c::getFileList2(i_roomNo);
if (fileList != NULL && fileList->field_0x13 < 0x40) {
u8 region = dComIfG_getNowCalcRegion();
if (region != 0xFF && !dComIfGs_isRegionBit(region)) {
dComIfGs_onRegionBit(region);
}
s32 stayNo = dComIfGp_roomControl_getStayNo();
dStage_FileList2_dt_c* list = dStage_roomControl_c::getFileList2(stayNo);
dComIfGs_onSaveVisitedRoom(list->field_0x13, i_roomNo);
}
}
#pragma pop
/* 8002FC3C-8002FC98 02A57C 005C+00 0/0 0/0 1/1 .text dComIfGs_offVisitedRoom__Fi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dComIfGs_offVisitedRoom(int param_0) {
nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGs_offVisitedRoom__Fi.s"
void dComIfGs_offVisitedRoom(int i_roomNo) {
s32 stayNo = dComIfGp_roomControl_getStayNo();
dStage_FileList2_dt_c* list = dStage_roomControl_c::getFileList2(stayNo);
dComIfGs_offSaveVisitedRoom(list->field_0x13, i_roomNo);
}
#pragma pop
/* 8002FC98-8002FCF4 02A5D8 005C+00 0/0 1/1 0/0 .text dComIfGs_isVisitedRoom__Fi */
// instructions swapped
#ifdef NONMATCHING
BOOL dComIfGs_isVisitedRoom(int param_0) {
int stayNo = dComIfGp_roomControl_getStayNo();
s32 stayNo = dComIfGp_roomControl_getStayNo();
dStage_FileList2_dt_c* fileList = dStage_roomControl_c::getFileList2(stayNo);
return dComIfGs_isSaveVisitedRoom(fileList->field_0x13, param_0);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL dComIfGs_isVisitedRoom(int param_0) {
nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGs_isVisitedRoom__Fi.s"
}
#pragma pop
#endif
/* 8002FCF4-8002FD08 02A634 0014+00 0/0 1/1 0/0 .text dComIfGs_staffroll_next_go__Fv */
void dComIfGs_staffroll_next_go() {
+3 -3
View File
@@ -1081,10 +1081,10 @@ bool dAttention_c::chaseAttention() {
if (!chkFlag(0x4000)) {
cSGlobe g1(actor->mAttentionInfo.mPosition - mOwnerAttnPos);
cSAngle a1(g1.U() - mpPlayer->mCollisionRot.y);
cSAngle a1(g1.U() - mpPlayer->shape_angle.y);
cSGlobe g2(mOwnerAttnPos - actor->mAttentionInfo.mPosition);
cSAngle a2(g2.U() - actor->mCollisionRot.y);
cSAngle a2(g2.U() - actor->shape_angle.y);
u32 type;
f32 weight = calcWeight(0x4C, actor, g1.R(), a1.Val(), a2.Val(), &type);
@@ -1850,7 +1850,7 @@ f32 dAttention_c::LockonReleaseDistanse() {
int idx = mLockOnList[mLockOnOffset].mType + actor->mAttentionInfo.field_0x0[0];
cSGlobe tmp_g(actor->mAttentionInfo.mPosition - mOwnerAttnPos);
cSAngle tmp_a(tmp_g.U() - mpPlayer->mCollisionRot.y);
cSAngle tmp_a(tmp_g.U() - mpPlayer->shape_angle.y);
return distace_angle_adjust(dist_table[idx].field_0x8, tmp_a, 1.0f) + dist_table[idx].field_0x4;
}
+1 -1
View File
@@ -3553,7 +3553,7 @@ asm void dCam_getAngleX(camera_class* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCam_getControledAngleY(camera_class* param_0) {
asm s16 dCam_getControledAngleY(camera_class* param_0) {
nofralloc
#include "asm/d/d_camera/dCam_getControledAngleY__FP12camera_class.s"
}
+10 -6
View File
@@ -249,7 +249,7 @@ extern "C" extern void* __vt__Q214JStudio_JStage13TCreateObject[4];
extern "C" extern void* __vt__Q215JStudio_JAudio213TCreateObject[4];
extern "C" extern void* __vt__Q217JStudio_JParticle13TCreateObject[6];
extern "C" u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* padding */];
extern "C" extern u8 data_80450B74[4];
extern "C" extern Z2SoundStarter* data_80450B74;
extern "C" u8 mEmitterMng__13dPa_control_c[4];
//
@@ -790,7 +790,7 @@ int dDemo_setDemoData(fopAc_ac_c* param_0, u8 param_1, mDoExt_McaMorf* param_2,
}
if (flags & 8) {
param_0->mCollisionRot = demo_actor->getRatate();
param_0->shape_angle = demo_actor->getRatate();
}
if (flags & 4) {
@@ -1427,6 +1427,10 @@ bool dDemo_system_c::JSGFindObject(JStage::TObject** p_TObj, char const* actorNa
/* 80451DE0-80451DE8 0003E0 0008+00 1/1 0/0 0/0 .sdata2 @5123 */
SECTION_SDATA2 static f64 lit_5123 = 1.0 / 29.999998435378155;
inline Z2SoundStarter* Z2GetSoundStarter() {
return data_80450B74;
}
/* 80039678-80039910 033FB8 0298+00 0/0 1/1 0/0 .text create__7dDemo_cFv */
#ifdef NONMATCHING
void dDemo_c::create() {
@@ -1442,10 +1446,10 @@ void dDemo_c::create() {
m_control->setSecondPerFrame(1.0 / 29.999998435378155);
m_control->setFactory(m_factory);
m_control->appendCreateObject(m_stage);
m_control->appendCreateObject(m_audio);
m_control->appendCreateObject(m_particle);
m_control->appendCreateObject(m_message);
m_factory->appendCreateObject(m_stage);
m_factory->appendCreateObject(m_audio);
m_factory->appendCreateObject(m_particle);
m_factory->appendCreateObject(m_message);
m_system->setObject(m_object);
m_data = NULL;
+2 -13
View File
@@ -1220,24 +1220,13 @@ void item_func_HAWK_EYE() {
}
/* 800986C4-80098718 093004 0054+00 1/0 0/0 0/0 .text item_func_WOOD_STICK__Fv */
// load instructions are switched
#ifdef NONMATCHING
void item_func_WOOD_STICK() {
dComIfGs_setCollectSword(COLLECT_WOODEN_SWORD);
dComIfGs_setSelectEquipSword(WOOD_STICK);
dComIfGs_onSwitch(28, dComIfGp_roomControl_getStayNo()); // wrong order
s32 roomNo = dComIfGp_roomControl_getStayNo();
dComIfGs_onSwitch(28, roomNo);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void item_func_WOOD_STICK() {
nofralloc
#include "asm/d/d_item/item_func_WOOD_STICK__Fv.s"
}
#pragma pop
#endif
void item_func_BOOMERANG() {
dComIfGs_setItem(SLOT_0, BOOMERANG);
+7 -7
View File
@@ -367,7 +367,7 @@ SECTION_DATA static void* lit_4017[8] = {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dRes_info_c::loaderBasicBmd(u32 param_0, void* param_1) {
asm J3DModelData* dRes_info_c::loaderBasicBmd(u32 param_0, void* param_1) {
nofralloc
#include "asm/d/d_resorce/loaderBasicBmd__11dRes_info_cFUlPv.s"
}
@@ -686,8 +686,8 @@ void dRes_info_c::dump_long(dRes_info_c* param_0, int param_1) {
"No Command Archive ArcHeader(size) SolidHeap(size) Resource Cnt ArchiveName\n");
for (int i = 0; i < param_1; i++) {
if (getCount() != 0) {
JKRArchive* archive = getArchive();
if (param_0->getCount() != 0) {
JKRArchive* archive = param_0->getArchive();
header = NULL;
blockSize1 = 0;
@@ -696,15 +696,15 @@ void dRes_info_c::dump_long(dRes_info_c* param_0, int param_1) {
blockSize1 = myGetMemBlockSize0(header);
}
JKRSolidHeap* dataHeap = mDataHeap;
JKRSolidHeap* dataHeap = param_0->mDataHeap;
blockSize2 = 0;
if (dataHeap != NULL) {
blockSize2 = myGetMemBlockSize0((void*)dataHeap);
}
JUTReportConsole_f("%2d %08x %08x %08x(%6x) %08x(%5x) %08x %3d %s\n", i, getDMCommand(),
archive, header, blockSize1, &mDataHeap, blockSize2, mRes,
getArchiveName());
JUTReportConsole_f("%2d %08x %08x %08x(%6x) %08x(%5x) %08x %3d %s\n", i,
param_0->getDMCommand(), archive, header, blockSize1,
&param_0->mDataHeap, blockSize2, param_0->mRes, param_0->getArchiveName());
}
param_0++;
}
-7
View File
@@ -382,13 +382,6 @@ asm int dEvt_control_c::talkCheck(dEvt_order_c* param_0) {
#pragma pop
#endif
/* ############################################################################################## */
/* 80379D80-80379D80 0063E0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80379DA3 = "DEFAULT_TALK_XY";
#pragma pop
/* 80041B58-80041C90 03C498 0138+00 1/1 0/0 0/0 .text
* talkXyCheck__14dEvt_control_cFP12dEvt_order_c */
int dEvt_control_c::talkXyCheck(dEvt_order_c* p_order) {
+12 -10
View File
@@ -805,6 +805,8 @@ SECTION_SDATA2 static f32 lit_4669 = -1.0f;
#ifdef NONMATCHING
// matches besides floats
void dEvDtStaff_c::specialProcSound() {
SoundData* data = (SoundData*)&mData;
int staffId = i_dComIfGp_evmng_getMyStaffId("SOUND", NULL, 0);
if (staffId == -1) {
return;
@@ -843,7 +845,7 @@ void dEvDtStaff_c::specialProcSound() {
specialProc_WaitProc(staffId);
break;
case 'NOMS':
if (mSoundWait <= dDemo_c::getFrameNoMsg()) {
if (data->timer <= dDemo_c::getFrameNoMsg()) {
dComIfGp_evmng_cutEnd(staffId);
}
break;
@@ -876,9 +878,9 @@ SECTION_DEAD static char const* const stringBase_80379E65 = "SCALE";
/* 80044CB8-80044EE4 03F5F8 022C+00 1/1 0/0 0/0 .text specialProcCreate__12dEvDtStaff_cFv
*/
// matches with literals
#ifdef NONMATCHING
void dEvDtStaff_c::specialProcCreate() {
// regalloc
char* name;
u32 arg;
cXyz pos;
@@ -1097,12 +1099,12 @@ void dEvDtStaff_c::specialProcDirector() {
dStage_MapEvent_dt_c* mapEvent = dEvt_control_c::searchMapEventData(data->unk);
if (mapEvent != NULL) {
if (mapEvent->mType == 0) {
data->mSoundWait = mapEvent->field_0x14;
data->unk2 = mapEvent->field_0x14;
} else {
data->mSoundWait = -1;
data->unk2 = -1;
}
} else {
data->mSoundWait = 0;
data->unk2 = 0;
}
break;
case 'CAST':
@@ -1176,9 +1178,9 @@ void dEvDtStaff_c::specialProcDirector() {
case 'NEXT':
break;
case 'VIBR':
if (data->mSoundWait > 0) {
data->mSoundWait--;
if (data->mSoundWait == 0) {
if (data->unk2 > 0) {
data->unk2--;
if (data->unk2 == 0) {
dComIfGp_getVibration().StopQuake(0x1F);
}
} else {
@@ -1197,8 +1199,8 @@ void dEvDtStaff_c::specialProcDirector() {
}
break;
case 'MAPT':
data->mSoundWait--;
if (data->mSoundWait <= 0) {
data->unk2--;
if (data->unk2 <= 0) {
dComIfGp_evmng_cutEnd(staffId);
}
break;
+1 -1
View File
@@ -1044,7 +1044,7 @@ void dEvent_manager_c::cutEnd(int cutIndex) {
return;
} else if (cutIndex == -1) {
return;
} else if (field_0x1aa == -1) {
} else if (mCurrentEventCompositId == -1) {
return;
} else {
// instruction swap
+6 -6
View File
@@ -745,10 +745,10 @@ asm void dKyr_rain_move() {
static bool d_krain_cut_turn_check() {
daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0);
return player != NULL && (player->getCutType() == daPy_py_c::TYPE_CUT_TURN_RIGHT ||
player->getCutType() == daPy_py_c::TYPE_CUT_TURN_LEFT ||
player->getCutType() == daPy_py_c::TYPE_CUT_LARGE_TURN_LEFT ||
player->getCutType() == daPy_py_c::TYPE_CUT_LARGE_TURN_RIGHT);
return player != NULL && (player->getCutType() == daPy_py_c::CUT_TYPE_TURN_RIGHT ||
player->getCutType() == daPy_py_c::CUT_TYPE_TURN_LEFT ||
player->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_LEFT ||
player->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_RIGHT);
}
/* ############################################################################################## */
@@ -2027,8 +2027,8 @@ asm void dKyr_evil_draw(f32 (*param_0)[4], u8** param_1) {
/* 8006F160-8006F168 069AA0 0008+00 0/0 1/0 0/0 .text getKandelaarFlamePos__9daPy_py_cFv
*/
bool daPy_py_c::getKandelaarFlamePos() {
return false;
cXyz* daPy_py_c::getKandelaarFlamePos() {
return NULL;
}
/* 8037A578-8037A578 006BD8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+5 -5
View File
@@ -533,7 +533,7 @@ SECTION_SDATA2 static u8 lit_4378[4] = {
SECTION_SDATA2 static f32 lit_4379 = 1.0f;
// remove these once float data is fixed
inline u32 tmp_dComIfGp_particle_set(u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3,
inline JPABaseEmitter* tmp_dComIfGp_particle_set(u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3,
const csXyz* param_4, const cXyz* param_5, u8 param_6,
dPa_levelEcallBack* param_7, s8 param_8,
const GXColor* param_9, const GXColor* param_10,
@@ -543,7 +543,7 @@ inline u32 tmp_dComIfGp_particle_set(u16 param_1, const cXyz* param_2, const dKy
param_9, param_10, param_11, lit_4379);
}
inline u32 tmp_dComIfGp_particle_set(u16 param_0, const cXyz* param_1, const csXyz* param_2,
inline JPABaseEmitter* tmp_dComIfGp_particle_set(u16 param_0, const cXyz* param_1, const csXyz* param_2,
const cXyz* param_3) {
return tmp_dComIfGp_particle_set(param_0, param_1, NULL, param_2, param_3, 0xFF, NULL, -1, NULL,
NULL, NULL);
@@ -920,7 +920,7 @@ static void wether_move_rain() {
if (g_env_light.mSnowCount == 0 && cam != NULL) {
// Stage is not Fishing Pond
if (strcmp(dComIfGp_getStartStageName(), "R_SP127") || cam->field_0xd8.y > 0.0f) {
if (strcmp(dComIfGp_getStartStageName(), "R_SP127") || cam->mLookat.mEye.y > 0.0f) {
if (g_env_light.mRainCount < 125.0f) {
mDoAud_rainPlay(FALSE);
} else {
@@ -1503,14 +1503,14 @@ void dKyw_wether_proc() {
if (!strcmp(dComIfGp_getStartStageName(), "F_SP108") ||
!strcmp(dComIfGp_getStartStageName(), "F_SP127") ||
(!strcmp(dComIfGp_getStartStageName(), "F_SP121") &&
FLOAT_LABEL(lit_4378) != g_env_light.field_0x11d8)) {
FLOAT_LABEL(lit_4378) != g_env_light.mDiceWeatherTime)) {
if (!dKy_darkworld_check()) {
// Stage is Hyrule Field
if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") || g_env_light.mDaytime >= 75.0f ||
g_env_light.mDaytime <= 120.0f) {
// Stage is Hyrule Field
if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") &&
g_env_light.field_0x12c9 >= 1 && g_env_light.field_0x12c9 < 6) {
g_env_light.mDiceWeatherMode >= 1 && g_env_light.mDiceWeatherMode < 6) {
dKy_get_dayofweek();
cLib_addCalc(&g_env_light.field_0xebc, lit_4379, lit_5362, lit_5363, lit_4770);
g_env_light.mMoyaMode = 7;
+2 -2
View File
@@ -324,10 +324,10 @@ int dMeter2_c::_create() {
mMaxMagic = dComIfGs_getMaxMagic();
mNowOil = dComIfGs_getOil();
mNowOil = (s16)dComIfGs_getOil();
dComIfGp_setItemNowOil(mNowOil);
mMaxOil = dComIfGs_getMaxOil();
mMaxOil = (s16)dComIfGs_getMaxOil();
mNowOxygen = dComIfGp_getOxygen();
dComIfGp_setNowOxygen(mNowOxygen);
+1 -1
View File
@@ -1812,7 +1812,7 @@ SECTION_SDATA2 static u32 lit_5199 = 0xFFFFFFFF;
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm u32 dPa_control_c::set(u8 param_0, u16 param_1, cXyz const* param_2,
asm JPABaseEmitter* dPa_control_c::set(u8 param_0, u16 param_1, cXyz const* param_2,
dKy_tevstr_c const* param_3, csXyz const* param_4, cXyz const* param_5,
u8 param_6, dPa_levelEcallBack* param_7, s8 param_8,
_GXColor const* param_9, _GXColor const* param_10, cXyz const* param_11,
+79 -98
View File
@@ -242,8 +242,8 @@ void dSv_player_status_a_c::init() {
unk10 = 0;
for (int i = 0; i < MAX_SELECT_ITEM; i++) {
mSelectItem[i] = NO_ITEM;
mMixItem[i] = NO_ITEM;
mSelectItem[i] = 0xFF;
mMixItem[i] = 0xFF;
dComIfGp_setSelectItem(i);
}
@@ -268,9 +268,9 @@ void dSv_player_status_a_c::init() {
}
}
void dSv_player_status_a_c::setSelectItemIndex(int i_no, u8 item_index) {
void dSv_player_status_a_c::setSelectItemIndex(int i_no, u8 i_slotNo) {
if (i_no < MAX_SELECT_ITEM) {
mSelectItem[i_no] = item_index;
mSelectItem[i_no] = i_slotNo;
}
}
@@ -281,9 +281,9 @@ u8 dSv_player_status_a_c::getSelectItemIndex(int i_no) const {
return 0;
}
void dSv_player_status_a_c::setMixItemIndex(int i_no, u8 item_index) {
void dSv_player_status_a_c::setMixItemIndex(int i_no, u8 i_slotNo) {
if (i_no < MAX_SELECT_ITEM) {
mMixItem[i_no] = item_index;
mMixItem[i_no] = i_slotNo;
}
}
@@ -312,6 +312,7 @@ BOOL dSv_player_status_a_c::isMagicFlag(u8 i_magic) const {
if (i_magic == 0) {
return i_dComIfGs_isEventBit(0x2304); // Magic Unlocked
}
return (mMagicFlag & (u8)(1 << i_magic)) ? TRUE : FALSE;
}
@@ -423,7 +424,7 @@ void dSv_player_last_mark_info_c::init() {
}
void dSv_player_last_mark_info_c::setWarpItemData(const char* i_name, const cXyz& i_pos,
s16 i_angle, s8 i_roomNo, u8 unk1, u8 unk2) {
s16 i_angle, s8 i_roomNo, u8, u8) {
strcpy(mName, i_name);
mPos.set(i_pos);
mAngleY = i_angle;
@@ -437,25 +438,25 @@ void dSv_player_item_c::init() {
}
}
void dSv_player_item_c::setItem(int item_slot, u8 i_itemNo) {
if (item_slot < MAX_ITEM_SLOTS) {
mItems[item_slot] = i_itemNo;
void dSv_player_item_c::setItem(int i_slotNo, u8 i_itemNo) {
if (i_slotNo < MAX_ITEM_SLOTS) {
mItems[i_slotNo] = i_itemNo;
setLineUpItem();
}
for (int i = DEFAULT_SELECT_ITEM_INDEX; i < MAX_SELECT_ITEM - 1; i++) {
if (item_slot == dComIfGs_getSelectItemIndex(i)) {
if (i_slotNo == dComIfGs_getSelectItemIndex(i)) {
dComIfGp_setSelectItem(i);
}
}
}
u8 dSv_player_item_c::getItem(int slot_no, bool check_combo) const {
if (slot_no < MAX_ITEM_SLOTS) {
if (check_combo) {
u8 dSv_player_item_c::getItem(int i_slotNo, bool i_checkCombo) const {
if (i_slotNo < MAX_ITEM_SLOTS) {
if (i_checkCombo) {
for (int i = 0; i < SELECT_ITEM_NUM; i++) {
if ((slot_no == dComIfGs_getSelectItemIndex(i) ||
slot_no == dComIfGs_getMixItemIndex(i)) &&
if ((i_slotNo == dComIfGs_getSelectItemIndex(i) ||
i_slotNo == dComIfGs_getMixItemIndex(i)) &&
dComIfGs_getMixItemIndex(i) != NO_ITEM) {
u8 select_item = mItems[dComIfGs_getSelectItemIndex(i)];
u8 mix_item = mItems[dComIfGs_getMixItemIndex(i)];
@@ -516,14 +517,16 @@ u8 dSv_player_item_c::getItem(int slot_no, bool check_combo) const {
}
}
}
return mItems[slot_no];
return mItems[i_slotNo];
}
return NO_ITEM;
}
static u8 i_item_lst[23] = {0x0A, 0x08, 0x06, 0x02, 0x09, 0x04, 0x03, 0x00, 0x01, 0x17, 0x14, 0x05,
0x0F, 0x10, 0x11, 0x0B, 0x0C, 0x0D, 0x0E, 0x13, 0x12, 0x16, 0x15};
static u8 i_item_lst[23] = {
0x0A, 0x08, 0x06, 0x02, 0x09, 0x04, 0x03, 0x00, 0x01, 0x17, 0x14, 0x05,
0x0F, 0x10, 0x11, 0x0B, 0x0C, 0x0D, 0x0E, 0x13, 0x12, 0x16, 0x15,
};
/* 800332F8-80033354 02DC38 005C+00 2/2 0/0 0/0 .text setLineUpItem__17dSv_player_item_cFv */
// this is close
@@ -554,10 +557,11 @@ asm void dSv_player_item_c::setLineUpItem() {
#pragma pop
#endif
u8 dSv_player_item_c::getLineUpItem(int slot_no) const {
if (slot_no < MAX_ITEM_SLOTS) {
return mItemSlots[slot_no];
u8 dSv_player_item_c::getLineUpItem(int i_slotNo) const {
if (i_slotNo < MAX_ITEM_SLOTS) {
return mItemSlots[i_slotNo];
}
return NO_ITEM;
}
@@ -771,13 +775,13 @@ u8 dSv_player_item_c::checkEmptyBottle() {
return bottleNum;
}
void dSv_player_item_c::setBombBagItemIn(u8 curBomb, u8 newBomb, bool setNum) {
void dSv_player_item_c::setBombBagItemIn(u8 i_curBomb, u8 i_newBomb, bool i_setNum) {
for (int i = 0; i < 3; i++) {
if (curBomb == mItems[i + SLOT_15]) {
setItem(i + SLOT_15, newBomb);
if (i_curBomb == mItems[i + SLOT_15]) {
setItem(i + SLOT_15, i_newBomb);
if (setNum == true && newBomb != BOMB_BAG_LV1) {
dComIfGs_setBombNum(i, dComIfGs_getBombMax(newBomb));
if (i_setNum == true && i_newBomb != BOMB_BAG_LV1) {
dComIfGs_setBombNum(i, dComIfGs_getBombMax(i_newBomb));
}
for (int j = 0; j < 3; j++) {
@@ -790,16 +794,16 @@ void dSv_player_item_c::setBombBagItemIn(u8 curBomb, u8 newBomb, bool setNum) {
}
}
void dSv_player_item_c::setBombBagItemIn(u8 curBomb, u8 newBomb, u8 bombNum, bool setNum) {
void dSv_player_item_c::setBombBagItemIn(u8 i_curBomb, u8 i_newBomb, u8 i_bombNum, bool i_setNum) {
for (int i = 0; i < 3; i++) {
if (curBomb == mItems[i + SLOT_15]) {
setItem(i + SLOT_15, newBomb);
if (i_curBomb == mItems[i + SLOT_15]) {
setItem(i + SLOT_15, i_newBomb);
if (setNum == 1 && newBomb != BOMB_BAG_LV1) {
if (bombNum > dComIfGs_getBombMax(newBomb)) {
bombNum = dComIfGs_getBombMax(newBomb);
if (i_setNum == 1 && i_newBomb != BOMB_BAG_LV1) {
if (i_bombNum > dComIfGs_getBombMax(i_newBomb)) {
i_bombNum = dComIfGs_getBombMax(i_newBomb);
}
dComIfGs_setBombNum(i, bombNum);
dComIfGs_setBombNum(i, i_bombNum);
}
for (int j = 0; j < 3; j++) {
@@ -812,12 +816,12 @@ void dSv_player_item_c::setBombBagItemIn(u8 curBomb, u8 newBomb, u8 bombNum, boo
}
}
void dSv_player_item_c::setEmptyBombBagItemIn(u8 newBomb, bool setNum) {
setBombBagItemIn(BOMB_BAG_LV1, newBomb, setNum);
void dSv_player_item_c::setEmptyBombBagItemIn(u8 i_newBomb, bool i_setNum) {
setBombBagItemIn(BOMB_BAG_LV1, i_newBomb, i_setNum);
}
void dSv_player_item_c::setEmptyBombBagItemIn(u8 newBomb, u8 bombNum, bool setNum) {
setBombBagItemIn(BOMB_BAG_LV1, newBomb, bombNum, setNum);
void dSv_player_item_c::setEmptyBombBagItemIn(u8 i_newBomb, u8 i_bombNum, bool i_setNum) {
setBombBagItemIn(BOMB_BAG_LV1, i_newBomb, i_bombNum, i_setNum);
}
void dSv_player_item_c::setEmptyBombBag() {
@@ -829,20 +833,20 @@ void dSv_player_item_c::setEmptyBombBag() {
}
}
void dSv_player_item_c::setEmptyBombBag(u8 newBomb, u8 bombNum) {
void dSv_player_item_c::setEmptyBombBag(u8 i_newBomb, u8 i_bombNum) {
for (int i = 0; i < 3; i++) {
if (dComIfGs_getItem((u8)(i + SLOT_15), true) == NO_ITEM) {
dComIfGs_setItem((u8)(i + SLOT_15), newBomb);
dComIfGs_setItem((u8)(i + SLOT_15), i_newBomb);
if (newBomb == BOMB_BAG_LV1) {
if (i_newBomb == BOMB_BAG_LV1) {
return;
}
if (bombNum > dComIfGs_getBombMax(newBomb)) {
bombNum = dComIfGs_getBombMax(newBomb);
if (i_bombNum > dComIfGs_getBombMax(i_newBomb)) {
i_bombNum = dComIfGs_getBombMax(i_newBomb);
}
dComIfGs_setBombNum(i, bombNum);
dComIfGs_setBombNum(i, i_bombNum);
return;
}
}
@@ -895,17 +899,17 @@ void dSv_player_item_c::setBaitItem(u8 i_itemNo) {
switch (i_itemNo) {
case BEE_CHILD: {
i_dComIfGs_isItemFirstBit(ZORAS_JEWEL) ? mItems[SLOT_20] = JEWEL_BEE_ROD :
mItems[SLOT_20] = BEE_ROD;
mItems[SLOT_20] = BEE_ROD;
break;
}
case WORM: {
i_dComIfGs_isItemFirstBit(ZORAS_JEWEL) ? mItems[SLOT_20] = JEWEL_WORM_ROD :
mItems[SLOT_20] = WORM_ROD;
mItems[SLOT_20] = WORM_ROD;
break;
}
case NO_ITEM: {
i_dComIfGs_isItemFirstBit(ZORAS_JEWEL) ? mItems[SLOT_20] = JEWEL_ROD :
mItems[SLOT_20] = FISHING_ROD_1;
mItems[SLOT_20] = FISHING_ROD_1;
break;
}
}
@@ -922,41 +926,19 @@ void dSv_player_get_item_c::init() {
}
/* 80033E60-80033E94 02E7A0 0034+00 0/0 3/3 1/1 .text onFirstBit__21dSv_player_get_item_cFUc */
// this is a few instructions off
#ifdef NONMATCHING
void dSv_player_get_item_c::onFirstBit(u8 i_itemNo) {
mItemFlags[i_itemNo >> 5] |= (1 << (i_itemNo & 0x1F));
mItemFlags[i_itemNo / 32] |= (1 << (i_itemNo % 32));
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dSv_player_get_item_c::onFirstBit(u8 i_itemNo) {
nofralloc
#include "asm/d/save/d_save/onFirstBit__21dSv_player_get_item_cFUc.s"
}
#pragma pop
#endif
/* 80033E94-80033EC8 02E7D4 0034+00 0/0 7/7 1/1 .text offFirstBit__21dSv_player_get_item_cFUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dSv_player_get_item_c::offFirstBit(u8 i_itemNo) {
nofralloc
#include "asm/d/save/d_save/offFirstBit__21dSv_player_get_item_cFUc.s"
void dSv_player_get_item_c::offFirstBit(u8 i_itemNo) {
mItemFlags[i_itemNo / 32] &= ~(1 << (i_itemNo % 32));
}
#pragma pop
/* 80033EC8-80033F00 02E808 0038+00 4/4 87/87 2/2 .text isFirstBit__21dSv_player_get_item_cCFUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int dSv_player_get_item_c::isFirstBit(u8 i_itemNo) const {
nofralloc
#include "asm/d/save/d_save/isFirstBit__21dSv_player_get_item_cCFUc.s"
int dSv_player_get_item_c::isFirstBit(u8 i_itemNo) const {
return mItemFlags[i_itemNo / 32] & (1 << (i_itemNo % 32)) ? TRUE : FALSE;
}
#pragma pop
void dSv_player_item_record_c::init() {
mArrowNum = 0;
@@ -976,20 +958,20 @@ void dSv_player_item_record_c::init() {
}
}
void dSv_player_item_record_c::setBombNum(u8 i_bagIdx, u8 bag_id) {
mBombNum[i_bagIdx] = bag_id;
void dSv_player_item_record_c::setBombNum(u8 i_bagIdx, u8 i_bombNum) {
mBombNum[i_bagIdx] = i_bombNum;
}
u8 dSv_player_item_record_c::getBombNum(u8 i_bagIdx) const {
return mBombNum[i_bagIdx];
}
void dSv_player_item_record_c::setBottleNum(u8 i_bottleIdx, u8 bottle_num) {
mBottleNum[i_bottleIdx] = bottle_num;
void dSv_player_item_record_c::setBottleNum(u8 i_bottleIdx, u8 i_bottleNum) {
mBottleNum[i_bottleIdx] = i_bottleNum;
}
u8 dSv_player_item_record_c::addBottleNum(u8 i_bottleIdx, s16 num) {
int bottleNum = mBottleNum[i_bottleIdx] + num;
u8 dSv_player_item_record_c::addBottleNum(u8 i_bottleIdx, s16 i_no) {
int bottleNum = mBottleNum[i_bottleIdx] + i_no;
dComIfGs_getItem((u8)(i_bottleIdx + SLOT_11), true);
@@ -1018,27 +1000,27 @@ void dSv_player_item_max_c::init() {
mItemMax[7] = 0;
}
void dSv_player_item_max_c::setBombNum(u8 bomb_id, u8 bomb_max) {
switch (bomb_id) {
void dSv_player_item_max_c::setBombNum(u8 i_bombType, u8 i_maxNum) {
switch (i_bombType) {
case NORMAL_BOMB:
mItemMax[NORMAL_BOMB_MAX] = bomb_max;
mItemMax[NORMAL_BOMB_MAX] = i_maxNum;
return;
case WATER_BOMB:
mItemMax[WATER_BOMB_MAX] = bomb_max;
mItemMax[WATER_BOMB_MAX] = i_maxNum;
return;
case POKE_BOMB:
mItemMax[POKE_BOMB_MAX] = bomb_max;
mItemMax[POKE_BOMB_MAX] = i_maxNum;
return;
}
}
u8 dSv_player_item_max_c::getBombNum(u8 bombId) const {
u8 dSv_player_item_max_c::getBombNum(u8 i_bombType) const {
u8 lv_multiplier = 1;
if (i_dComIfGs_isItemFirstBit(BOMB_BAG_LV2)) {
lv_multiplier = 2;
}
switch (bombId) {
switch (i_bombType) {
case NORMAL_BOMB:
return (u8)(mItemMax[NORMAL_BOMB_MAX] * lv_multiplier);
case WATER_BOMB:
@@ -1106,9 +1088,9 @@ void dSv_light_drop_c::init() {
}
}
void dSv_light_drop_c::setLightDropNum(u8 i_nowLevel, u8 dropNum) {
void dSv_light_drop_c::setLightDropNum(u8 i_nowLevel, u8 i_dropNum) {
if (i_nowLevel < LIGHT_DROP_STAGE || i_nowLevel > 6) {
mLightDropNum[i_nowLevel] = dropNum;
mLightDropNum[i_nowLevel] = i_dropNum;
}
}
@@ -1166,9 +1148,9 @@ void dSv_fishing_info_c::init() {
}
}
void dSv_fishing_info_c::addFishCount(u8 fish_index) {
if (mFishCount[fish_index] < 999) {
mFishCount[fish_index] += 1;
void dSv_fishing_info_c::addFishCount(u8 i_fishIdx) {
if (mFishCount[i_fishIdx] < 999) {
mFishCount[i_fishIdx] += 1;
}
}
@@ -1319,7 +1301,7 @@ void dSv_memBit_c::onDungeonItem(int i_no) {
}
s32 dSv_memBit_c::isDungeonItem(int i_no) const {
return mDungeonItem & (u8)(1 << i_no) ? 1 : 0;
return mDungeonItem & (u8)(1 << i_no) ? TRUE : FALSE;
}
void dSv_event_c::init() {
@@ -1384,15 +1366,15 @@ BOOL dSv_memory2_c::isVisitedRoom(int i_no) {
return (1 << (i_no & 0x1F) & mVisitedRoom[i_no >> 5]) ? TRUE : FALSE;
}
bool dSv_danBit_c::init(s8 i_stage) {
if (i_stage != mStageNo) {
bool dSv_danBit_c::init(s8 i_stageNo) {
if (i_stageNo != mStageNo) {
mSwitch[0] = 0;
mSwitch[1] = 0;
mItem[0] = 0;
mItem[1] = 0;
mItem[2] = 0;
mItem[3] = 0;
mStageNo = i_stage;
mStageNo = i_stageNo;
unk1 = 0;
for (int i = 0; i < 16; i++) {
@@ -1921,8 +1903,7 @@ int dSv_info_c::initdata_to_card(char* card_ptr, int dataNum) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int dSv_info_c::initdata_to_card(char* card_ptr, int dataNum) {
nofralloc
asm int dSv_info_c::initdata_to_card(char* card_ptr, int dataNum){nofralloc
#include "asm/d/save/d_save/initdata_to_card__10dSv_info_cFPci.s"
}
#pragma pop
+1 -1
View File
@@ -299,7 +299,7 @@ static int fopAc_Create(void* actor) {
fopAcM_SetParam(ac, append->mParameter);
ac->orig.pos = append->mPos;
ac->orig.angle = append->mAngle;
ac->mCollisionRot = append->mAngle;
ac->shape_angle = append->mAngle;
ac->mParentPcId = append->mParentPId;
ac->mSubtype = append->mSubtype;
ac->mScale.set(append->mScale[0] * 0.1f, append->mScale[1] * 0.1f, append->mScale[2] * 0.1f);
+16 -11
View File
@@ -752,9 +752,14 @@ void fopAcM_calcSpeed(fopAc_ac_c* p_actor) {
/* 8001A660-8001A6CC 014FA0 006C+00 1/1 1/1 17/17 .text fopAcM_posMove__FP10fopAc_ac_cPC4cXyz */
void fopAcM_posMove(fopAc_ac_c* p_actor, const cXyz* p_movePos) {
p_actor->current.pos += p_actor->mSpeed;
p_actor->current.pos.x += p_actor->mSpeed.x;
p_actor->current.pos.y += p_actor->mSpeed.y;
p_actor->current.pos.z += p_actor->mSpeed.z;
if (p_movePos != NULL) {
p_actor->current.pos += *p_movePos;
p_actor->current.pos.x += p_movePos->x;
p_actor->current.pos.y += p_movePos->y;
p_actor->current.pos.z += p_movePos->z;
}
}
@@ -816,7 +821,7 @@ asm s16 fopAcM_searchActorAngleX(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p
s32 fopAcM_seenActorAngleY(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB) {
return abs(static_cast<s16>(
cLib_targetAngleY(&p_actorA->current.pos, &p_actorB->current.pos) -
p_actorA->mCollisionRot.y));
p_actorA->shape_angle.y));
}
/* ############################################################################################## */
@@ -1747,7 +1752,7 @@ void* enemySearchJugge(void* p_actor, void* p_data) {
/* 8001CA1C-8001CAD8 01735C 00BC+00 0/0 0/0 6/6 .text fopAcM_myRoomSearchEnemy__FSc */
#ifdef NONMATCHING
void fopAcM_myRoomSearchEnemy(s8 roomNo) {
fopAc_ac_c* fopAcM_myRoomSearchEnemy(s8 roomNo) {
int procID = dStage_roomControl_c::getStatusProcID(roomNo);
scene_class* roomProc = fopScnM_SearchByID(procID);
@@ -1807,8 +1812,8 @@ void fopAcM_cancelCarryNow(fopAc_ac_c* p_actor) {
}
}
p_actor->mCollisionRot.z = 0;
p_actor->mCollisionRot.x = 0;
p_actor->shape_angle.z = 0;
p_actor->shape_angle.x = 0;
if (i_dComIfGp_event_runCheck() && fopAcM_GetGroup(p_actor) != 2) {
p_actor->mStatus |= 0x800;
@@ -1879,7 +1884,7 @@ s32 fopAcM_wayBgCheck(fopAc_ac_c const* param_0, f32 param_1, f32 param_2) {
tmp0 = param_0->current.pos;
tmp0.y += param_2;
mDoMtx_YrotS((MtxP)calc_mtx, param_0->mCollisionRot.y);
mDoMtx_YrotS((MtxP)calc_mtx, param_0->shape_angle.y);
tmp1.x = FLOAT_LABEL(lit_4645);
tmp1.y = 50.0f;
@@ -1899,7 +1904,7 @@ s32 fopAcM_wayBgCheck(fopAc_ac_c const* param_0, f32 param_1, f32 param_2) {
/* 8001CFD8-8001D020 017918 0048+00 0/0 0/0 2/2 .text fopAcM_plAngleCheck__FPC10fopAc_ac_cs */
s32 fopAcM_plAngleCheck(fopAc_ac_c const* p_actor, s16 i_angle) {
s16 angle = p_actor->mCollisionRot.y - dComIfGp_getPlayer(0)->mCollisionRot.y;
s16 angle = p_actor->shape_angle.y - dComIfGp_getPlayer(0)->shape_angle.y;
if (angle <= i_angle && angle >= (s16)-i_angle) {
return 0;
}
@@ -2021,7 +2026,7 @@ s32 fopAcM_carryOffRevise(fopAc_ac_c* param_0) {
tmp0 = player->current.pos;
tmp0.y = param_0->current.pos.y;
mDoMtx_YrotS((MtxP)calc_mtx, player->mCollisionRot.y);
mDoMtx_YrotS((MtxP)calc_mtx, player->shape_angle.y);
tmp1.x = FLOAT_LABEL(lit_4645);
tmp1.y = param_0->current.pos.y - player->current.pos.y;
@@ -2150,7 +2155,7 @@ fopAc_ac_c* fopAcM_findObject4EventCB(fopAc_ac_c* p_actor, void* p_data) {
#ifdef NONMATCHING
fopAc_ac_c* fopAcM_searchFromName4Event(char const* name, s16 eventID) {
fopAcM_search4ev_prm prm;
prm.field_0x1e = eventID;
prm.mEventID = eventID;
strcpy(prm.mName, name);
char* chr = strchr(prm.mName, ':');
@@ -2229,7 +2234,7 @@ asm s32 fopAcM_getWaterY(cXyz const* param_0, f32* param_1) {
/* 8001D900-8001D9A8 018240 00A8+00 0/0 2/2 2/2 .text
* fpoAcM_relativePos__FPC10fopAc_ac_cPC4cXyzP4cXyz */
void fpoAcM_relativePos(fopAc_ac_c const* actor, cXyz const* p_inPos, cXyz* p_outPos) {
s16 angle = -actor->mCollisionRot.y;
s16 angle = -actor->shape_angle.y;
cXyz pos = *p_inPos - actor->current.pos;
p_outPos->x = (pos.z * cM_ssin(angle)) + (pos.x * cM_scos(angle));
+72 -17
View File
@@ -15,7 +15,7 @@ SECTION_INIT void __check_pad3();
SECTION_INIT void __set_debug_bba();
SECTION_INIT u8 __get_debug_bba();
SECTION_INIT void __start();
SECTION_INIT void __init_registers();
SECTION_INIT void __init_registers(void);
SECTION_INIT void __init_data();
SECTION_INIT void __init_hardware();
SECTION_INIT void __flush_cache();
@@ -57,14 +57,48 @@ extern void* _SDA2_BASE_;
extern void* _SDA_BASE_;
/* 800032B0-80003340 0001B0 0090+00 1/1 0/0 0/0 .init __init_registers */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
SECTION_INIT asm void __init_registers() {
SECTION_INIT asm void __init_registers(void) {
// clang-format off
nofralloc
#include "asm/init/__init_registers.s"
li r0, 0
li r3, 0
li r4, 0
li r5, 0
li r6, 0
li r7, 0
li r8, 0
li r9, 0
li r10, 0
li r11, 0
li r12, 0
li r14, 0
li r15, 0
li r16, 0
li r17, 0
li r18, 0
li r19, 0
li r20, 0
li r21, 0
li r22, 0
li r23, 0
li r24, 0
li r25, 0
li r26, 0
li r27, 0
li r28, 0
li r29, 0
li r30, 0
li r31, 0
lis r1, _stack_end+0x1000@h
ori r1, r1, _stack_end+0x1000@l
lis r2, _SDA2_BASE_@h
ori r2, r2, _SDA2_BASE_@l
lis r13, _SDA_BASE_@h
ori r13, r13, _SDA_BASE_@l
blr
// clang-format on
}
#pragma pop
/* 80003340-80003400 000240 00C0+00 1/1 0/0 1/1 .init __init_data */
#pragma push
@@ -77,24 +111,45 @@ SECTION_INIT asm void __init_data() {
#pragma pop
/* 80003400-80003424 000300 0024+00 1/1 0/0 0/0 .init __init_hardware */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
SECTION_INIT asm void __init_hardware() {
// clang-format off
nofralloc
#include "asm/init/__init_hardware.s"
mfmsr r0
ori r0, r0, 0x2000
mtmsr r0
mflr r31
bl __OSPSInit
bl __OSFPRInit
bl __OSCacheInit
mtlr r31
blr
// clang-format on
}
#pragma pop
/* 80003424-80003458 000324 0034+00 1/1 0/0 0/0 .init __flush_cache */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
SECTION_INIT asm void __flush_cache() {
// clang-format off
nofralloc
#include "asm/init/__flush_cache.s"
lis r5, 0xFFFF
ori r5, r5, 0xFFF1
and r5, r5, r3
subf r3, r5, r3
add r4, r4, r3
lbl_80003438:
dcbst 0, r5
sync
icbi 0, r5
addic r5, r5, 8
addic. r4, r4, -8
bge lbl_80003438
isync
blr
// clang-format on
}
#pragma pop
/* 80003458-80003488 000358 0030+00 1/1 55/55 137/137 .init memset */
SECTION_INIT void* memset(void* dst, int val, size_t n) {
+12 -30
View File
@@ -45,7 +45,7 @@ static u8 sTmpBuf[0x4000];
/* 80017498-8001769C 011DD8 0204+00 0/0 1/1 0/0 .text mDoMemCdRWm_Store__FP12CARDFileInfoPvUl */
#ifdef NONMATCHING
void mDoMemCdRWm_Store(CARDFileInfo* file, void* data, u32 length) {
s32 mDoMemCdRWm_Store(CARDFileInfo* file, void* data, u32 length) {
mDoMemCdRWm_BuildHeader((mDoMemCdRWm_HeaderData*)sTmpBuf);
s32 card_state = CARDWrite(file, sTmpBuf, sizeof(sTmpBuf), 0);
@@ -153,14 +153,15 @@ static asm BOOL mDoMemCdRWm_CheckCardStat(CARDFileInfo* param_0) {
#pragma pop
/* 80017C74-80017CB4 0125B4 0040+00 1/1 0/0 0/0 .text mDoMemCdRWm_CalcCheckSum__FPvUl */
// matches except regalloc in the beginning
#ifdef NONMATCHING
static u32 mDoMemCdRWm_CalcCheckSum(void* data, u32 size) {
u16 high = 0;
u16 low = 0;
u16 high;
u16 low;
low = 0;
high = 0;
u16* d = (u16*)data;
for (int i = 0; i < size / 2; i++) {
for (int i = 0; i < size / 2; i++) {
high += *d;
low += ~*d;
d++;
@@ -168,23 +169,14 @@ static u32 mDoMemCdRWm_CalcCheckSum(void* data, u32 size) {
return high << 16 | low;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm u32 mDoMemCdRWm_CalcCheckSum(void* param_0, u32 param_1) {
nofralloc
#include "asm/m_Do/m_Do_MemCardRWmng/mDoMemCdRWm_CalcCheckSum__FPvUl.s"
}
#pragma pop
#endif
/* 80017CB4-80017CEC 0125F4 0038+00 2/2 0/0 0/0 .text mDoMemCdRWm_CalcCheckSumGameData__FPvUl */
// same beginning regalloc issue
#ifdef NONMATCHING
static u64 mDoMemCdRWm_CalcCheckSumGameData(void* data, u32 size) {
u32 high = 0;
u32 low = 0;
u32 high;
u32 low;
low = 0;
high = 0;
u8* d = (u8*)data;
for (int i = 0; i < size; i++) {
@@ -195,16 +187,6 @@ static u64 mDoMemCdRWm_CalcCheckSumGameData(void* data, u32 size) {
return (u64)high << 32 | low;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm u64 mDoMemCdRWm_CalcCheckSumGameData(void* param_0, u32 param_1) {
nofralloc
#include "asm/m_Do/m_Do_MemCardRWmng/mDoMemCdRWm_CalcCheckSumGameData__FPvUl.s"
}
#pragma pop
#endif
/* 80017CEC-80017D38 01262C 004C+00 1/1 4/4 0/0 .text mDoMemCdRWm_TestCheckSumGameData__FPv */
BOOL mDoMemCdRWm_TestCheckSumGameData(void* data) {
+2 -2
View File
@@ -462,7 +462,7 @@ int mDoGph_AfterOfDraw() {
JUTDbPrint::getManager()->setVisible(true);
} else {
int sysConsole_visible = JFWSystem::getSystemConsole()->isVisible();
int port3_connected = mDoCPd_c::isConnect(mDoCPd_c::PAD_2);
int port3_connected = mDoCPd_c::isConnect(PAD_3);
BOOL procBar_visible = port3_connected && fapGmHIO_getMeter() && !sysConsole_visible;
BOOL console_visible = port3_connected && fapGmHIO_isPrint();
@@ -487,7 +487,7 @@ int mDoGph_AfterOfDraw() {
GXSetCoPlanar(GX_DISABLE);
GXSetZTexture(GX_ZT_DISABLE, GX_TF_Z8, 0);
GXSetDither(GX_ENABLE);
GXSetClipMode(GX_DISABLE);
GXSetClipMode(GX_CLIP_ENABLE);
GXSetCullMode(GX_CULL_NONE);
JUTVideo::getManager()->setRenderMode(mDoMch_render_c::getRenderModeObj());
mDoGph_gInf_c::endFrame();
+4 -4
View File
@@ -669,13 +669,13 @@ int mDoMch_Create() {
JKRHeap::setDefaultDebugFill(mDebugFill);
JFWSystem::setMaxStdHeap(1);
u32 arenaHi = OSGetArenaHi();
u32 arenaLo = OSGetArenaLo();
u32 arenaHi = (u32)OSGetArenaHi();
u32 arenaLo = (u32)OSGetArenaLo();
if (arenaHi > 0x81800000 && arenaHi - 0x1800000 > arenaLo) {
OSSetArenaHi(arenaHi - 0x1800000);
OSSetArenaHi((void*)(arenaHi - 0x1800000));
}
u32 arenaSize = (OSGetArenaHi() - OSGetArenaLo()) - 0xF0;
u32 arenaSize = ((u32)OSGetArenaHi() - (u32)OSGetArenaLo()) - 0xF0;
my_PrintHeap("アリーナ", arenaSize);
if (mDoMain::memMargin != -1) {
+20 -127
View File
@@ -9,6 +9,7 @@
#include "JSystem/JKernel/JKRAram.h"
#include "JSystem/JUtility/JUTAssert.h"
#include "JSystem/JUtility/JUTReport.h"
#include "c/c_dylink.h"
#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@@ -24,26 +25,7 @@
// Forward References:
//
extern "C" void version_check__Fv();
extern "C" void CheckHeap1__9HeapCheckFv();
extern "C" static void CheckHeap__FUl();
extern "C" static void countUsed__FP10JKRExpHeap();
extern "C" void getUsedCount__9HeapCheckCFv();
extern "C" void heapDisplay__9HeapCheckCFv();
extern "C" static void debugDisplay__Fv();
extern "C" static void Debug_console__FUl();
extern "C" void* LOAD_COPYDATE__FPv();
extern "C" static void debug__Fv();
extern "C" static void main01__Fv();
extern "C" void main();
extern "C" bool dump_sort__7JKRHeapFv();
extern "C" void __sinit_m_Do_main_cpp();
extern "C" extern char const* const m_Do_m_Do_main__stringBase0;
extern "C" u8 COPYDATE_STRING__7mDoMain[18 + 2 /* padding */];
extern "C" u32 memMargin__7mDoMain;
extern "C" u8 sPowerOnTime__7mDoMain[4];
extern "C" u8 sHungUpTime__7mDoMain[4];
extern "C" s8 developmentMode__7mDoMain;
extern "C" extern u8 data_80450B38[4];
extern "C" extern u8 data_80450B3C[4];
extern "C" extern u8 data_80450B40[4];
@@ -71,59 +53,8 @@ extern "C" extern u8 data_80450B90[4 + 4 /* padding */];
// External References:
//
extern "C" void OSReportInit__Fv();
extern "C" void mDoAud_Execute__Fv();
extern "C" void create__8mDoCPd_cFv();
extern "C" void read__8mDoCPd_cFv();
extern "C" void mDoGph_Create__Fv();
extern "C" void mDoMch_HeapCheckAll__Fv();
extern "C" void mDoMch_Create__Fv();
extern "C" void mDoExt_getGameHeap__Fv();
extern "C" void mDoExt_getZeldaHeap__Fv();
extern "C" void mDoExt_getCommandHeap__Fv();
extern "C" void mDoExt_getArchiveHeap__Fv();
extern "C" void mDoExt_getJ2dHeap__Fv();
extern "C" void mDoExt_getHostIOHeap__Fv();
extern "C" void create__20mDoDvdThd_callback_cFPFPv_PvPv();
extern "C" void update__15mDoMemCd_Ctrl_cFv();
extern "C" void cDyl_InitAsync__Fv();
extern "C" void fapGm_Execute__Fv();
extern "C" void fapGm_Create__Fv();
extern "C" void fopAcM_initManager__Fv();
extern "C" void ct__13dComIfG_inf_cFv();
extern "C" void dump__14dRes_control_cFv();
extern "C" void dump__24DynamicModuleControlBaseFv();
extern "C" void getFreeSize__7JKRHeapFv();
extern "C" void getTotalFreeSize__7JKRHeapFv();
extern "C" void getTotalUsedSize__10JKRExpHeapCFv();
extern "C" void create__12JKRSolidHeapFUlP7JKRHeapb();
extern "C" void getFreeSize__11JKRAramHeapFv();
extern "C" void getTotalFreeSize__11JKRAramHeapFv();
extern "C" void dump__11JKRAramHeapFv();
extern "C" void JUTReport__FiiPCce();
extern "C" void JUTReport__FiiiPCce();
extern "C" void setMessageCount__12JUTAssertionFi();
extern "C" void clear__10JUTConsoleFv();
extern "C" void dumpToTerminal__10JUTConsoleFUi();
extern "C" void scroll__10JUTConsoleFi();
extern "C" void getLineOffset__10JUTConsoleCFv();
extern "C" void _savegpr_23();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _restgpr_23();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" u8 m_gamePad__8mDoCPd_c[16];
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
extern "C" extern JKRSolidHeap* g_mDoAud_audioHeap;
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
extern "C" u8 systemConsole__9JFWSystem[4];
extern "C" u8 sSystemHeap__7JKRHeap[4];
extern "C" u8 sCurrentHeap__7JKRHeap[4];
extern "C" u8 sRootHeap__7JKRHeap[4];
extern "C" u8 sAramObject__7JKRAram[4];
//
// Declarations:
@@ -299,7 +230,7 @@ OSTime mDoMain::sHungUpTime;
/* 80450B18 0001+00 data_80450B18 None */
/* 80450B19 0001+00 data_80450B19 None */
/* 80450B1A 0002+00 data_80450B1A None */
static bool mDisplayHeapSize; // sDisplayHeapDebug
static bool mDisplayHeapSize;
static u8 sDisplayHeap;
static bool sCheckHeap;
@@ -477,40 +408,21 @@ bool Debug_console(u32 i_padNo) {
return 0;
}
/* ############################################################################################## */
/* 803739A0-803739A0 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80373C23 = "/str/Final/Release/COPYDATE";
#pragma pop
/* 8000614C-800061C8 000A8C 007C+00 1/1 0/0 0/0 .text LOAD_COPYDATE__FPv */
#ifdef NONMATCHING
s32 LOAD_COPYDATE(void*) {
s32 status;
u8 buffer[32];
u8 fileInfo[80];
// DVDFileInfo fileInfo;
status = DVDOpen("/str/Final/Release/COPYDATE", (DVDFileInfo*)&fileInfo);
DVDFileInfo __attribute__((aligned(0x20))) fileInfo;
u8 buffer[0x20];
status = DVDOpen("/str/Final/Release/COPYDATE", &fileInfo);
if (status) {
DVDReadPrio((DVDFileInfo*)fileInfo, &buffer, 32, 0, 2);
DVDReadPrio(&fileInfo, &buffer, 32, 0, 2);
memcpy(mDoMain::COPYDATE_STRING, buffer, 17);
status = DVDClose((DVDFileInfo*)fileInfo);
status = DVDClose(&fileInfo);
}
return status;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void* LOAD_COPYDATE(void* param_0) {
nofralloc
#include "asm/m_Do/m_Do_main/LOAD_COPYDATE__FPv.s"
}
#pragma pop
#endif
static void debug() {
if (mDoMain::developmentMode) {
@@ -537,15 +449,11 @@ static void debug() {
}
}
/* ############################################################################################## */
/* 80450B34-80450B38 000034 0004+00 1/1 0/0 0/0 .sbss frame$3939 */
static u32 frame;
/* 8000628C-80006454 000BCC 01C8+00 1/1 0/0 0/0 .text main01__Fv */
// only issue is output check section with weird code gen
#ifdef NONMATCHING
void main01(void) {
mDoMch_Create__Fv();
static u32 frame;
mDoMch_Create();
mDoGph_Create();
mDoCPd_c::create();
@@ -590,26 +498,22 @@ void main01(void) {
}
JUTConsole* console = JFWSystem::getSystemConsole();
s32 output = 0;
if (mDoMain::developmentMode != 0) {
output = JUTConsole::OUTPUT_OSREPORT | JUTConsole::OUTPUT_CONSOLE;
}
console->setOutput(output);
console->setOutput(mDoMain::developmentMode ? JUTConsole::OUTPUT_OSR_AND_CONSOLE :
JUTConsole::OUTPUT_NONE);
console->setPosition(32, 42);
mDoDvdThd_callback_c::create(LOAD_COPYDATE, NULL);
fapGm_Create__Fv();
fopAcM_initManager__Fv();
mDoDvdThd_callback_c::create((mDoDvdThd_callback_func)LOAD_COPYDATE, NULL);
fapGm_Create();
fopAcM_initManager();
mDisplayHeapSize = 0;
cDyl_InitAsync__Fv();
cDyl_InitAsync();
g_mDoAud_audioHeap = JKRSolidHeap::create(0x14D800, JKRHeap::getCurrentHeap(), false);
do {
frame++;
if (fillcheck_check_frame != 0 && frame % fillcheck_check_frame == 0) {
mDoMch_HeapCheckAll__Fv();
mDoMch_HeapCheckAll();
}
if (SyncWidthSound) {
@@ -617,21 +521,11 @@ void main01(void) {
}
mDoCPd_c::read();
fapGm_Execute__Fv();
mDoAud_Execute__Fv();
fapGm_Execute();
mDoAud_Execute();
debug();
} while (true);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void main01() {
nofralloc
#include "asm/m_Do/m_Do_main/main01__Fv.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 803D3420-803DB420 000140 8000+00 1/1 0/0 0/0 .bss mainThreadStack */
@@ -722,8 +616,7 @@ SECTION_DEAD static char const* const stringBase_80373CA7 = "コマンド";
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void __sinit_m_Do_main_cpp() {
nofralloc
asm void __sinit_m_Do_main_cpp(){nofralloc
#include "asm/m_Do/m_Do_main/__sinit_m_Do_main_cpp.s"
}
#pragma pop