mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-15 12:08:37 -04:00
d_a_alink work / bump dtk version (#2205)
This commit is contained in:
@@ -3,6 +3,8 @@
|
||||
* Player Damage action handling
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_alink.h"
|
||||
|
||||
/* 800D6D94-800D6DA4 0D16D4 0010+00 0/0 0/0 2/2 .text getFreezeR__9daAlink_cCFv */
|
||||
s16 daAlink_c::getFreezeR() const {
|
||||
return daAlinkHIO_damage_c0::m.mFreezeR;
|
||||
@@ -154,25 +156,24 @@ f32 daAlink_c::damageMagnification(int i_checkZoraMag, int param_1) {
|
||||
if (param_1 == 0 && checkNoResetFlg3(FLG3_UNK_40000000) &&
|
||||
!checkEndResetFlg2(ERFLG2_UNK_40))
|
||||
{
|
||||
base_mag = 1.5f; /* 1.5 */
|
||||
base_mag = 1.5f;
|
||||
} else {
|
||||
base_mag = 1.0f; /* 1.0 */
|
||||
base_mag = 1.0f;
|
||||
}
|
||||
|
||||
if (checkWolf() && !checkCargoCarry() && param_1 == 0) {
|
||||
return /* 2.0 */ 2.0f * base_mag;
|
||||
return 2.0f * base_mag;
|
||||
}
|
||||
|
||||
if (checkZoraWearAbility() && i_checkZoraMag) {
|
||||
return /* 10.0 */ 10.0f * base_mag;
|
||||
return 10.0f * base_mag;
|
||||
}
|
||||
|
||||
return base_mag;
|
||||
}
|
||||
|
||||
/* 800D72BC-800D7478 0D1BFC 01BC+00 6/6 1/1 0/0 .text setDamagePoint__9daAlink_cFiiii */
|
||||
// regalloc and literals
|
||||
#ifdef NONMATCHING
|
||||
// NONMATCHING - regalloc
|
||||
int daAlink_c::setDamagePoint(int i_dmgAmount, int i_checkZoraMag, int i_setDmgTimer, int param_3) {
|
||||
if (i_dmgAmount <= 0) {
|
||||
dComIfGp_setItemLifeCount(-i_dmgAmount, 0);
|
||||
@@ -195,7 +196,7 @@ int daAlink_c::setDamagePoint(int i_dmgAmount, int i_checkZoraMag, int i_setDmgT
|
||||
dComIfGp_setItemLifeCount(-magnified_dmg, 0);
|
||||
}
|
||||
|
||||
onResetFlg1(0x400);
|
||||
onResetFlg1(RFLG1_UNK_400);
|
||||
mSwordUpTimer = 0;
|
||||
|
||||
if (i_setDmgTimer) {
|
||||
@@ -204,14 +205,8 @@ int daAlink_c::setDamagePoint(int i_dmgAmount, int i_checkZoraMag, int i_setDmgT
|
||||
}
|
||||
|
||||
field_0x3006 = 0;
|
||||
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
int daAlink_c::setDamagePoint(int param_0, int param_1, int param_2, int param_3) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 800D7478-800D74A4 0D1DB8 002C+00 6/6 0/0 0/0 .text setDamagePointNormal__9daAlink_cFi
|
||||
*/
|
||||
@@ -228,8 +223,36 @@ void daAlink_c::setLandDamagePoint(int i_dmgAmount) {
|
||||
|
||||
/* 800D74F4-800D76C4 0D1E34 01D0+00 11/11 0/0 0/0 .text getDamageVec__9daAlink_cFP12dCcD_GObjInf
|
||||
*/
|
||||
Vec* daAlink_c::getDamageVec(dCcD_GObjInf* param_0) {
|
||||
// NONMATCHING
|
||||
cXyz* daAlink_c::getDamageVec(dCcD_GObjInf* i_hitObj) {
|
||||
cXyz* vec = i_hitObj->GetTgRVecP();
|
||||
cXyz sp40;
|
||||
|
||||
f32 var_f31 = vec->abs2XZ();
|
||||
|
||||
if (checkResetFlg1(RFLG1_UNK_2)) {
|
||||
sp40.set(cM_ssin(shape_angle.y) * -10.0f, 0.0f, cM_scos(shape_angle.y) * -10.0f);
|
||||
i_hitObj->SetTgRVec(sp40);
|
||||
} else if (var_f31 < 0.1f) {
|
||||
if (i_hitObj->GetTgHitAc() != NULL) {
|
||||
sp40 = current.pos - i_hitObj->GetTgHitAc()->current.pos;
|
||||
} else {
|
||||
sp40 = current.pos - *i_hitObj->GetTgHitPosP();
|
||||
}
|
||||
|
||||
var_f31 = sp40.abs2();
|
||||
if (var_f31 < 0.1f) {
|
||||
sp40.x = cM_ssin(shape_angle.y) * -10.0f;
|
||||
sp40.y = 0.0f;
|
||||
sp40.z = cM_scos(shape_angle.y) * -10.0f;
|
||||
} else {
|
||||
sp40 *= 10.0f / JMAFastSqrt(var_f31);
|
||||
}
|
||||
|
||||
i_hitObj->SetTgRVec(sp40);
|
||||
}
|
||||
|
||||
multVecMagneBootInvMtx(vec);
|
||||
return vec;
|
||||
}
|
||||
|
||||
/* 800D76C4-800D7768 0D2004 00A4+00 1/1 0/0 0/0 .text setDashDamage__9daAlink_cFv */
|
||||
@@ -258,13 +281,64 @@ BOOL daAlink_c::checkMagicArmorNoDamage() {
|
||||
}
|
||||
|
||||
/* 800D7820-800D7A98 0D2160 0278+00 1/1 0/0 0/0 .text checkPolyDamage__9daAlink_cFv */
|
||||
void daAlink_c::checkPolyDamage() {
|
||||
// NONMATCHING
|
||||
int daAlink_c::checkPolyDamage() {
|
||||
if (dComIfGs_PolyDamageOff_Check()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (checkEndResetFlg1(ERFLG1_UNK_4000)) {
|
||||
return 4;
|
||||
}
|
||||
|
||||
int var_r29;
|
||||
if (!checkBoardRide() && mLinkAcch.i_ChkGroundHit()) {
|
||||
if (dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd) && (dKy_pol_argument_get(&mLinkAcch.m_gnd) & 0x60)) {
|
||||
var_r29 = 1;
|
||||
if (checkIcePolygonDamage(&mLinkAcch.m_gnd)) {
|
||||
var_r29 |= 0x80;
|
||||
}
|
||||
|
||||
cM3dGPla sp38;
|
||||
dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &sp38);
|
||||
field_0x311e = sp38.mNormal.atan2sX_Z();
|
||||
return var_r29;
|
||||
}
|
||||
}
|
||||
|
||||
if (!checkBoardRide() && ((checkWaterPolygonUnder() && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_wtr) && ((dKy_pol_argument_get(&mLinkAcch.m_wtr) & 0x60) || field_0x2fbc == 6)) || (checkModeFlg(0x40) && field_0x33bc < field_0x33b8 && -1000000000.0f != field_0x33b8 && ((field_0x2fc6 & 0x60) || field_0x2fc5 == 6) && (field_0x2fc5 != 6 || !(field_0x33b8 > field_0x33d8 + daAlinkHIO_basic_c0::m.mLavaDeathDepth))))) {
|
||||
return 2;
|
||||
}
|
||||
|
||||
if (mLinkAcch.ChkWallHit()) {
|
||||
dBgS_AcchCir* acch_cir = mAcchCir;
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (acch_cir->ChkWallHit()) {
|
||||
if (dComIfG_Bgsp().ChkPolySafe(*acch_cir) && (dKy_pol_argument_get(acch_cir) & 0x60)) {
|
||||
var_r29 = 3;
|
||||
|
||||
field_0x311e = acch_cir->GetWallAngleY();
|
||||
if (checkIcePolygonDamage(acch_cir)) {
|
||||
var_r29 |= 0x80;
|
||||
}
|
||||
|
||||
if (dKy_pol_argument_get(acch_cir) & 0x20) {
|
||||
var_r29 |= 0x40;
|
||||
}
|
||||
|
||||
return var_r29;
|
||||
}
|
||||
}
|
||||
acch_cir++;
|
||||
}
|
||||
}
|
||||
|
||||
return field_0x2fca;
|
||||
}
|
||||
|
||||
/* 800D7A98-800D7B18 0D23D8 0080+00 1/1 0/0 0/0 .text
|
||||
* checkElecReturnDamage__9daAlink_cFR12dCcD_GObjInfPP10fopAc_ac_c */
|
||||
bool daAlink_c::checkElecReturnDamage(dCcD_GObjInf& param_0, fopAc_ac_c** param_1) {
|
||||
BOOL daAlink_c::checkElecReturnDamage(dCcD_GObjInf& param_0, fopAc_ac_c** param_1) {
|
||||
if (param_0.ChkAtHit() && param_0.GetAtHitGObj() != NULL) {
|
||||
dCcD_GObjInf* gobj_p = (dCcD_GObjInf*)param_0.GetAtHitGObj();
|
||||
|
||||
@@ -313,18 +387,541 @@ bool daAlink_c::checkLargeAttack(int param_0) const {
|
||||
|
||||
/* 800D7C40-800D8F3C 0D2580 12FC+00 1/1 0/0 0/0 .text checkDamageAction__9daAlink_cFv */
|
||||
BOOL daAlink_c::checkDamageAction() {
|
||||
// NONMATCHING
|
||||
s16 spE = field_0x3006;
|
||||
field_0x3006 = 0;
|
||||
|
||||
u8 spA = field_0x2fca;
|
||||
field_0x2fca = 0;
|
||||
|
||||
if (checkAnmEnd(&mUpperFrameCtrl[2])) {
|
||||
if (checkDashDamageAnime()) {
|
||||
resetUpperAnime(UPPER_2, daAlinkHIO_damage_c0::m.mDashDmgAnm.mInterpolation);
|
||||
} else if (checkWolfHeadDamageAnime()) {
|
||||
resetUpperAnime(UPPER_2, 3.0f);
|
||||
} else if (checkSmallUpperGuardAnime()) {
|
||||
resetUpperAnime(UPPER_2, 3.0f);
|
||||
setUpperGuardAnime(-1.0f);
|
||||
} else if (checkZoraSwimDamageAnime()) {
|
||||
resetUpperAnime(UPPER_2, 3.0f);
|
||||
}
|
||||
}
|
||||
|
||||
if (checkEndResetFlg0(ERFLG0_UNK_40)) {
|
||||
if (getSumouMode()) {
|
||||
cancelSumouMode();
|
||||
}
|
||||
|
||||
if (checkEndResetFlg1(ERFLG1_UNK_80)) {
|
||||
return procOctaIealSpitInit();
|
||||
}
|
||||
|
||||
if (checkEndResetFlg0(ERFLG0_UNK_40000000)) {
|
||||
return commonFallInit(4);
|
||||
}
|
||||
|
||||
if (mProcID == PROC_WOLF_CARGO_CARRY && mProcVar2.field_0x300c == 0) {
|
||||
offNoResetFlg0(FLG0_UNK_100000);
|
||||
}
|
||||
|
||||
return procCoLargeDamageInit(-3, 1, 0, 0, NULL, 0);
|
||||
}
|
||||
|
||||
if (checkEventRun()) {
|
||||
offNoResetFlg1(FLG1_UNK_1);
|
||||
offNoResetFlg0(FLG0_UNK_20000);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (checkNoResetFlg1(FLG1_UNK_1)) {
|
||||
if (!checkModeFlg(0x70C52) && !checkWolf() && procDkCaughtInit(field_0x28f8)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (mProcID != PROC_DK_CAUGHT) {
|
||||
offNoResetFlg1(FLG1_UNK_1);
|
||||
}
|
||||
}
|
||||
|
||||
if (checkNoResetFlg0(FLG0_UNK_20000)) {
|
||||
if ((!checkModeFlg(0x70C52)) && (!checkWolf()) && (!checkDkCaught2Anime())) {
|
||||
setUpperAnimeBase(getMainBckData(ANM_HORSE_WAIT_D_B)->m_underID);
|
||||
setFacePriAnime(ANM_HORSE_WAIT_D_B);
|
||||
field_0x30f6 = daAlinkHIO_damCaught_c0::m.field_0x14;
|
||||
field_0x2f96 = 1;
|
||||
field_0x2f97 = 6;
|
||||
onNoResetFlg1(FLG1_UNK_100000);
|
||||
return procWaitInit();
|
||||
}
|
||||
|
||||
if (!checkDkCaught2Anime()) {
|
||||
offNoResetFlg0(FLG0_UNK_20000);
|
||||
}
|
||||
}
|
||||
|
||||
if (checkEndResetFlg0(ERFLG0_UNK_80)) {
|
||||
if (checkEndResetFlg1(ERFLG1_UNK_80)) {
|
||||
return procOctaIealSpitInit();
|
||||
}
|
||||
|
||||
if (checkEndResetFlg0(ERFLG0_UNK_40000000)) {
|
||||
return commonFallInit(4);
|
||||
}
|
||||
|
||||
return procCoLargeDamageInit(-3, 1, 0, 0, NULL, 0);
|
||||
}
|
||||
|
||||
if (checkEndResetFlg1(ERFLG1_UNK_400)) {
|
||||
return procCoSandWallHitInit();
|
||||
}
|
||||
|
||||
if (checkNoResetFlg2(FLG2_UNK_1000)) {
|
||||
if (commonLargeDamageUpInit(-4, 1, 0, 0)) {
|
||||
current.pos = field_0x3744;
|
||||
shape_angle.y = field_0x3104;
|
||||
current.angle.y = shape_angle.y;
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (mDamageTimer != 0) {
|
||||
return checkWolfBarrierHitReverse();
|
||||
}
|
||||
|
||||
dCcD_GObjInf* var_r29 = NULL;
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (field_0x850[i].ChkTgHit() && (field_0x2fb8 == 0 || (1 << i) == 0)) {
|
||||
var_r29 = &field_0x850[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (var_r29 == NULL && checkWolf()) {
|
||||
var_r29 = &field_0xFB8;
|
||||
}
|
||||
|
||||
if (checkEndResetFlg1(ERFLG1_UNK_8000) && checkWolf()) {
|
||||
return procWolfCargoCarryInit();
|
||||
}
|
||||
|
||||
BOOL armor_no_dmg = checkMagicArmorNoDamage();
|
||||
fopAc_ac_c* sp30 = NULL;
|
||||
field_0x2fca = spA;
|
||||
int sp2C = checkPolyDamage();
|
||||
field_0x2fca = 0;
|
||||
field_0x3006 = spE;
|
||||
|
||||
if (sp2C & 0x80) {
|
||||
field_0x3006++;
|
||||
if (field_0x3006 < daAlinkHIO_damage_c0::m.mFreezeTime) {
|
||||
sp2C = 0;
|
||||
}
|
||||
} else if (field_0x3006 > 3) {
|
||||
field_0x3006 -= 3;
|
||||
} else {
|
||||
field_0x3006 = 0;
|
||||
}
|
||||
|
||||
if (sp2C != 0) {
|
||||
int sp28 = (sp2C & 7);
|
||||
setDamagePoint(1, sp2C & 0x80, TRUE, 0);
|
||||
|
||||
if (checkWolf()) {
|
||||
mDamageTimer = daAlinkHIO_damage_c0::m.mWolfFloorInvincibleTime;
|
||||
setDamageColorTime();
|
||||
}
|
||||
|
||||
if (checkModeFlg(0x4000000)) {
|
||||
dComIfGp_getVibration().StartShock(2, 0x1F, cXyz(0.0f, 1.0f, 0.0f));
|
||||
|
||||
if (checkWolf()) {
|
||||
setWolfHeadDamage();
|
||||
} else {
|
||||
voiceStart(Z2SE_AL_V_DAMAGE_S);
|
||||
seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL);
|
||||
}
|
||||
} else {
|
||||
if (!checkModeFlg(0x40000) && ((sp2C & 0x40) || (!mLinkAcch.i_ChkGroundHit() && (sp28 == 3 || sp28 == 4)))) {
|
||||
dComIfGp_getVibration().StartShock(2, 0x1F, cXyz(0.0f, 1.0f, 0.0f));
|
||||
|
||||
int sp24;
|
||||
if (sp2C & 0x80) {
|
||||
sp24 = 1;
|
||||
} else {
|
||||
sp24 = 0;
|
||||
}
|
||||
|
||||
if (sp28 == 4) {
|
||||
field_0x311e = shape_angle.y;
|
||||
}
|
||||
|
||||
return procCoLargeDamageInit(-5, 1, 0, 0, NULL, sp24);
|
||||
}
|
||||
|
||||
dComIfGp_getVibration().StartShock(2, 0x1F, cXyz(0.0f, 1.0f, 0.0f));
|
||||
|
||||
if (checkWolf()) {
|
||||
if (checkModeFlg(0x40000)) {
|
||||
setWolfHeadDamage();
|
||||
} else if (sp2C & 0x80) {
|
||||
return procWolfDamageInit(NULL);
|
||||
} else {
|
||||
return procCoPolyDamageInit();
|
||||
}
|
||||
} else if (checkModeFlg(0x40000)) {
|
||||
return procSwimDamageInit(NULL);
|
||||
} else if (sp2C & 0x80) {
|
||||
return procDamageInit(NULL, 0);
|
||||
} else {
|
||||
return procCoPolyDamageInit();
|
||||
}
|
||||
}
|
||||
} else if ((mEquipItem == 0x103 || (checkHookshotItem(mEquipItem) && !mAtCps[0].ChkAtSPrm(0x20))) && (checkElecReturnDamage(mAtCps[0], &sp30) || checkElecReturnDamage(mAtCps[1], &sp30) || checkElecReturnDamage(mAtCps[2], &sp30))) {
|
||||
setDamagePointNormal(2);
|
||||
onResetFlg1(RFLG1_UNK_2);
|
||||
dComIfGp_getVibration().StartShock(4, 0x1F, cXyz(0.0f, 1.0f, 0.0f));
|
||||
|
||||
if (checkModeFlg(0x4000000)) {
|
||||
if (checkWolf()) {
|
||||
setWolfHeadDamage();
|
||||
} else {
|
||||
voiceStart(Z2SE_AL_V_DAMAGE_S);
|
||||
seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL);
|
||||
}
|
||||
} else {
|
||||
return procCoElecDamageInit(sp30, NULL, 0);
|
||||
}
|
||||
} else if (var_r29 != NULL && var_r29->ChkTgHit() && mProcID != PROC_GUARD_SLIP) {
|
||||
fopAc_ac_c* tghit_ac = var_r29->GetTgHitAc();
|
||||
s16 tghit_ac_name;
|
||||
if (tghit_ac != NULL) {
|
||||
tghit_ac_name = fopAcM_GetName(tghit_ac);
|
||||
} else {
|
||||
tghit_ac_name = PROC_ALINK;
|
||||
}
|
||||
|
||||
dCcD_GObjInf* tghit_gobj = var_r29->GetTgHitGObj();
|
||||
int at_spl;
|
||||
u8 at_mtrl;
|
||||
if (tghit_gobj != NULL) {
|
||||
at_spl = tghit_gobj->GetAtSpl();
|
||||
at_mtrl = tghit_gobj->GetAtMtrl();
|
||||
} else {
|
||||
at_spl = field_0x814.GetAtSpl();
|
||||
at_mtrl = dCcD_MTRL_NONE;
|
||||
}
|
||||
|
||||
if (at_spl == 8 && checkWolf()) {
|
||||
at_spl = 1;
|
||||
}
|
||||
|
||||
if (var_r29->ChkTgShieldHit()) {
|
||||
setGuardSe(var_r29);
|
||||
|
||||
if (checkHugeAttack(at_spl)) {
|
||||
dComIfGp_getVibration().StartShock(5, 1, cXyz(0.0f, 1.0f, 0.0f));
|
||||
} else if (checkLargeAttack(at_spl)) {
|
||||
dComIfGp_getVibration().StartShock(4, 1, cXyz(0.0f, 1.0f, 0.0f));
|
||||
} else if (at_spl == 8) {
|
||||
dComIfGp_getVibration().StartShock(2, 1, cXyz(0.0f, 1.0f, 0.0f));
|
||||
} else {
|
||||
dComIfGp_getVibration().StartShock(3, 1, cXyz(0.0f, 1.0f, 0.0f));
|
||||
}
|
||||
|
||||
if (!armor_no_dmg && at_mtrl == dCcD_MTRL_FIRE && checkWoodShieldEquip() && field_0x2fcb == 0 && !field_0x2e44.checkPassNum(15)) {
|
||||
field_0x2fcb = 120;
|
||||
seStartOnlyReverb(Z2SE_AL_BURN_START);
|
||||
}
|
||||
|
||||
if ((mProcID != PROC_GUARD_ATTACK || (tghit_ac_name != PROC_E_TK_BALL && tghit_ac_name != PROC_KN_BULLET)) && !checkModeFlg(0x4000000)) {
|
||||
if (at_spl == 10 || at_spl == 11 || at_spl == 9) {
|
||||
return procGuardBreakInit();
|
||||
}
|
||||
|
||||
if (!armor_no_dmg) {
|
||||
if (var_r29->ChkTgShield()) {
|
||||
if (checkHorseRide()) {
|
||||
if ((checkLargeAttack(at_spl) || checkHugeAttack(at_spl)) && (!checkSpecialHorseRide())) {
|
||||
return procHorseHangInit(var_r29, 0);
|
||||
}
|
||||
} else if (at_spl == 8 || checkModeFlg(0x70C52)) {
|
||||
if (!checkModeFlg(0x400) && mEquipItem != IRONBALL) {
|
||||
setSmallGuard(var_r29);
|
||||
}
|
||||
} else {
|
||||
return procGuardSlipInit(at_spl, var_r29);
|
||||
}
|
||||
} else if (var_r29->ChkTgSpShield()) {
|
||||
return procGuardSlipInit(at_spl, var_r29);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
int dmg = field_0x814.GetDmg();
|
||||
if (var_r29->ChkTgHit() && tghit_gobj != NULL && tghit_gobj->GetAtType() == AT_TYPE_BOMB) {
|
||||
if (checkNoResetFlg3(FLG3_UNK_40000000)) {
|
||||
dmg = 1;
|
||||
} else {
|
||||
dmg = 2;
|
||||
}
|
||||
}
|
||||
|
||||
if (at_mtrl == dCcD_MTRL_UNK_5) {
|
||||
dComIfGp_getVibration().StartShock(4, 0x1F, cXyz(0.0f, 1.0f, 0.0f));
|
||||
} else if (checkHugeAttack(at_spl)) {
|
||||
dComIfGp_getVibration().StartShock(8, 0x1F, cXyz(0.0f, 1.0f, 0.0f));
|
||||
} else if (checkLargeAttack(at_spl)) {
|
||||
dComIfGp_getVibration().StartShock(4, 0x1F, cXyz(0.0f, 1.0f, 0.0f));
|
||||
} else {
|
||||
dComIfGp_getVibration().StartShock(2, 0x1F, cXyz(0.0f, 1.0f, 0.0f));
|
||||
}
|
||||
|
||||
setDamagePoint(dmg, at_mtrl == dCcD_MTRL_FIRE || at_mtrl == dCcD_MTRL_ICE, TRUE, 0);
|
||||
|
||||
if (armor_no_dmg && at_mtrl != dCcD_MTRL_UNK_5 && at_mtrl != dCcD_MTRL_ICE) {
|
||||
setGuardSe(var_r29);
|
||||
} else if (at_mtrl == dCcD_MTRL_FIRE) {
|
||||
seStartOnlyReverb(Z2SE_AL_BURN_START);
|
||||
if (at_spl == 8) {
|
||||
initFirePointDamageEffect(var_r29->GetTgHitPosP(), var_r29);
|
||||
} else {
|
||||
initFirePointDamageEffectAll();
|
||||
}
|
||||
}
|
||||
|
||||
if (checkModeFlg(0x4000000)) {
|
||||
if (checkWolf()) {
|
||||
setWolfHeadDamage();
|
||||
} else if (!armor_no_dmg) {
|
||||
voiceStart(Z2SE_AL_V_DAMAGE_S);
|
||||
seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL);
|
||||
}
|
||||
} else if (at_mtrl == dCcD_MTRL_UNK_5 && !checkSpecialHorseRide()) {
|
||||
return procCoElecDamageInit(var_r29->GetTgHitAc(), var_r29, at_spl);
|
||||
} else if (checkReinRide()) {
|
||||
if (at_mtrl == dCcD_MTRL_UNK_5) {
|
||||
return procCoLargeDamageInit(-1, 1, 0, 0, var_r29, 0);
|
||||
}
|
||||
|
||||
if (!checkBoarSingleBattle() && (mProcID == PROC_HORSE_HANG || mProcID == PROC_BOAR_RUN || mProcID == PROC_HORSE_RUN || checkLargeAttack(at_spl) || checkHugeAttack(at_spl))) {
|
||||
setHorseZeldaDamage();
|
||||
procCoLargeDamageInit(-1, 1, 0, 0, var_r29, 0);
|
||||
onModeFlg(0x2000);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (!armor_no_dmg) {
|
||||
if (checkHorseNotDamageReaction()) {
|
||||
voiceStart(Z2SE_AL_V_DAMAGE_S);
|
||||
seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL);
|
||||
} else if (at_spl == 8 || checkHorseZelda()) {
|
||||
return procHorseDamageInit(var_r29);
|
||||
} else {
|
||||
return procHorseHangInit(var_r29, 1);
|
||||
}
|
||||
}
|
||||
} else if (checkModeFlg(0x40000)) {
|
||||
if (checkWolf()) {
|
||||
setWolfHeadDamage();
|
||||
} else if (!armor_no_dmg) {
|
||||
return procSwimDamageInit(var_r29);
|
||||
}
|
||||
} else if (dmg == 0 && !checkWolf() && (at_spl == 10 || at_spl == 11 || at_spl == 9) && mLinkAcch.i_ChkGroundHit() && !checkModeFlg(0x70C52)) {
|
||||
return procGuardBreakInit();
|
||||
} else if (checkHugeAttack(at_spl)) {
|
||||
return procCoLargeDamageInit(-1, 0, 0, 0, var_r29, 0);
|
||||
} else if (checkModeFlg(0x70C52) || checkLargeAttack(at_spl)) {
|
||||
if (checkModeFlg(0x10000) && !checkLargeAttack(at_spl)) {
|
||||
voiceStart(Z2SE_AL_V_DAMAGE_S);
|
||||
seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL);
|
||||
procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation);
|
||||
onModeFlg(8);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (at_spl == 8 && (mProcID == PROC_WOLF_ROPE_MOVE || mProcID == PROC_WOLF_ROPE_SUBJECTIVITY || mProcID == PROC_WOLF_ROPE_STAGGER)) {
|
||||
cXyz* sp14 = getDamageVec(var_r29);
|
||||
if ((s16)(sp14->atan2sX_Z() - shape_angle.y) >= 0) {
|
||||
return procWolfRopeHangInit(2);
|
||||
}
|
||||
return procWolfRopeHangInit(3);
|
||||
}
|
||||
|
||||
return procCoLargeDamageInit(-1, 1, 0, 0, var_r29, 0);
|
||||
} else if (!armor_no_dmg || at_mtrl == dCcD_MTRL_ICE) {
|
||||
if (checkDashAnime() && at_mtrl != dCcD_MTRL_ICE) {
|
||||
setDashDamage();
|
||||
} else if (mProcID == PROC_WOLF_MOVE && at_mtrl != dCcD_MTRL_ICE && mNormalSpeed > field_0x594 * 0.7f) {
|
||||
setWolfHeadDamage();
|
||||
} else if (checkWolf()) {
|
||||
return procWolfDamageInit(var_r29);
|
||||
} else {
|
||||
return procDamageInit(var_r29, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (checkHorseRide()) {
|
||||
daHorse_c* horsep = dComIfGp_getHorseActor();
|
||||
if (horsep->checkCowHit() != 0) {
|
||||
current.angle.y = horsep->getCowHitAngle();
|
||||
|
||||
if (checkBoarSingleBattle()) {
|
||||
dComIfGp_getVibration().StartShock(8, 0x1F, cXyz(0.0f, 1.0f, 0.0f));
|
||||
return procCoLargeDamageInit(-1, 0, 0, 0, NULL, 0);
|
||||
}
|
||||
|
||||
dComIfGp_getVibration().StartShock(4, 0x1F, cXyz(0.0f, 1.0f, 0.0f));
|
||||
return procCoLargeDamageInit(-1, 1, 0, 0, NULL, 0);
|
||||
}
|
||||
}
|
||||
|
||||
field_0x814.ClrTg();
|
||||
field_0x814.ClrAt();
|
||||
return checkWolfBarrierHitReverse();
|
||||
}
|
||||
|
||||
/* 800D8F3C-800D9514 0D387C 05D8+00 2/2 0/0 0/0 .text procDamageInit__9daAlink_cFP12dCcD_GObjInfi
|
||||
*/
|
||||
// NONMATCHING - cLib_minMaxLimit appears to have issues when using s16
|
||||
int daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) {
|
||||
// NONMATCHING
|
||||
BOOL freeze_player;
|
||||
|
||||
if (!param_1 && (param_0 == NULL || (param_0->GetTgHitGObj() != NULL && param_0->GetTgHitGObj()->GetAtMtrl() == dCcD_MTRL_ICE))) {
|
||||
freeze_player = true;
|
||||
voiceStart(Z2SE_AL_V_DAMAGE_FREEZE);
|
||||
seStartOnlyReverb(Z2SE_AL_FREEZE);
|
||||
} else {
|
||||
seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL);
|
||||
freeze_player = false;
|
||||
|
||||
if (!param_1) {
|
||||
voiceStart(Z2SE_AL_V_DAMAGE_S);
|
||||
}
|
||||
}
|
||||
|
||||
if (checkIronBallWaitAnime() && !freeze_player && !param_1) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
commonProcInit(PROC_DAMAGE);
|
||||
|
||||
cXyz sp7C;
|
||||
f32 var_f31;
|
||||
f32 var_f30 = cM_ssin(shape_angle.y);
|
||||
f32 var_f29 = cM_scos(shape_angle.y);
|
||||
|
||||
cXyz* var_r29;
|
||||
if (param_0 != NULL) {
|
||||
var_r29 = getDamageVec(param_0);
|
||||
} else if (param_1) {
|
||||
s16 var_r24 = field_0x3102 + 0x8000;
|
||||
sp7C.set(cM_ssin(var_r24), 0.0f, cM_scos(var_r24));
|
||||
var_r29 = &sp7C;
|
||||
offModeFlg(8);
|
||||
} else {
|
||||
sp7C.set(cM_ssin(field_0x311e), 0.0f, cM_scos(field_0x311e));
|
||||
var_r29 = &sp7C;
|
||||
}
|
||||
|
||||
cXyz sp88(var_r29->z * -var_f30 + var_r29->x * var_f29,
|
||||
var_r29->y,
|
||||
var_r29->z * var_f29 + var_r29->x * var_f30);
|
||||
|
||||
mProcVar2.field_0x300c = cLib_minMaxLimit<s16>(cM_atan2s(sp88.z, sp88.y), -daAlinkHIO_damNormal_c0::m.field_0x50, daAlinkHIO_damNormal_c0::m.field_0x50);
|
||||
mProcVar3.field_0x300e.x = cLib_minMaxLimit<s16>(cM_atan2s(sp88.x, -JMAFastSqrt(sp88.y * sp88.y + sp88.z * sp88.z)), -daAlinkHIO_damNormal_c0::m.field_0x52, daAlinkHIO_damNormal_c0::m.field_0x52);
|
||||
|
||||
if (freeze_player) {
|
||||
var_f31 = 0.0f;
|
||||
} else if (mTargetedActor != NULL) {
|
||||
var_f31 = daAlinkHIO_atnMove_c0::m.mWaitAnmSpeed;
|
||||
} else {
|
||||
var_f31 = daAlinkHIO_noActAtnMove_c0::m.mWaitAnmSpeed;
|
||||
}
|
||||
|
||||
if (checkAtnLeftAnime()) {
|
||||
setUnderAnime(0x1A, UNDER_2, var_f31, 0.0f, -1, -1.0f);
|
||||
} else if (checkAtnRightAnime()) {
|
||||
setUnderAnime(0x1C, UNDER_2, var_f31, 0.0f, -1, -1.0f);
|
||||
}
|
||||
|
||||
int direction = getDirectionFromAngle(cM_atan2s(-sp88.x, -sp88.z));
|
||||
if (direction == DIR_FORWARD) {
|
||||
setSingleAnimeParam(ANM_DMG_SMALL_A, &daAlinkHIO_damNormal_c0::m.field_0x0);
|
||||
field_0x3478 = daAlinkHIO_damNormal_c0::m.field_0x0.mCheckFrame;
|
||||
} else if (direction == DIR_BACKWARD) {
|
||||
setSingleAnimeParam(ANM_DMG_SMALL_B, &daAlinkHIO_damNormal_c0::m.field_0x14);
|
||||
field_0x3478 = daAlinkHIO_damNormal_c0::m.field_0x14.mCheckFrame;
|
||||
} else if (direction == DIR_LEFT) {
|
||||
setSingleAnimeParam(ANM_DMG_SMALL_LEFT, &daAlinkHIO_damNormal_c0::m.field_0x28);
|
||||
field_0x3478 = daAlinkHIO_damNormal_c0::m.field_0x28.mCheckFrame;
|
||||
} else {
|
||||
setSingleAnimeParam(ANM_DMG_SMALL_RIGHT, &daAlinkHIO_damNormal_c0::m.field_0x3C);
|
||||
field_0x3478 = daAlinkHIO_damNormal_c0::m.field_0x3C.mCheckFrame;
|
||||
}
|
||||
|
||||
current.angle.y = var_r29->atan2sX_Z();
|
||||
mProcVar3.field_0x300e.y = current.angle.y;
|
||||
|
||||
mNormalSpeed = var_r29->absXZ() * daAlinkHIO_damNormal_c0::m.field_0x58 + daAlinkHIO_damNormal_c0::m.field_0x54;
|
||||
if (mNormalSpeed > daAlinkHIO_move_c0::m.mMaxSpeed) {
|
||||
mNormalSpeed = daAlinkHIO_move_c0::m.mMaxSpeed;
|
||||
}
|
||||
|
||||
daPy_frameCtrl_c* frame_ctrl = mUnderFrameCtrl;
|
||||
field_0x347c = M_PI / (frame_ctrl->getEnd() - frame_ctrl->getStart());
|
||||
|
||||
if (freeze_player) {
|
||||
frame_ctrl->setRate(daAlinkHIO_damNormal_c0::m.field_0x60);
|
||||
frame_ctrl->setEnd(7);
|
||||
mNormalSpeed = 0.0f;
|
||||
mProcVar0.mIceFreezeTimer = 90;
|
||||
onNoResetFlg1(FLG1_ICE_FREEZE);
|
||||
} else {
|
||||
mProcVar0.mIceFreezeTimer = 0;
|
||||
}
|
||||
|
||||
mProcVar1.field_0x300a = 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 800D9514-800D96DC 0D3E54 01C8+00 1/0 0/0 0/0 .text procDamage__9daAlink_cFv */
|
||||
int daAlink_c::procDamage() {
|
||||
// NONMATCHING
|
||||
daPy_frameCtrl_c* frame_ctrl = mUnderFrameCtrl;
|
||||
f32 var_f30 = frame_ctrl->getFrame() - frame_ctrl->getStart();
|
||||
f32 var_f31 = cM_fsin(field_0x347c * var_f30);
|
||||
|
||||
mBodyAngle.x = mProcVar2.field_0x300c * var_f31;
|
||||
mBodyAngle.z = -mProcVar3.field_0x300e.x * var_f31;
|
||||
mBodyAngle.y = 0;
|
||||
|
||||
cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_damNormal_c0::m.field_0x5C);
|
||||
|
||||
if (checkFreezeDamage()) {
|
||||
freezeTimerDamage();
|
||||
}
|
||||
|
||||
if (checkAnmEnd(frame_ctrl)) {
|
||||
current.angle.y = shape_angle.y;
|
||||
|
||||
if (!checkFreezeDamage()) {
|
||||
checkNextAction(0);
|
||||
} else if (mProcVar0.mIceFreezeTimer == 0) {
|
||||
seStartOnlyReverb(Z2SE_AL_FREEZE_RECOVER);
|
||||
procStEscapeInit();
|
||||
onModeFlg(8);
|
||||
}
|
||||
} else if (frame_ctrl->getFrame() > field_0x3478) {
|
||||
current.angle.y = shape_angle.y;
|
||||
onModeFlg(4);
|
||||
|
||||
if (!checkNextAction(1)) {
|
||||
current.angle.y = mProcVar3.field_0x300e.y;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 800D96DC-800D9E88 0D401C 07AC+00 12/12 0/0 0/0 .text
|
||||
@@ -454,9 +1051,8 @@ int daAlink_c::procStEscapeInit() {
|
||||
commonProcInit(PROC_HUMAN_ST_ESCAPE);
|
||||
setSingleAnimeParam(ANM_FROZEN_FREE, &daAlinkHIO_damCaught_c0::m.field_0x0);
|
||||
|
||||
f32 tmp_7 = 7.0f;
|
||||
mUnderFrameCtrl[0].setFrame(tmp_7);
|
||||
getNowAnmPackUnder(UNDER_0)->setFrame(tmp_7);
|
||||
mUnderFrameCtrl[0].setFrame(7.0f);
|
||||
getNowAnmPackUnder(UNDER_0)->setFrame(7.0f);
|
||||
mNormalSpeed = 0.0f;
|
||||
|
||||
return 1;
|
||||
@@ -561,8 +1157,76 @@ int daAlink_c::procCoSandWallHit() {
|
||||
|
||||
/* 800DBED8-800DC214 0D6818 033C+00 1/1 0/0 0/0 .text procCoLavaReturnInit__9daAlink_cFi
|
||||
*/
|
||||
int daAlink_c::procCoLavaReturnInit(int param_0) {
|
||||
// NONMATCHING
|
||||
int daAlink_c::procCoLavaReturnInit(BOOL i_sandReturn) {
|
||||
if (!dComIfGp_event_compulsory(this, 0, 0xFFFF)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
mDemo.setSpecialDemoType();
|
||||
u32 chk_40 = checkModeFlg(0x40);
|
||||
|
||||
if (!commonProcInitNotSameProc(PROC_LAVA_RETURN)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (chk_40) {
|
||||
current.pos.x = field_0x3834.x;
|
||||
current.pos.z = field_0x3834.z;
|
||||
}
|
||||
|
||||
onNoResetFlg0(FLG0_SWIM_UP);
|
||||
|
||||
if (checkWolf()) {
|
||||
setSingleAnimeWolfBase(WANM_SWIM_DROWN);
|
||||
setFaceBasicTexture(FTANM_UNK_9E);
|
||||
|
||||
if (i_sandReturn) {
|
||||
voiceStart(Z2SE_WL_V_FALL_QUICKSAND);
|
||||
} else {
|
||||
voiceStart(Z2SE_WL_V_FALL_MAGMA);
|
||||
}
|
||||
} else {
|
||||
setSingleAnimeBase(ANM_SWIM_DROWN);
|
||||
|
||||
if (mEquipItem == 0x103) {
|
||||
field_0x2f92 = 100;
|
||||
}
|
||||
|
||||
if (i_sandReturn) {
|
||||
voiceStart(Z2SE_AL_V_FALL_QUICKSAND);
|
||||
} else {
|
||||
voiceStart(Z2SE_AL_V_FALL_MAGMA);
|
||||
}
|
||||
}
|
||||
|
||||
if (i_sandReturn) {
|
||||
seStartOnlyReverb(Z2SE_AL_SINK_SAND_PITFALL);
|
||||
field_0x2fbd = 0xFF;
|
||||
offModeFlg(0x40000);
|
||||
|
||||
field_0x2060->getOldFrameTransInfo(0)->mTranslate.y += field_0x3458;
|
||||
mSinkShapeOffset -= field_0x3458;
|
||||
field_0x2f99 = 0;
|
||||
field_0x32cc = 5;
|
||||
field_0x3198 = 4;
|
||||
} else {
|
||||
seStartOnlyReverb(Z2SE_AL_SINK_MAGMA);
|
||||
|
||||
cXyz particle_pos(current.pos.x, mWaterY, current.pos.z);
|
||||
dComIfGp_particle_set(0x8757, &particle_pos, &tevStr, NULL, NULL);
|
||||
dComIfGp_particle_set(0x8758, &particle_pos, &tevStr, NULL, NULL);
|
||||
field_0x32cc = 4;
|
||||
field_0x3198 = 8;
|
||||
}
|
||||
|
||||
field_0x3080 = 0;
|
||||
mDamageTimer = 0;
|
||||
mNormalSpeed = 0.0f;
|
||||
field_0x3194 = 1;
|
||||
|
||||
u32 id = fopAcM_GetID(this);
|
||||
dCam_getBody()->StartEventCamera(9, id, "Type", 1, &field_0x3194, 0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 800DC214-800DC278 0D6B54 0064+00 1/0 0/0 0/0 .text procCoLavaReturn__9daAlink_cFv */
|
||||
@@ -618,7 +1282,7 @@ int daAlink_c::procCoSwimFreezeReturnInit() {
|
||||
field_0x3080 = 0;
|
||||
mDamageTimer = 0;
|
||||
mNormalSpeed = 0.0f;
|
||||
onNoResetFlg1(FLG1_UNK_40000000);
|
||||
onNoResetFlg1(FLG1_ICE_FREEZE);
|
||||
field_0x3194 = 1;
|
||||
|
||||
u32 id = fopAcM_GetID(this);
|
||||
@@ -631,7 +1295,7 @@ int daAlink_c::procCoSwimFreezeReturnInit() {
|
||||
int daAlink_c::procCoSwimFreezeReturn() {
|
||||
if (mProcVar2.field_0x300c == 0) {
|
||||
if (checkRestartDead(4, 1)) {
|
||||
onNoResetFlg1(FLG1_UNK_40000000);
|
||||
onNoResetFlg1(FLG1_ICE_FREEZE);
|
||||
} else {
|
||||
u32 mode = 4;
|
||||
setLastSceneDamage(4, &mode);
|
||||
|
||||
@@ -199,7 +199,7 @@ int daAlink_c::checkDemoAction() {
|
||||
if (!checkCanoeRide()) {
|
||||
daCanoe_c* canoe_p =
|
||||
(daCanoe_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchCanoe, NULL);
|
||||
unsigned int rodID =
|
||||
fpc_ProcID rodID =
|
||||
fopAcM_create(PROC_MG_ROD, 0xD, &mLeftHandPos, -1, NULL, NULL, -1);
|
||||
canoe_p->onRodID(rodID);
|
||||
return procCanoeJumpRideInit(NULL);
|
||||
|
||||
@@ -91,7 +91,7 @@ void daAlink_c::stickArrowIncrement(int param_0) {
|
||||
/* 800DC8C4-800DCA2C 0D7204 0168+00 0/0 0/0 1/1 .text
|
||||
* setArrowShieldActor__9daAlink_cFP10fopAc_ac_ci */
|
||||
void daAlink_c::setArrowShieldActor(fopAc_ac_c* i_actor, int param_1) {
|
||||
unsigned int new_arrow_id = fopAcM_GetID(i_actor);
|
||||
fpc_ProcID new_arrow_id = fopAcM_GetID(i_actor);
|
||||
|
||||
int arrow_num = 0;
|
||||
for (; arrow_num < 16; arrow_num++) {
|
||||
@@ -309,4 +309,4 @@ int daAlink_c::procTurnMoveInit(int param_0) {
|
||||
/* 800DE380-800DE64C 0D8CC0 02CC+00 1/0 0/0 0/0 .text procTurnMove__9daAlink_cFv */
|
||||
int daAlink_c::procTurnMove() {
|
||||
// NONMATCHING
|
||||
}
|
||||
}
|
||||
|
||||
@@ -190,7 +190,7 @@ void daAlink_c::setHookshotCatchNow() {
|
||||
|
||||
/* 80108A90-80108B34 1033D0 00A4+00 1/0 0/0 0/0 .text setHookshotCarryOffset__9daAlink_cFUiPC4cXyz
|
||||
*/
|
||||
bool daAlink_c::setHookshotCarryOffset(unsigned int i_carryActorID, cXyz const* i_posOffset) {
|
||||
bool daAlink_c::setHookshotCarryOffset(fpc_ProcID i_carryActorID, cXyz const* i_posOffset) {
|
||||
if (dComIfGp_checkPlayerStatus1(0, 0x10000)) {
|
||||
fopAc_ac_c* carryActor_p = mCargoCarryAcKeep.getActor();
|
||||
|
||||
|
||||
+494
-513
File diff suppressed because it is too large
Load Diff
@@ -1733,7 +1733,7 @@ void daMyna_c::attack2_talk_move() {
|
||||
}
|
||||
|
||||
/* 809487EC-80948828 002C6C 003C+00 0/0 0/0 2/2 .text soldoutItem__8daMyna_cFUi */
|
||||
void daMyna_c::soldoutItem(unsigned int i_itemId) {
|
||||
void daMyna_c::soldoutItem(fpc_ProcID i_itemId) {
|
||||
for (int i = 0; i < mNumShopItems; i++) {
|
||||
if (i_itemId == mShopItems[i].mTargetActorID) {
|
||||
mShopItems[i].mItemStatus = 3;
|
||||
@@ -1968,7 +1968,7 @@ void daMyna_c::deleteItem(int i_itemIndex) {
|
||||
/* 80949144-80949190 0035C4 004C+00 0/0 0/0 0/0 .text deleteItem__8daMyna_cFUi */
|
||||
// Nonmatching, no clue what's going on here
|
||||
#ifdef NONMATCHING
|
||||
void daMyna_c::deleteItem(unsigned int i_itemId) {
|
||||
void daMyna_c::deleteItem(fpc_ProcID i_itemId) {
|
||||
for (int i = 0; i < mNumShopItems; i++) {
|
||||
if (i_itemId == mShopItems[i].mTargetActorID) {
|
||||
mShopItems[i].mTargetActorID = -1;
|
||||
@@ -1977,7 +1977,7 @@ void daMyna_c::deleteItem(unsigned int i_itemId) {
|
||||
}
|
||||
}
|
||||
#else
|
||||
void daMyna_c::deleteItem(unsigned int param_0) {
|
||||
void daMyna_c::deleteItem(fpc_ProcID param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
@@ -2884,4 +2884,4 @@ static u8 data_8094BB2C[4];
|
||||
static u8 data_8094BB30[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8094B24C-8094B24C 00009C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 8094B24C-8094B24C 00009C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
+3
-3
@@ -18,7 +18,7 @@ void cBgS_ChkElm::Init() {
|
||||
}
|
||||
|
||||
/* 80074110-80074128 06EA50 0018+00 1/0 0/0 0/0 .text Regist2__11cBgS_ChkElmFP9dBgW_BaseUiPv */
|
||||
void cBgS_ChkElm::Regist2(dBgW_Base* p_data, unsigned int actor_id, void* p_actor) {
|
||||
void cBgS_ChkElm::Regist2(dBgW_Base* p_data, fpc_ProcID actor_id, void* p_actor) {
|
||||
m_used = true;
|
||||
m_bgw_base_ptr = p_data;
|
||||
m_actor_id = actor_id;
|
||||
@@ -38,7 +38,7 @@ void cBgS_ChkElm::Release() {
|
||||
static int l_SetCounter;
|
||||
|
||||
/* 80074144-80074250 06EA84 010C+00 1/1 0/0 0/0 .text Regist__4cBgSFP9dBgW_BaseUiPv */
|
||||
bool cBgS::Regist(dBgW_Base* p_data, unsigned int actor_id, void* p_actor) {
|
||||
bool cBgS::Regist(dBgW_Base* p_data, fpc_ProcID actor_id, void* p_actor) {
|
||||
if (p_data == NULL) {
|
||||
return true;
|
||||
} else if (p_data->ChkUsed()) {
|
||||
@@ -907,4 +907,4 @@ f32 dBgS_GetNY(cBgS_PolyInfo const& poly) {
|
||||
|
||||
dComIfG_Bgsp().GetTriPla(poly, &pla);
|
||||
return pla.mNormal.y;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -589,7 +589,7 @@ f32 dBgS_Acch::GetWallAddY(Vec& param_0) {
|
||||
|
||||
/* 80077278-80077288 071BB8 0010+00 0/0 2/2 0/0 .text SetNowActorInfo__9dBgS_AcchFiPvUi
|
||||
*/
|
||||
void dBgS_Acch::SetNowActorInfo(int bg_index, void* param_1, unsigned int param_2) {
|
||||
void dBgS_Acch::SetNowActorInfo(int bg_index, void* param_1, fpc_ProcID param_2) {
|
||||
m_bg_index = bg_index;
|
||||
field_0x7c = param_1;
|
||||
field_0x80 = param_2;
|
||||
@@ -660,4 +660,4 @@ bool dBgS_Acch::ChkLineDown() {
|
||||
return m_flags & LINE_DOWN;
|
||||
}
|
||||
|
||||
#pragma nosyminline on
|
||||
#pragma nosyminline on
|
||||
|
||||
+2
-2
@@ -4294,7 +4294,7 @@ void dCamera_c::ForceLockOn(fopAc_ac_c* param_0) {
|
||||
}
|
||||
|
||||
/* 80181560-8018159C 17BEA0 003C+00 1/1 0/0 0/0 .text ForceLockOff__9dCamera_cFUi */
|
||||
void dCamera_c::ForceLockOff(unsigned int param_0) {
|
||||
void dCamera_c::ForceLockOff(fpc_ProcID param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
@@ -5034,4 +5034,4 @@ extern "C" void checkEndMessage__12daTagMwait_cFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80393F68-80393F68 0205C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 80393F68-80393F68 0205C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
+2
-2
@@ -26,7 +26,7 @@ void dCcD_GAtTgCoCommonBase::ct() {
|
||||
}
|
||||
|
||||
/* 80083678-80083688 07DFB8 0010+00 0/0 2/2 0/0 .text SetHitApid__22dCcD_GAtTgCoCommonBaseFUi */
|
||||
void dCcD_GAtTgCoCommonBase::SetHitApid(unsigned int hitApid) {
|
||||
void dCcD_GAtTgCoCommonBase::SetHitApid(fpc_ProcID hitApid) {
|
||||
mApid = hitApid;
|
||||
mAc = NULL;
|
||||
}
|
||||
@@ -461,4 +461,4 @@ void dCcD_Sph::MoveCAt(cXyz& pos) {
|
||||
|
||||
cCcD_ShapeAttr* dCcD_Sph::GetShapeAttr() {
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -956,7 +956,7 @@ void dComIfG_inf_c::ct() {
|
||||
play.ct();
|
||||
mWorldDark = 0;
|
||||
field_0x1ddfa = -1;
|
||||
field_0x1ddfb = 0;
|
||||
mPolyDamageOff = false;
|
||||
field_0x1de00 = 0;
|
||||
field_0x1de04 = 0;
|
||||
field_0x1de08 = 0;
|
||||
@@ -2245,12 +2245,12 @@ BOOL dComIfGs_Wolf_Change_Check() {
|
||||
return is_wolf;
|
||||
}
|
||||
|
||||
void dComIfGs_PolyDamageOff_Set(s8 param_0) {
|
||||
g_dComIfG_gameInfo.field_0x1ddfb = param_0;
|
||||
void dComIfGs_PolyDamageOff_Set(s8 i_setting) {
|
||||
g_dComIfG_gameInfo.mPolyDamageOff = i_setting;
|
||||
}
|
||||
|
||||
u8 dComIfGs_PolyDamageOff_Check() {
|
||||
return g_dComIfG_gameInfo.field_0x1ddfb;
|
||||
s8 dComIfGs_PolyDamageOff_Check() {
|
||||
return g_dComIfG_gameInfo.mPolyDamageOff;
|
||||
}
|
||||
|
||||
void dComIfGs_shake_kandelaar() {
|
||||
@@ -2370,4 +2370,4 @@ u8 dComIfGs_staffroll_next_go_check() {
|
||||
GXColor g_whiteColor = {255, 255, 255, 255};
|
||||
|
||||
/* 8045060C-80450610 00008C 0004+00 0/0 3/3 3/3 .sdata g_saftyWhiteColor */
|
||||
GXColor g_saftyWhiteColor = {160, 160, 160, 255};
|
||||
GXColor g_saftyWhiteColor = {160, 160, 160, 255};
|
||||
|
||||
+3
-3
@@ -1080,7 +1080,7 @@ u32 dEvt_control_c::getPId(void* actor) {
|
||||
}
|
||||
|
||||
/* 800432EC-8004331C 03DC2C 0030+00 7/7 13/13 16/16 .text convPId__14dEvt_control_cFUi */
|
||||
fopAc_ac_c* dEvt_control_c::convPId(unsigned int id) {
|
||||
fopAc_ac_c* dEvt_control_c::convPId(fpc_ProcID id) {
|
||||
return (fopAc_ac_c*)fopAcIt_Judge(fpcSch_JudgeByID, &id);
|
||||
}
|
||||
|
||||
@@ -1207,7 +1207,7 @@ void dEvt_control_c::setPtI(void* ptr) {
|
||||
mPtI = getPId(ptr);
|
||||
}
|
||||
|
||||
void dEvt_control_c::setPtI_Id(unsigned int id) {
|
||||
void dEvt_control_c::setPtI_Id(fpc_ProcID id) {
|
||||
mPtI = id;
|
||||
}
|
||||
|
||||
@@ -1220,4 +1220,4 @@ void dEvt_control_c::setGtItm(u8 itemNo) {
|
||||
}
|
||||
|
||||
/* 80379DC6-80379DD0 006426 0008+02 0/0 0/0 0/0 .rodata None */
|
||||
static char const* const stringBase_80379DC6 = "GIVEMAN";
|
||||
static char const* const stringBase_80379DC6 = "GIVEMAN";
|
||||
|
||||
@@ -958,7 +958,7 @@ s32 d_GameOver_Create(u8 i_gameoverType) {
|
||||
}
|
||||
|
||||
/* 8019C008-8019C06C 196948 0064+00 0/0 1/1 0/0 .text d_GameOver_Delete__FRUi */
|
||||
bool d_GameOver_Delete(unsigned int& i_id) {
|
||||
bool d_GameOver_Delete(fpc_ProcID& i_id) {
|
||||
if (i_id != UINT32_MAX) {
|
||||
fopMsgM_Delete(fopMsgM_SearchByID(i_id));
|
||||
i_id = -1;
|
||||
@@ -996,4 +996,4 @@ extern "C" void __dt__12dMenu_save_cFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80394C28-80394C28 021288 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 80394C28-80394C28 021288 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
+2
-2
@@ -4888,7 +4888,7 @@ static void dKy_Sound_init() {
|
||||
}
|
||||
|
||||
/* 801A81C0-801A8474 1A2B00 02B4+00 0/0 5/5 27/27 .text dKy_Sound_set__F4cXyziUii */
|
||||
void dKy_Sound_set(cXyz i_pos, int param_1, unsigned int i_actorID, int param_3) {
|
||||
void dKy_Sound_set(cXyz i_pos, int param_1, fpc_ProcID i_actorID, int param_3) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
@@ -6259,4 +6259,4 @@ void dKy_bg_MAxx_proc(void* param_0) {
|
||||
// dScnKy_env_light_c::~dScnKy_env_light_c() {
|
||||
extern "C" void __dt__18dScnKy_env_light_cFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2888,7 +2888,7 @@ void* dMsgObject_c::getMsgDtPtr() {
|
||||
}
|
||||
|
||||
/* 80238188-8023819C 232AC8 0014+00 0/0 0/0 1/1 .text setProcessID__12dMsgObject_cFUi */
|
||||
void dMsgObject_c::setProcessID(unsigned int id) {
|
||||
void dMsgObject_c::setProcessID(fpc_ProcID id) {
|
||||
dMsgObject_getMsgObjectClass()->setProcessIDLocal(id);
|
||||
}
|
||||
|
||||
@@ -3263,4 +3263,4 @@ extern "C" void setActorPos__19jmessage_tReferenceF4cXyz() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80399660-80399660 025CC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 80399660-80399660 025CC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
+3
-3
@@ -121,7 +121,7 @@ static int deleteJugge(void* i_obj, void*) {
|
||||
}
|
||||
|
||||
/* 8025B174-8025B194 255AB4 0020+00 1/1 0/0 0/0 .text isCreatingCallback__FP10create_tagPUi */
|
||||
static void* isCreatingCallback(create_tag* param_1, unsigned int* param_2) {
|
||||
static void* isCreatingCallback(create_tag* param_1, fpc_ProcID* param_2) {
|
||||
void* tagData = param_1->mBase.mpTagData;
|
||||
if (*(*((int**)tagData + 0x11) + 3) == *param_2) {
|
||||
return tagData;
|
||||
@@ -130,7 +130,7 @@ static void* isCreatingCallback(create_tag* param_1, unsigned int* param_2) {
|
||||
}
|
||||
|
||||
/* 8025B194-8025B1D0 255AD4 003C+00 2/2 0/0 0/0 .text isCreating__FUi */
|
||||
static bool isCreating(unsigned int param_0) {
|
||||
static bool isCreating(fpc_ProcID param_0) {
|
||||
return fpcCtIt_Judge((fpcCtIt_JudgeFunc)isCreatingCallback, ¶m_0);
|
||||
}
|
||||
|
||||
@@ -445,4 +445,4 @@ scene_process_profile_definition g_profile_ROOM_SCENE = {
|
||||
0, // mParameters
|
||||
&g_fopScn_Method.mBase, // sub_method
|
||||
(process_method_class*)&l_dScnRoom_Method, // mpMtd
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user