mirror of https://github.com/zeldaret/tp.git
d_a_npc_wrestler work (#2521)
* Starting work * First few functions worked on * Data work * So many inlines!!! * All sumou action functions worked on * started demo work * demo functions worked on * Almost all functions worked on * Work on some param function stuff * all functions worked on * Cleanup and enums * Hopefully fixed d_a_alink breaks * PR cleanup
This commit is contained in:
parent
b67414ef1a
commit
a11f8f6375
|
|
@ -49,10 +49,31 @@ public:
|
|||
/* 80977AC0 */ void drawOtherMdls();
|
||||
/* 809783A0 */ void adjustShapeAngle();
|
||||
|
||||
void setHome() {
|
||||
current.pos = home.pos;
|
||||
old.pos = current.pos;
|
||||
shape_angle.y = home.angle.y;
|
||||
}
|
||||
|
||||
void offDispFlag() { mDispFlag = 0; }
|
||||
void onDispFlag() { mDispFlag = 1; }
|
||||
|
||||
void setMessageNo(s16 i_msgNo) {
|
||||
mMsgNo = i_msgNo;
|
||||
}
|
||||
|
||||
void setForcibleTalk() {
|
||||
mForcibleTalk = 1;
|
||||
}
|
||||
|
||||
static u8 mEvtSeqList[48];
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0xe00 - 0x568];
|
||||
/* 0x568 */ u8 field_0x568[0xdf0 - 0x568];
|
||||
/* 0xDF0 */ int mMsgNo;
|
||||
/* 0xDF4 */ u8 field_0xdf4[0xdfe - 0xdf4];
|
||||
/* 0xDFE */ u8 mForcibleTalk;
|
||||
/* 0xDFF */ u8 mDispFlag;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpcBouS_c) == 0xe00);
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ public:
|
|||
/* 809C105C */ bool drawDbgInfo();
|
||||
/* 809C1064 */ void drawOtherMdls();
|
||||
/* 809C1154 */ void getMode();
|
||||
/* 809C1160 */ void getMode1();
|
||||
/* 809C1160 */ u8 getMode1();
|
||||
/* 809C116C */ void getTypeFromParam();
|
||||
/* 809C1238 */ void getSwBit();
|
||||
/* 809C1244 */ void isDelete();
|
||||
|
|
@ -95,11 +95,15 @@ public:
|
|||
/* 809C9044 */ void test(void*);
|
||||
/* 809C9D28 */ void adjustShapeAngle();
|
||||
|
||||
int getType() { return mType; }
|
||||
|
||||
static void* mEvtCutNameList[12];
|
||||
static u8 mEvtCutList[144];
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x1698 - 0x568];
|
||||
/* 0x0568 */ u8 field_0x568[0x1474 - 0x568];
|
||||
/* 0x1474 */ u8 mType;
|
||||
/* 0x1475 */ u8 field_0x1475[0x1698 - 0x1475];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpc_grA_c) == 0x1698);
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
#define D_A_NPC_WRESTLER_H
|
||||
|
||||
#include "d/actor/d_a_npc.h"
|
||||
#include "d/actor/d_a_npc_bouS.h"
|
||||
#include "d/d_meter2_info.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-npcs
|
||||
|
|
@ -11,68 +13,185 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class daNpcWrestler_c : public fopAc_ac_c {
|
||||
|
||||
struct daNpcWrestler_HIOParamSub {
|
||||
/* 0x00 */ f32 field_0x0;
|
||||
/* 0x04 */ f32 mWallH;
|
||||
/* 0x08 */ f32 mWallR;
|
||||
/* 0x0C */ f32 field_0xc; // リアル影サイズ (Real Shadow Size)
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ f32 field_0x14; // 見合う距離 (Right Distance)
|
||||
/* 0x18 */ f32 grapple_distance; // 組み合い距離 (Grapple Distance)
|
||||
/* 0x1C */ f32 field_0x1c; // 再配置距離 (Reconfiguration Distance)
|
||||
/* 0x20 */ s16 lateral_movement_time; // 横移動時間 (Lateral Movement Time)
|
||||
/* 0x22 */ s16 horizontal_movement_speed; // 横移動速度 (Horizontal Movement Speed)
|
||||
/* 0x24 */ s16 stagger_time; // ふらふら時間 (Stagger Time)
|
||||
/* 0x26 */ s16 wait_time; // 待ち時間 (Wait Time)
|
||||
/* 0x28 */ s16 field_0x28; // 曲がり限界 (Bending Limit)
|
||||
/* 0x2C */ f32 lateral_movement_chance; // 横移動 の確率 (Lateral Movement Chance)
|
||||
/* 0x30 */ f32 hit_chance; // 張り手 の確率 (Hit Chance)
|
||||
/* 0x34 */ f32 tackle_chance; // タックルの確率 (Tackle Chance)
|
||||
/* 0x38 */ f32 wait_chance; // 待 機 の確率 (Wait Chance)
|
||||
/* 0x3C */ f32 lateral_movement_chance_2; // 横移動 の確率 (Lateral Movement Chance)
|
||||
/* 0x40 */ f32 hit_chance_2; // 張り手 の確率 (Hit Chance)
|
||||
/* 0x44 */ f32 tackle_chance_2; // タックルの確率 (Tackle Chance)
|
||||
/* 0x48 */ f32 wait_chance_2; // 待 機 の確率 (Wait Chance)
|
||||
};
|
||||
|
||||
struct daNpcWrestler_HIOParam {
|
||||
/* 0x00 */ daNpcF_HIOParam common;
|
||||
/* 0x6C */ s16 ai_action; // AI行動 (AI Action)
|
||||
/* 0x6E */ s16 ready_appearance_time; // Ready? 出現時間 (Ready? Appearance Time)
|
||||
/* 0x70 */ s16 fight_appearance_time; // Fight! 出現時間 (Fight! Appearance Time)
|
||||
/* 0x72 */ s16 field_0x72;
|
||||
/* 0x74 */ s32 slap_hit_impact; // 張り手Hit衝撃 (Slap Hit Impact)
|
||||
/* 0x78 */ s16 rotation; // 回転割り (Rotating)
|
||||
/* 0x7A */ s16 field_0x7a;
|
||||
/* 0x7C */ f32 camera_rotation_angle; // カメラ回転角 (Camera Rotation Angle)
|
||||
/* 0x80 */ f32 field_0x80; // 音 土俵際距離 (Sound, Distance From Edge Of Ring)
|
||||
/* 0x84 */ f32 field_0x84; // 動 土俵際距離 (Movement, Distance From Edge Of Ring)
|
||||
/* 0x88 */ f32 fade_speed;
|
||||
/* 0x8C */ s16 field_0x8c;
|
||||
/* 0x8E */ s16 field_0x8e;
|
||||
/* 0x90 */ f32 field_0x90;
|
||||
/* 0x94 */ f32 field_0x94;
|
||||
/* 0x98 */ f32 field_0x98;
|
||||
/* 0x9C */ f32 field_0x9c;
|
||||
/* 0xA0 */ f32 field_0xa0;
|
||||
/* 0xA4 */ f32 field_0xa4;
|
||||
/* 0xA8 */ s16 field_0xa8;
|
||||
/* 0xAA */ s16 field_0xaa;
|
||||
/* 0xAC */ s16 field_0xac;
|
||||
/* 0xAE */ s16 field_0xae;
|
||||
/* 0xB0 */ f32 field_0xb0;
|
||||
/* 0xB4 */ s16 field_0xb4;
|
||||
/* 0xB6 */ s16 field_0xb6;
|
||||
/* 0xB8 */ f32 field_0xb8;
|
||||
/* 0xBC */ f32 field_0xbc;
|
||||
/* 0xC0 */ f32 field_0xc0;
|
||||
/* 0xC4 */ f32 field_0xc4;
|
||||
/* 0xC8 */ f32 field_0xc8;
|
||||
/* 0xCC */ f32 field_0xcc;
|
||||
/* 0xD0 */ f32 field_0xd0;
|
||||
/* 0xD4 */ f32 field_0xd4;
|
||||
/* 0xD8 */ f32 field_0xd8;
|
||||
/* 0xDC */ f32 field_0xdc;
|
||||
/* 0xE0 */ f32 field_0xe0;
|
||||
/* 0xE4 */ f32 field_0xe4;
|
||||
/* 0xE8 */ s16 field_0xe8;
|
||||
/* 0xEA */ s16 field_0xea;
|
||||
/* 0xEC */ s16 field_0xec;
|
||||
/* 0xEE */ s16 field_0xee;
|
||||
/* 0xF0 */ f32 field_0xf0;
|
||||
/* 0xF4 */ f32 vertical_speed; // 垂直速度 (Vertical Speed)
|
||||
/* 0xF8 */ f32 horizontal_speed; // 水平速度 (Horizontal Speed)
|
||||
/* 0xFC */ daNpcWrestler_HIOParamSub mTypeParams[2];
|
||||
};
|
||||
|
||||
class daNpcWrestler_Param_c {
|
||||
public:
|
||||
/* 80B2F28C */ daNpcWrestler_c();
|
||||
/* 80B2F688 */ void Create();
|
||||
/* 80B2F974 */ void CreateHeap();
|
||||
/* 80B2FDB0 */ void Delete();
|
||||
/* 80B2FDE4 */ void Execute();
|
||||
/* 80B2FE1C */ void Draw();
|
||||
/* 80B2FE84 */ void ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 80B30150 */ void createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80B30170 */ void ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80B301BC */ void checkStartUp();
|
||||
/* 80B41670 */ virtual ~daNpcWrestler_Param_c() {}
|
||||
|
||||
static daNpcWrestler_HIOParam const m;
|
||||
};
|
||||
|
||||
class daNpcWrestler_HIO_Node_c: public JORReflexible {
|
||||
public:
|
||||
daNpcWrestler_HIO_Node_c() {}
|
||||
virtual ~daNpcWrestler_HIO_Node_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
void setParam(daNpcWrestler_HIOParamSub* param_1) { field_0x4 = param_1; }
|
||||
|
||||
/* 0x04 */ daNpcWrestler_HIOParamSub* field_0x4;
|
||||
};
|
||||
|
||||
class daNpcWrestler_HIO_c
|
||||
#ifdef DEBUG
|
||||
: public mDoHIO_entry_c
|
||||
#endif
|
||||
{
|
||||
public:
|
||||
daNpcWrestler_HIO_c() {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
field_0x19c[i].setParam(&field_0x8.mTypeParams[i]);
|
||||
}
|
||||
}
|
||||
virtual ~daNpcWrestler_HIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
void listenPropertyEvent(JORPropertyEvent*);
|
||||
|
||||
/* 0x004 */ u8 field_0x4[0x8 - 0x4];
|
||||
/* 0x008 */ daNpcWrestler_HIOParam field_0x8;
|
||||
/* 0x19C */ daNpcWrestler_HIO_Node_c field_0x19c[2];
|
||||
};
|
||||
|
||||
class daNpcWrestler_c : public daNpcF_c {
|
||||
public:
|
||||
typedef bool (daNpcWrestler_c::*actionFunc)(void*);
|
||||
typedef BOOL (daNpcWrestler_c::*EventFn)(int);
|
||||
|
||||
/* 80B2F28C */ daNpcWrestler_c() {};
|
||||
/* 80B2F688 */ cPhs__Step Create();
|
||||
/* 80B2F974 */ int CreateHeap();
|
||||
/* 80B2FDB0 */ int Delete();
|
||||
/* 80B2FDE4 */ int Execute();
|
||||
/* 80B2FE1C */ int Draw();
|
||||
/* 80B2FE84 */ int ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 80B30150 */ static int createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80B30170 */ static int ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80B301BC */ BOOL checkStartUp();
|
||||
/* 80B308B0 */ void reset();
|
||||
/* 80B30AD8 */ void setAction(bool (daNpcWrestler_c::*)(void*));
|
||||
/* 80B30AD8 */ int setAction(actionFunc);
|
||||
/* 80B30BEC */ void checkArenaInfo();
|
||||
/* 80B30CA4 */ void checkArenaSub(fopAc_ac_c*);
|
||||
/* 80B30CA4 */ bool checkArenaSub(fopAc_ac_c*);
|
||||
/* 80B30D48 */ void setOnToArena(f32);
|
||||
/* 80B30F00 */ void wait(void*);
|
||||
/* 80B316F4 */ void talk(void*);
|
||||
/* 80B31EB0 */ void demo(void*);
|
||||
/* 80B32058 */ void gotoArena(void*);
|
||||
/* 80B32444 */ void gotoLiving(void*);
|
||||
/* 80B32850 */ void sumouReady(void*);
|
||||
/* 80B331CC */ void sumouWait(void*);
|
||||
/* 80B339EC */ void checkOutOfArenaP();
|
||||
/* 80B33B3C */ void setNextAction();
|
||||
/* 80B34654 */ void sumouPunchHit(void*);
|
||||
/* 80B34CD0 */ void sumouPunchChaseHit(void*);
|
||||
/* 80B35364 */ void sumouPunchMiss(void*);
|
||||
/* 80B35780 */ void checkOutOfArenaW();
|
||||
/* 80B358F0 */ void getJointPos(int);
|
||||
/* 80B35968 */ void sumouPunchDraw(void*);
|
||||
/* 80B3606C */ void sumouTackleHit(void*);
|
||||
/* 80B36908 */ void sumouTackleMiss(void*);
|
||||
/* 80B36C8C */ void sumouTackleDraw(void*);
|
||||
/* 80B37270 */ void sumouSideStep(void*);
|
||||
/* 80B378F4 */ void sumouLostBalance(void*);
|
||||
/* 80B37C30 */ void sumouPunchShock(void*);
|
||||
/* 80B37FB8 */ void sumouPunchChaseShock(void*);
|
||||
/* 80B38518 */ void sumouPunchStagger(void*);
|
||||
/* 80B389A4 */ void sumouTackleShock(void*);
|
||||
/* 80B38C90 */ void sumouTackleStagger(void*);
|
||||
/* 80B39334 */ void sumouTackleStaggerRelease(void*);
|
||||
/* 80B39554 */ void sumouTacklePush(void*);
|
||||
/* 80B39C18 */ void sumouTackleRelease(void*);
|
||||
/* 80B39F88 */ void demoSumouReady(void*);
|
||||
/* 80B3AE24 */ void demoSumouWin(void*);
|
||||
/* 80B3B4B4 */ void demoSumouLose(void*);
|
||||
/* 80B3BC84 */ void demoSumouWin2(void*);
|
||||
/* 80B3C278 */ void demoSumouLose2(void*);
|
||||
/* 80B3CA2C */ void demoSumouUnilateralWin(void*);
|
||||
/* 80B3D0C0 */ void demoTalkAfterLose(void*);
|
||||
/* 80B3D584 */ void EvCut_grDSEntry(int);
|
||||
/* 80B3DB50 */ void EvCut_grDSEntry2(int);
|
||||
/* 80B3DCE8 */ void EvCut_grDSEntry3_4(int);
|
||||
/* 80B3E0FC */ void EvCut_grDSEntry5(int);
|
||||
/* 80B3E584 */ void EvCut_grDSLose(int);
|
||||
/* 80B30F00 */ bool wait(void*);
|
||||
/* 80B316F4 */ bool talk(void*);
|
||||
/* 80B31EB0 */ bool demo(void*);
|
||||
/* 80B32058 */ bool gotoArena(void*);
|
||||
/* 80B32444 */ bool gotoLiving(void*);
|
||||
/* 80B32850 */ bool sumouReady(void*);
|
||||
/* 80B331CC */ bool sumouWait(void*);
|
||||
/* 80B339EC */ bool checkOutOfArenaP();
|
||||
/* 80B33B3C */ bool setNextAction();
|
||||
/* 80B34654 */ bool sumouPunchHit(void*);
|
||||
/* 80B34CD0 */ bool sumouPunchChaseHit(void*);
|
||||
/* 80B35364 */ bool sumouPunchMiss(void*);
|
||||
/* 80B35780 */ bool checkOutOfArenaW();
|
||||
/* 80B358F0 */ cXyz getJointPos(int);
|
||||
/* 80B35968 */ bool sumouPunchDraw(void*);
|
||||
/* 80B3606C */ bool sumouTackleHit(void*);
|
||||
/* 80B36908 */ bool sumouTackleMiss(void*);
|
||||
/* 80B36C8C */ bool sumouTackleDraw(void*);
|
||||
/* 80B37270 */ bool sumouSideStep(void*);
|
||||
/* 80B378F4 */ bool sumouLostBalance(void*);
|
||||
/* 80B37C30 */ bool sumouPunchShock(void*);
|
||||
/* 80B37FB8 */ bool sumouPunchChaseShock(void*);
|
||||
/* 80B38518 */ bool sumouPunchStagger(void*);
|
||||
/* 80B389A4 */ bool sumouTackleShock(void*);
|
||||
/* 80B38C90 */ bool sumouTackleStagger(void*);
|
||||
/* 80B39334 */ bool sumouTackleStaggerRelease(void*);
|
||||
/* 80B39554 */ bool sumouTacklePush(void*);
|
||||
/* 80B39C18 */ bool sumouTackleRelease(void*);
|
||||
/* 80B39F88 */ bool demoSumouReady(void*);
|
||||
/* 80B3AE24 */ bool demoSumouWin(void*);
|
||||
/* 80B3B4B4 */ bool demoSumouLose(void*);
|
||||
/* 80B3BC84 */ bool demoSumouWin2(void*);
|
||||
/* 80B3C278 */ bool demoSumouLose2(void*);
|
||||
/* 80B3CA2C */ bool demoSumouUnilateralWin(void*);
|
||||
/* 80B3D0C0 */ bool demoTalkAfterLose(void*);
|
||||
/* 80B3D584 */ BOOL EvCut_grDSEntry(int);
|
||||
/* 80B3DB50 */ BOOL EvCut_grDSEntry2(int);
|
||||
/* 80B3DCE8 */ BOOL EvCut_grDSEntry3_4(int);
|
||||
/* 80B3E0FC */ BOOL EvCut_grDSEntry5(int);
|
||||
/* 80B3E584 */ BOOL EvCut_grDSLose(int);
|
||||
/* 80B3EF10 */ void setWrestlerVoice();
|
||||
/* 80B3FCE8 */ void playMotion();
|
||||
/* 80B40B3C */ void lookat();
|
||||
|
||||
/* 80B2F4A0 */ ~daNpcWrestler_c();
|
||||
/* 80B2F4A0 */ virtual ~daNpcWrestler_c() {}
|
||||
/* 80B3EAE4 */ void setParam();
|
||||
/* 80B3EB94 */ BOOL main();
|
||||
/* 80B404FC */ BOOL ctrlBtk();
|
||||
|
|
@ -81,30 +200,98 @@ public:
|
|||
/* 80B3023C */ bool setExpressionAnm(int, bool);
|
||||
/* 80B30654 */ bool setExpressionBtp(int);
|
||||
/* 80B316C8 */ void setExpression(int, f32);
|
||||
/* 80B3074C */ bool setMotionAnm(int, f32);
|
||||
/* 80B3074C */ void setMotionAnm(int, f32);
|
||||
/* 80B31680 */ void setMotion(int, f32, int);
|
||||
/* 80B40D1C */ BOOL drawDbgInfo();
|
||||
/* 80B40D24 */ void drawOtherMdls();
|
||||
|
||||
int getMessageNo() { return fopAcM_GetParam(this) >> 8; }
|
||||
int getWrestlerAction() { return mWrestlerAction; }
|
||||
u8 getType() { return subtype & 0x7F; }
|
||||
u8 getWrestlerType() { return getType(); }
|
||||
BOOL chkAction(actionFunc i_action) { return i_action == field_0xdcc; }
|
||||
bool selectAction();
|
||||
s8 getArenaNo() { return (u8)fopAcM_GetParam(this); }
|
||||
u32 getStatusNo() { return fopAcM_GetParam(this) >> 24; }
|
||||
void setLookMode(int);
|
||||
BOOL chkFindPlayer();
|
||||
BOOL step(s16, int);
|
||||
bool setTalkAngle();
|
||||
void setStepAngle();
|
||||
void setExpressionTalkAfter();
|
||||
void initTalkAngle() { mTurnMode = 0; }
|
||||
void setNextSumouEvent(int);
|
||||
csXyz* fopAcM_GetHomeAngle_p(fopAc_ac_c* i_actor) { return &i_actor->home.angle; }
|
||||
csXyz* fopAcM_GetShapeAngle_p(fopAc_ac_c* i_actor) { return &i_actor->shape_angle; }
|
||||
void setBackToLiving();
|
||||
void offWrestlerNoDraw() { mWrestlerNoDraw = 0; }
|
||||
void onWrestlerNoDraw() { mWrestlerNoDraw = 1; }
|
||||
void initDemoCamera_ArenaSide();
|
||||
void dMeter2Info_setMeterString(s32);
|
||||
void sumouAI();
|
||||
s16 oppositeToPlayer();
|
||||
void correctGraspPosAngle(bool);
|
||||
void initDemoCamera_ReadyLink();
|
||||
void initDemoCamera_ReadyWrestler();
|
||||
void playExpression();
|
||||
|
||||
static u8 mEvtSeqList[84];
|
||||
static EventFn mEvtSeqList[7];
|
||||
|
||||
struct DemoCamera_c {
|
||||
cXyz mDemoCamCenter;
|
||||
cXyz mDemoCamEye;
|
||||
cXyz field_0x18;
|
||||
cXyz field_0x24;
|
||||
cXyz field_0x30;
|
||||
cXyz field_0x3c;
|
||||
};
|
||||
|
||||
private:
|
||||
/* 0xB48 */ u8 field_0xb48[0xE74 - 0x568];
|
||||
/* 0xB48 */ Z2Creature mSound;
|
||||
/* 0xBD8 */ const daNpcWrestler_HIOParam* field_0xbd8;
|
||||
/* 0xBDC */ const daNpcWrestler_HIOParamSub* field_0xbdc;
|
||||
/* 0xBE0 */ daNpcF_MatAnm_c* mpMatAnm;
|
||||
/* 0xBE4 */ daNpcF_Lookat_c mLookAt;
|
||||
/* 0xC80 */ daNpcF_ActorMngr_c mActorMngr[2];
|
||||
/* 0xC90 */ dCcD_Cyl field_0xc90;
|
||||
/* 0xDCC */ actionFunc field_0xdcc;
|
||||
/* 0xDD8 */ JPABaseEmitter* field_0xdd8;
|
||||
/* 0xDDC */ JPABaseEmitter* field_0xddc;
|
||||
/* 0xDE0 */ JPABaseEmitter* field_0xde0;
|
||||
/* 0xDE4 */ JPABaseEmitter* field_0xde4;
|
||||
/* 0xDE8 */ u32 field_0xde8;
|
||||
/* 0xDEC */ u32 field_0xdec;
|
||||
/* 0xDF0 */ cXyz mArenaPos;
|
||||
/* 0xDFC */ f32 mArenaExtent;
|
||||
/* 0xE00 */ s16 mArenaAngle;
|
||||
/* 0xE02 */ u8 mArenaInfo;
|
||||
/* 0xE03 */ u8 field_0xe03;
|
||||
/* 0xE04 */ int* field_0xe04;
|
||||
/* 0xE08 */ DemoCamera_c mDemoCam;
|
||||
/* 0xE50 */ f32 mDemoCamFovy;
|
||||
/* 0xE54 */ f32 field_0xe54;
|
||||
/* 0xE58 */ f32 field_0xe58;
|
||||
/* 0xE5E */ s16 field_0xe5e;
|
||||
/* 0xE60 */ u8 field_0xe60[0xe64 - 0xe60];
|
||||
/* 0XE64 */ request_of_phase_process_class mPhase;
|
||||
/* 0xE6C */ request_of_phase_process_class mPhase2;
|
||||
/* 0xE74 */ int mWrestlerAction;
|
||||
/* 0xE78 */ u8 field_0xe78[0xEA0 - 0xE78];
|
||||
/* 0xE78 */ fpc_ProcID field_0xe78;
|
||||
/* 0xE7C */ int mItemNo;
|
||||
/* 0xE80 */ int field_0xe80;
|
||||
/* 0xE84 */ int field_0xe84;
|
||||
/* 0xE88 */ int mMsgNo;
|
||||
/* 0xE8C */ f32 field_0xe8c;
|
||||
/* 0xE90 */ s16 mLookMode;
|
||||
/* 0xE92 */ s16 field_0xe92;
|
||||
/* 0xE94 */ s16 mStepAngle;
|
||||
/* 0xE96 */ u16 field_0xe96;
|
||||
/* 0xE98 */ u8 field_0xe98;
|
||||
/* 0xE99 */ u8 field_0xe99;
|
||||
/* 0xE9A */ u8 field_0xe9a;
|
||||
/* 0xE9B */ u8 mType;
|
||||
/* 0xE9C */ u8 mWrestlerNoDraw;
|
||||
};
|
||||
// STATIC_ASSERT(sizeof(daNpcWrestler_c) == 0xea0);
|
||||
|
||||
class daNpcWrestler_Param_c {
|
||||
public:
|
||||
/* 80B41670 */ ~daNpcWrestler_Param_c();
|
||||
|
||||
static u8 const m[404];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpcWrestler_c) == 0xea0);
|
||||
|
||||
#endif /* D_A_NPC_WRESTLER_H */
|
||||
|
|
|
|||
|
|
@ -700,6 +700,8 @@ public:
|
|||
bool checkGoronSideMove() const { return mSpecialMode == 0x2B; }
|
||||
cXyz* getRightFootPosP() { return &mRightFootPos; }
|
||||
cXyz* getLeftFootPosP() { return &mLeftFootPos; }
|
||||
cXyz getLeftFootPos() const { return mLeftFootPos; }
|
||||
cXyz getRightFootPos() const { return mRightFootPos; }
|
||||
BOOL checkCopyRodThrowAfter() const { return checkNoResetFlg3(FLG3_COPY_ROD_THROW_AFTER); }
|
||||
u32 checkRide() const { return checkHorseRide() || checkBoarRide() || checkSpinnerRide() || checkCanoeRide() || checkBoardRide(); }
|
||||
cXyz getRightHandPos() const { return mRightHandPos; }
|
||||
|
|
@ -1174,6 +1176,41 @@ public:
|
|||
void onForceGrabRebound() {
|
||||
onEndResetFlg2(ERFLG2_UNK_8);
|
||||
}
|
||||
|
||||
void setSumouReadyAcceptButton() { mSpecialMode = 2; }
|
||||
void setSumouForceStand() { mSpecialMode = 3; }
|
||||
void setSumouPushFrontStop() { mSpecialMode = 9; }
|
||||
void setSumouPunchWinEnd() { mSpecialMode = 0xB; }
|
||||
void setSumouPunchLoseEnd() { mSpecialMode = 0xC; }
|
||||
void setSumouMoveWinEnd() { mSpecialMode = 0xD; }
|
||||
void setSumouMoveLoseEnd() { mSpecialMode = 0xE; }
|
||||
void setSumouForcePunch() {
|
||||
if (mSpecialMode == 0x1F) {
|
||||
mSpecialMode = 0x21;
|
||||
} else {
|
||||
mSpecialMode = 0x1C;
|
||||
}
|
||||
}
|
||||
void setSumouForceTackle() { mSpecialMode = 0x1B; }
|
||||
void setSumouForceGraspCancel() { mSpecialMode = 0x24; }
|
||||
|
||||
BOOL checkSumouPushFront() { return mSpecialMode == 7; }
|
||||
BOOL checkSumouPushBack() { return mSpecialMode == 8; }
|
||||
BOOL checkSumouTackleSuccess() { return mSpecialMode == 0xF; }
|
||||
BOOL checkSumouTackleSuccessPunch() { return mSpecialMode == 0x10; }
|
||||
BOOL checkSumouTackleMiss() { return mSpecialMode == 0x11; }
|
||||
BOOL checkSumouTackleDraw() { return mSpecialMode == 0x12; }
|
||||
BOOL checkSumouPunchSuccess() { return mSpecialMode == 0x13; }
|
||||
BOOL checkSumouPunchMiss() { return mSpecialMode == 0x14; }
|
||||
BOOL checkSumouPunchDraw() { return mSpecialMode == 0x15; }
|
||||
BOOL checkSumouWait() { return mSpecialMode == 0x16; }
|
||||
BOOL checkSumouLeftMove() { return mSpecialMode == 0x17; }
|
||||
BOOL checkSumouRightMove() { return mSpecialMode == 0x18; }
|
||||
BOOL checkSumouSlideLeft() { return mSpecialMode == 0x19; }
|
||||
BOOL checkSumouSlideRight() { return mSpecialMode == 0x1A; }
|
||||
BOOL checkSumouPunchStagger() { return mSpecialMode == 0x1F; }
|
||||
BOOL checkSumouTackleStagger() { return mSpecialMode == 0x20; }
|
||||
BOOL checkSumouGraspRelease() { return mSpecialMode == 0x23; }
|
||||
};
|
||||
|
||||
int daPy_addCalcShort(s16* param_0, s16 param_1, s16 param_2, s16 param_3, s16 param_4);
|
||||
|
|
|
|||
|
|
@ -9,6 +9,11 @@ public:
|
|||
fopAcM_SetupActor(this, daTagArena_c);
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
|
||||
cXyz getArenaPos() { return home.pos; }
|
||||
f32 getArenaExtent() { return scale.x * 100.0f; }
|
||||
s16 getArenaAngle() { return home.angle.y; }
|
||||
u16 getArenaNo() { return fopAcM_GetParam(this) & 0xFF; }
|
||||
};
|
||||
|
||||
#endif /* D_A_TAG_ARENA_H */
|
||||
|
|
|
|||
|
|
@ -1855,8 +1855,9 @@ void daNpc_grA_c::getMode() {
|
|||
}
|
||||
|
||||
/* 809C1160-809C116C 002900 000C+00 4/4 0/0 1/1 .text getMode1__11daNpc_grA_cFv */
|
||||
void daNpc_grA_c::getMode1() {
|
||||
u8 daNpc_grA_c::getMode1() {
|
||||
// NONMATCHING
|
||||
return fopAcM_GetParam(this) & 0xFF00 >> 8;
|
||||
}
|
||||
|
||||
/* 809C116C-809C1238 00290C 00CC+00 2/1 0/0 0/0 .text getTypeFromParam__11daNpc_grA_cFv
|
||||
|
|
|
|||
|
|
@ -459,8 +459,7 @@ bool daNpcImpal_c::setExpressionAnm(int i_idx, bool i_modify) {
|
|||
return false;
|
||||
}
|
||||
|
||||
/* 80A08A68-80A08B48 001168 00E0+00 1/0 0/0 0/0 .text setExpressionBtp__12daNpcImpal_cFi
|
||||
*/
|
||||
/* 80A08A68-80A08B48 001168 00E0+00 1/0 0/0 0/0 .text setExpressionBtp__12daNpcImpal_cFi */
|
||||
bool daNpcImpal_c::setExpressionBtp(int i_idx) {
|
||||
J3DAnmTexPattern* btpAnm = getTexPtrnAnmP(l_arcNames[l_btpGetParamList[i_idx].arcIdx],
|
||||
l_btpGetParamList[i_idx].fileIdx);
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -583,8 +583,7 @@ void dMeter2Info_c::onDirectUseItem(int param_0) {
|
|||
mDirectUseItem |= (u8)(1 << param_0);
|
||||
}
|
||||
|
||||
/* 8021C950-8021C970 217290 0020+00 0/0 4/4 0/0 .text isDirectUseItem__13dMeter2Info_cFi
|
||||
*/
|
||||
/* 8021C950-8021C970 217290 0020+00 0/0 4/4 0/0 .text isDirectUseItem__13dMeter2Info_cFi */
|
||||
BOOL dMeter2Info_c::isDirectUseItem(int param_0) {
|
||||
return (mDirectUseItem & (u8)(1 << param_0)) ? TRUE : FALSE;
|
||||
}
|
||||
|
|
@ -592,8 +591,7 @@ BOOL dMeter2Info_c::isDirectUseItem(int param_0) {
|
|||
/* 80430188-80430280 05CEA8 00F8+00 4/4 267/267 70/70 .bss g_meter2_info */
|
||||
dMeter2Info_c g_meter2_info;
|
||||
|
||||
/* 8021C970-8021C9DC 2172B0 006C+00 0/0 0/0 5/5 .text setMeterString__13dMeter2Info_cFl
|
||||
*/
|
||||
/* 8021C970-8021C9DC 2172B0 006C+00 0/0 0/0 5/5 .text setMeterString__13dMeter2Info_cFl */
|
||||
int dMeter2Info_c::setMeterString(s32 i_string) {
|
||||
if (mMeterString != 0) {
|
||||
return 0;
|
||||
|
|
@ -615,8 +613,7 @@ int dMeter2Info_c::setMeterString(s32 i_string) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* 8021C9DC-8021CA04 21731C 0028+00 1/1 3/3 0/0 .text resetWarpStatus__13dMeter2Info_cFv
|
||||
*/
|
||||
/* 8021C9DC-8021CA04 21731C 0028+00 1/1 3/3 0/0 .text resetWarpStatus__13dMeter2Info_cFv */
|
||||
void dMeter2Info_c::resetWarpStatus() {
|
||||
if (mWarpStatus == 2) {
|
||||
dComIfGs_resetLastWarpAcceptStage();
|
||||
|
|
|
|||
Loading…
Reference in New Issue