Skip to content

Commit 1e4148e

Browse files
committed
Get rid of pragmas by placing state declarations later
1 parent e507801 commit 1e4148e

4 files changed

Lines changed: 88 additions & 103 deletions

File tree

include/game/bases/d_a_player_base.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1040,7 +1040,7 @@ class daPlBase_c : public dActor_c {
10401040
u32 mStatusFlags[7];
10411041
float mSomeYOffset;
10421042
u8 m_ca0;
1043-
u8 m_ca1;
1043+
u8 mAmiLayer;
10441044
u8 mPlayerLayer;
10451045
mVec3_c mLastPosDelta;
10461046
mVec3_c mLiftRelatedPos;

source/dol/bases/d_a_player.cpp

Lines changed: 72 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -24,60 +24,6 @@
2424

2525
const float dAcPy_c::msc_JUMP_SPEED = daPlBase_c::sc_JumpSpeed;
2626

27-
STATE_VIRTUAL_DEFINE(dAcPy_c, Walk);
28-
STATE_VIRTUAL_DEFINE(dAcPy_c, Jump);
29-
STATE_VIRTUAL_DEFINE(dAcPy_c, Fall);
30-
STATE_VIRTUAL_DEFINE(dAcPy_c, Land);
31-
STATE_VIRTUAL_DEFINE(dAcPy_c, Crouch);
32-
STATE_VIRTUAL_DEFINE(dAcPy_c, SitJump);
33-
STATE_VIRTUAL_DEFINE(dAcPy_c, Slip);
34-
STATE_VIRTUAL_DEFINE(dAcPy_c, Turn);
35-
STATE_VIRTUAL_DEFINE(dAcPy_c, HipAttack);
36-
STATE_VIRTUAL_DEFINE(dAcPy_c, Swim);
37-
STATE_VIRTUAL_DEFINE(dAcPy_c, Kani);
38-
STATE_VIRTUAL_DEFINE(dAcPy_c, Cloud);
39-
40-
STATE_DEFINE(dAcPy_c, RideOffJump);
41-
STATE_DEFINE(dAcPy_c, SpinHipAttack);
42-
STATE_DEFINE(dAcPy_c, RollSlip);
43-
STATE_DEFINE(dAcPy_c, Vine);
44-
STATE_DEFINE(dAcPy_c, Hang);
45-
STATE_DEFINE(dAcPy_c, Pole);
46-
STATE_DEFINE(dAcPy_c, Fire);
47-
STATE_DEFINE(dAcPy_c, LiftUp);
48-
STATE_DEFINE(dAcPy_c, Throw);
49-
STATE_DEFINE(dAcPy_c, PropelThrow);
50-
STATE_DEFINE(dAcPy_c, WallJump);
51-
STATE_DEFINE(dAcPy_c, WallSlide);
52-
STATE_DEFINE(dAcPy_c, Propel);
53-
STATE_DEFINE(dAcPy_c, CarryPlayer);
54-
STATE_DEFINE(dAcPy_c, RideYoshi);
55-
STATE_DEFINE(dAcPy_c, SpinJump);
56-
STATE_DEFINE(dAcPy_c, PenguinSlide);
57-
STATE_DEFINE(dAcPy_c, KaniJump);
58-
STATE_DEFINE(dAcPy_c, Quake);
59-
STATE_DEFINE(dAcPy_c, ElecShock);
60-
STATE_DEFINE(dAcPy_c, FlyDamage);
61-
STATE_DEFINE(dAcPy_c, IceDamage);
62-
STATE_DEFINE(dAcPy_c, CannonJump);
63-
STATE_DEFINE(dAcPy_c, TarzanRope);
64-
STATE_DEFINE(dAcPy_c, PlayerEat);
65-
STATE_DEFINE(dAcPy_c, Balloon);
66-
STATE_DEFINE(dAcPy_c, BlockJump);
67-
STATE_DEFINE(dAcPy_c, JrCrown);
68-
69-
STATE_VIRTUAL_DEFINE(dAcPy_c, DemoDown);
70-
STATE_DEFINE(dAcPy_c, DemoInDoor);
71-
STATE_DEFINE(dAcPy_c, DemoInJump);
72-
STATE_DEFINE(dAcPy_c, DemoInVine);
73-
STATE_DEFINE(dAcPy_c, DemoOutDoor);
74-
STATE_DEFINE(dAcPy_c, DemoFallDown);
75-
STATE_DEFINE(dAcPy_c, DemoFireDown);
76-
STATE_DEFINE(dAcPy_c, DemoEatDie);
77-
STATE_DEFINE(dAcPy_c, DemoDokanCannon);
78-
STATE_DEFINE(dAcPy_c, DemoCannonWarp);
79-
// STATE_VIRTUAL_DEFINE(dAcPy_c, DemoStartWait); // [TODO: intentionally left out?]
80-
8127
inline float getSomeData(int idx) {
8228
return dAcPy_c::data_802f5a0c[idx];
8329
}
@@ -189,8 +135,6 @@ void dAcPy_c::initializeState_SpinHipAttack() {
189135
setScrollMode(2);
190136
}
191137

192-
#pragma push
193-
#pragma pool_data off
194138
void dAcPy_c::executeState_SpinHipAttack() {
195139
offStatus(STATUS_SPIN_HIP_ATTACK_LANDING);
196140
if (isStatus(STATUS_SPIN_HIP_ATTACK_FALL)) {
@@ -278,7 +222,6 @@ void dAcPy_c::executeState_SpinHipAttack() {
278222
mPos.y = mPressAttachPos.y;
279223
}
280224
}
281-
#pragma pop
282225

283226
void dAcPy_c::finalizeState_SpinHipAttack() {
284227
m_2e8 = 0;
@@ -849,8 +792,6 @@ void dAcPy_c::setWallSlideEffect() {
849792
dEf::createPlayerEffect(mPlayerNo, &mSmokeEffect, sc_wallSlidEffectID[idx], 0, &jnt, nullptr, nullptr);
850793
}
851794

852-
#pragma push
853-
#pragma pool_data off
854795
void dAcPy_c::executeState_WallSlide() {
855796
if (isNowBgCross(BGC_IS_FOOT)) {
856797
changeState(StateID_Walk, 0);
@@ -884,7 +825,6 @@ void dAcPy_c::executeState_WallSlide() {
884825
setWallSlideEffect();
885826
mSpeedF = sc_DirSpeed[mDirection];
886827
}
887-
#pragma pop
888828

889829
void dAcPy_c::initializeState_WallJump() {
890830
onStatus(STATUS_97);
@@ -903,10 +843,10 @@ void dAcPy_c::initializeState_WallJump() {
903843
float thing = mWallBcData.mOffset / 4096.0f;
904844
mVec3_c pos(mPos.x - thing * sc_DirSpeed[dir], mPos.y, mPos.z);
905845
mVec3_c pos2(pos.x - sc_DirSpeed[mDirection] * 8.0f, pos.y, pos.z);
906-
if (!dBc_c::checkWall(&mPos, &pos2, nullptr, mLayer, m_ca1, nullptr)) {
846+
if (!dBc_c::checkWall(&mPos, &pos2, nullptr, mLayer, mAmiLayer, nullptr)) {
907847
pos.y += 8.0f;
908848
float f;
909-
if (dBc_c::checkTenjou(&pos2, &f, mLayer, m_ca1) && f < mPos.y + getSomeYOffset()) {
849+
if (dBc_c::checkTenjou(&pos2, &f, mLayer, mAmiLayer) && f < mPos.y + getSomeYOffset()) {
910850
pos.y = f + 8.0f;
911851
}
912852
}
@@ -1982,8 +1922,6 @@ bool dAcPy_c::isWaitFrameCountMax() {
19821922
return mWaitFrameCount >= 80;
19831923
}
19841924

1985-
#pragma push
1986-
#pragma pool_data off
19871925
bool dAcPy_c::checkWalkNextAction() {
19881926
if (checkCarryThrow()) {
19891927
return true;
@@ -2017,7 +1955,6 @@ bool dAcPy_c::checkWalkNextAction() {
20171955
}
20181956
return false;
20191957
}
2020-
#pragma pop
20211958

20221959
void dAcPy_c::setWalkActionAnm(AnmBlend_e blend) {
20231960
float speed = std::fabs(mSpeedF);
@@ -2093,7 +2030,7 @@ void dAcPy_c::setWaitActionAnm(AnmBlend_e blend) {
20932030
mVec3_c p(mPos.x + scSakaCheckOffset[3 + i], mPos.y + 5.0f, mPos.z);
20942031
s16 tmpAng;
20952032
float f;
2096-
if (dBc_c::checkGroundAngle(&p, &f, &tmpAng, mLayer, m_ca1, -1, nullptr, 0) && std::fabs(f - mPos.y) < 8.0f) {
2033+
if (dBc_c::checkGroundAngle(&p, &f, &tmpAng, mLayer, mAmiLayer, -1, nullptr, 0) && std::fabs(f - mPos.y) < 8.0f) {
20972034
count++;
20982035
sum += tmpAng;
20992036
}
@@ -2839,8 +2776,6 @@ bool dAcPy_c::checkEnableThrow() {
28392776
return !mKey.buttonCarry();
28402777
}
28412778

2842-
#pragma push
2843-
#pragma pool_data off
28442779
bool dAcPy_c::checkCarryThrow() {
28452780
if (checkEnableThrow()) {
28462781
if (isState(StateID_Propel)) {
@@ -2853,7 +2788,6 @@ bool dAcPy_c::checkCarryThrow() {
28532788
}
28542789
return false;
28552790
}
2856-
#pragma pop
28572791

28582792
void dAcPy_c::initializeThrowCommonBase() {
28592793
vf434(19, 0);
@@ -2966,8 +2900,6 @@ void dAcPy_c::setThrowActor() {
29662900
cancelCarry(actor);
29672901
}
29682902

2969-
#pragma push
2970-
#pragma pool_data off
29712903
void dAcPy_c::executeThrowCommon() {
29722904
if (isNowBgCross(BGC_IS_FOOT)) {
29732905
offStatus(STATUS_8F);
@@ -3019,7 +2951,6 @@ void dAcPy_c::executeThrowCommon() {
30192951
break;
30202952
}
30212953
}
3022-
#pragma pop
30232954

30242955
void dAcPy_c::initializeState_Throw() {
30252956
initializeThrowCommon();
@@ -3398,7 +3329,7 @@ void dAcPy_c::initializeState_Swim() {
33983329
if (carryPlayer != nullptr) {
33993330
mVec3_c pos(mPos.x, mPos.y + 4.0f, mPos.z);
34003331
float height;
3401-
if (dBc_c::checkTenjou(&pos, &height, mLayer, m_ca1)) {
3332+
if (dBc_c::checkTenjou(&pos, &height, mLayer, mAmiLayer)) {
34023333
if (mPos.y + getSomeYOffset() + getBgPointData_Powerup(mPowerup, 1)->mHead.mOffset / 4096.0f > height) {
34033334
releaseCarryActor();
34043335
}
@@ -4244,7 +4175,7 @@ void dAcPy_c::initializeState_Vine() {
42444175
mSpeed.x = 0.0f;
42454176
mSpeed.y = 0.0f;
42464177
m_7c4 = 0;
4247-
if (m_ca1 == 1) {
4178+
if (mAmiLayer == 1) {
42484179
m_7c0 = 0x8000;
42494180
} else {
42504181
m_7c0 = 0;
@@ -4639,9 +4570,9 @@ void dAcPy_c::endAmiRollAction(short ang) {
46394570
m_7c0 = newAng;
46404571
mAngle.y = newAng;
46414572
if (m_7c0 == 0x8000) {
4642-
m_ca1 = 1;
4573+
mAmiLayer = 1;
46434574
} else {
4644-
m_ca1 = 2;
4575+
mAmiLayer = 2;
46454576
}
46464577
mAmiRelated2 = 1.0f;
46474578
m_7bc = 2;
@@ -6800,9 +6731,9 @@ bool dAcPy_c::setDropCarryPlayer() {
68006731
}
68016732
mVec3_c pos(ridePlayer->mPos.x, ridePlayer->mPos.y + 4.0f, ridePlayer->mPos.z);
68026733
mVec3_c pos2(mPos.x, mPos.y + 4.0f, mPos.z);
6803-
if (!dBc_c::checkWall(&pos, &pos2, nullptr, mLayer, m_ca1, nullptr)) {
6734+
if (!dBc_c::checkWall(&pos, &pos2, nullptr, mLayer, mAmiLayer, nullptr)) {
68046735
float height;
6805-
if (dBc_c::checkTenjou(&pos2, &height, mLayer, m_ca1)) {
6736+
if (dBc_c::checkTenjou(&pos2, &height, mLayer, mAmiLayer)) {
68066737
const sBcPlayerPointData *p = getBgPointData_Powerup(mPowerup, 1);
68076738
if (mPos.y + p->mHead.mOffset / 4096.0f + 2.0f > height) {
68086739
vf3fc(0.0f, ridePlayer->mSpeedF / 2.0f, 1, 0, 0);
@@ -6893,7 +6824,7 @@ void dAcPy_c::executeState_CarryPlayer() {
68936824
return;
68946825
}
68956826
if (isNowBgCross(BGC_45)) {
6896-
m_ca1 = ridePlayer->m_ca1;
6827+
mAmiLayer = ridePlayer->mAmiLayer;
68976828
}
68986829
if (!ridePlayer->isStatus(STATUS_46)) {
68996830
if (setRideOffPlayerJump(sc_JumpSpeed - 0.2f, 0.0f)) {
@@ -7309,12 +7240,12 @@ void dAcPy_c::createFireBall(int i) {
73097240
if (mPowerup == POWERUP_FIRE_FLOWER) {
73107241
fn_80057e70(SE_PLY_THROW_FIRE, false);
73117242
pos = loopPos;
7312-
u32 param = (i << 16) | (m_ca1 << 12) | (mLayer << 8) | (m_12f4 << 4) | mPlayerNo;
7243+
u32 param = (i << 16) | (mAmiLayer << 12) | (mLayer << 8) | (m_12f4 << 4) | mPlayerNo;
73137244
dActor_c::construct(fProfile::PL_FIREBALL, param, &pos, nullptr, 0);
73147245
} else if (mPowerup == POWERUP_PENGUIN_SUIT || mPowerup == POWERUP_ICE_FLOWER) {
73157246
fn_80057e70(SE_PLY_THROW_ICEBALL, false);
73167247
pos = loopPos;
7317-
u32 param = (i << 16) | (m_ca1 << 12) | (mLayer << 8) | (m_12f4 << 4) | mPlayerNo;
7248+
u32 param = (i << 16) | (mAmiLayer << 12) | (mLayer << 8) | (m_12f4 << 4) | mPlayerNo;
73187249
dActor_c::construct(fProfile::ICEBALL, param, &pos, nullptr, 0);
73197250
}
73207251
}
@@ -7746,7 +7677,7 @@ void dAcPy_c::endPropelFlyPartsMove() {
77467677
void dAcPy_c::setPropelSpinSmokeEffect() {
77477678
mVec3_c efPos = mPos;
77487679
efPos.y += 10.0f;
7749-
if (dMaskMng::isCaveMask() && mLayer == 0 && m_ca1 == 1) {
7680+
if (dMaskMng::isCaveMask() && mLayer == 0 && mAmiLayer == 1) {
77507681
efPos.z = 2000.0f;
77517682
}
77527683
float height;
@@ -7759,7 +7690,7 @@ void dAcPy_c::setPropelSpinSmokeEffect() {
77597690
void dAcPy_c::setStartPropelJumpEffect() {
77607691
if (isNowBgCross(BGC_IS_FOOT)) {
77617692
mVec3_c efPos = mPos;
7762-
if (dMaskMng::isCaveMask() && mLayer == 0 && m_ca1 == 1) {
7693+
if (dMaskMng::isCaveMask() && mLayer == 0 && mAmiLayer == 1) {
77637694
efPos.z = 2000.0f;
77647695
}
77657696
dEf::createPlayerEffect(mPlayerNo, "Wm_mr_spindepart", 0, &efPos, nullptr, nullptr);
@@ -10152,8 +10083,8 @@ void dAcPy_c::setBcData(int setInstant) {
1015210083
float y = mPos.y + getStandHeadBgPointY() - 1.0f;
1015310084
mVec3_c pos(mPos.x, mPos.y + 4.0f, mPos.z);
1015410085
float height;
10155-
if (dBc_c::checkTenjou(&pos, &height, mLayer, m_ca1)) {
10156-
if (height < y && !dBc_c::checkBg(pos.x, height + 4.0f, mLayer, m_ca1, 0x10)) {
10086+
if (dBc_c::checkTenjou(&pos, &height, mLayer, mAmiLayer)) {
10087+
if (height < y && !dBc_c::checkBg(pos.x, height + 4.0f, mLayer, mAmiLayer, 0x10)) {
1015710088
footData.mFlags |= 0x800000;
1015810089
}
1015910090
}
@@ -10227,7 +10158,7 @@ void dAcPy_c::setBcData(int setInstant) {
1022710158
if (mHeadBcData.mOffset < headData.mOffset) {
1022810159
mVec3_c pos(mPos.x, mPos.y + mHeadBcData.mOffset / 4096.0f + 1.0f, mPos.z);
1022910160
float height;
10230-
if (dBc_c::checkTenjou(&pos, &height, mLayer, m_ca1)) {
10161+
if (dBc_c::checkTenjou(&pos, &height, mLayer, mAmiLayer)) {
1023110162
if (height < mPos.y + headData.mOffset / 4096.0f) {
1023210163
float tmp = height - mPos.y;
1023310164
if (tmp < 0.0f) {
@@ -10718,7 +10649,7 @@ bool dAcPy_c::setPressBgDamage(int a, int b) {
1071810649
} else {
1071910650
mVec3_c pos = carryPlayer->mPos;
1072010651
float height;
10721-
if (dBc_c::checkTenjou(&pos, &height, mLayer, m_ca1)) {
10652+
if (dBc_c::checkTenjou(&pos, &height, mLayer, mAmiLayer)) {
1072210653
const sBcPlayerPointData *data = getBgPointData_Powerup(mPowerup, 0);
1072310654
pos.y = height - data->mHead.mOffset / 4096.0f - 2.0f;
1072410655
carryPlayer->mPos = pos;
@@ -10834,6 +10765,60 @@ const float dAcPy_c::data_802f5a48[] = {
1083410765
0.8f, 0.14f, 4.0f, 0.07f, 40.0f
1083510766
};
1083610767

10768+
STATE_VIRTUAL_DEFINE(dAcPy_c, Walk);
10769+
STATE_VIRTUAL_DEFINE(dAcPy_c, Jump);
10770+
STATE_VIRTUAL_DEFINE(dAcPy_c, Fall);
10771+
STATE_VIRTUAL_DEFINE(dAcPy_c, Land);
10772+
STATE_VIRTUAL_DEFINE(dAcPy_c, Crouch);
10773+
STATE_VIRTUAL_DEFINE(dAcPy_c, SitJump);
10774+
STATE_VIRTUAL_DEFINE(dAcPy_c, Slip);
10775+
STATE_VIRTUAL_DEFINE(dAcPy_c, Turn);
10776+
STATE_VIRTUAL_DEFINE(dAcPy_c, HipAttack);
10777+
STATE_VIRTUAL_DEFINE(dAcPy_c, Swim);
10778+
STATE_VIRTUAL_DEFINE(dAcPy_c, Kani);
10779+
STATE_VIRTUAL_DEFINE(dAcPy_c, Cloud);
10780+
10781+
STATE_DEFINE(dAcPy_c, RideOffJump);
10782+
STATE_DEFINE(dAcPy_c, SpinHipAttack);
10783+
STATE_DEFINE(dAcPy_c, RollSlip);
10784+
STATE_DEFINE(dAcPy_c, Vine);
10785+
STATE_DEFINE(dAcPy_c, Hang);
10786+
STATE_DEFINE(dAcPy_c, Pole);
10787+
STATE_DEFINE(dAcPy_c, Fire);
10788+
STATE_DEFINE(dAcPy_c, LiftUp);
10789+
STATE_DEFINE(dAcPy_c, Throw);
10790+
STATE_DEFINE(dAcPy_c, PropelThrow);
10791+
STATE_DEFINE(dAcPy_c, WallJump);
10792+
STATE_DEFINE(dAcPy_c, WallSlide);
10793+
STATE_DEFINE(dAcPy_c, Propel);
10794+
STATE_DEFINE(dAcPy_c, CarryPlayer);
10795+
STATE_DEFINE(dAcPy_c, RideYoshi);
10796+
STATE_DEFINE(dAcPy_c, SpinJump);
10797+
STATE_DEFINE(dAcPy_c, PenguinSlide);
10798+
STATE_DEFINE(dAcPy_c, KaniJump);
10799+
STATE_DEFINE(dAcPy_c, Quake);
10800+
STATE_DEFINE(dAcPy_c, ElecShock);
10801+
STATE_DEFINE(dAcPy_c, FlyDamage);
10802+
STATE_DEFINE(dAcPy_c, IceDamage);
10803+
STATE_DEFINE(dAcPy_c, CannonJump);
10804+
STATE_DEFINE(dAcPy_c, TarzanRope);
10805+
STATE_DEFINE(dAcPy_c, PlayerEat);
10806+
STATE_DEFINE(dAcPy_c, Balloon);
10807+
STATE_DEFINE(dAcPy_c, BlockJump);
10808+
STATE_DEFINE(dAcPy_c, JrCrown);
10809+
10810+
STATE_VIRTUAL_DEFINE(dAcPy_c, DemoDown);
10811+
STATE_DEFINE(dAcPy_c, DemoInDoor);
10812+
STATE_DEFINE(dAcPy_c, DemoInJump);
10813+
STATE_DEFINE(dAcPy_c, DemoInVine);
10814+
STATE_DEFINE(dAcPy_c, DemoOutDoor);
10815+
STATE_DEFINE(dAcPy_c, DemoFallDown);
10816+
STATE_DEFINE(dAcPy_c, DemoFireDown);
10817+
STATE_DEFINE(dAcPy_c, DemoEatDie);
10818+
STATE_DEFINE(dAcPy_c, DemoDokanCannon);
10819+
STATE_DEFINE(dAcPy_c, DemoCannonWarp);
10820+
// STATE_VIRTUAL_DEFINE(dAcPy_c, DemoStartWait); // [TODO: intentionally left out?]
10821+
1083710822
ACTOR_PROFILE(PLAYER, dAcPy_c, 0);
1083810823

1083910824
template <>

0 commit comments

Comments
 (0)