mirror of https://github.com/zeldaret/tp.git
178 lines
6.3 KiB
C++
178 lines
6.3 KiB
C++
#ifndef D_A_OBJ_GRA2_H
|
|
#define D_A_OBJ_GRA2_H
|
|
|
|
#include "f_op/f_op_actor_mng.h"
|
|
|
|
/**
|
|
* @ingroup actors-objects
|
|
* @class daObj_GrA_c
|
|
* @brief Goron A
|
|
*
|
|
* @details
|
|
*
|
|
*/
|
|
class daObj_GrA_c : public fopAc_ac_c {
|
|
public:
|
|
class daObj_GrA_prtclMngr_c {
|
|
public:
|
|
/* 80C04E14 */ ~daObj_GrA_prtclMngr_c();
|
|
/* 80C04E50 */ daObj_GrA_prtclMngr_c();
|
|
};
|
|
|
|
/* 80BFFF58 */ void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
|
|
/* 80BFFF70 */ daObj_GrA_c();
|
|
/* 80C0011C */ ~daObj_GrA_c();
|
|
/* 80C003CC */ void create();
|
|
/* 80C00614 */ void CreateHeap();
|
|
/* 80C00790 */ void Delete();
|
|
/* 80C00804 */ void Execute(f32 (**)[3][4]);
|
|
/* 80C00A44 */ void Draw();
|
|
/* 80C00ACC */ void jointCtrl(J3DJoint*, J3DModel*);
|
|
/* 80C00D5C */ void getResName();
|
|
/* 80C00D74 */ void getMode();
|
|
/* 80C00DF8 */ void getPathNo();
|
|
/* 80C00E04 */ void getTagNo();
|
|
/* 80C00E10 */ void getJumpType();
|
|
/* 80C00E1C */ void isDelete();
|
|
/* 80C00EFC */ void restart();
|
|
/* 80C010D4 */ void init();
|
|
/* 80C013B0 */ void setBaseAnm(int, f32);
|
|
/* 80C014F4 */ void setFaceAnm(int, bool, f32);
|
|
/* 80C01698 */ void setFaceBtp(int);
|
|
/* 80C0178C */ void setBaseMotion(int, f32);
|
|
/* 80C017AC */ void setFaceMotion(int, f32);
|
|
/* 80C017F0 */ void calcMotion();
|
|
/* 80C018C0 */ void checkProcess(int (daObj_GrA_c::*)(void*));
|
|
/* 80C018F4 */ void setProcess(int (daObj_GrA_c::*)(void*));
|
|
/* 80C019B8 */ void setParam();
|
|
/* 80C01C18 */ void checkEvent();
|
|
/* 80C01D7C */ void mainProc();
|
|
/* 80C01FE4 */ void adjustShapeAngle();
|
|
/* 80C01FE8 */ void setMtx(int);
|
|
/* 80C02614 */ void setCollisions();
|
|
/* 80C02970 */ void setAttnPos();
|
|
/* 80C02A5C */ void drawOtherMdls();
|
|
/* 80C02A60 */ bool dbgDraw();
|
|
/* 80C02A68 */ void ppMoveInit();
|
|
/* 80C02AD4 */ void setLookMode(int);
|
|
/* 80C02AE8 */ void lookat();
|
|
/* 80C0308C */ void hitChk();
|
|
/* 80C031E4 */ void wait(void*);
|
|
/* 80C0335C */ void talk(void*);
|
|
/* 80C035B8 */ void ctrlMsgAnm(int&, int&, fopAc_ac_c*);
|
|
/* 80C03720 */ void checkTagGraSub(fopAc_ac_c*);
|
|
/* 80C03764 */ void fallAbyssCheck();
|
|
/* 80C03830 */ void setPrtcl();
|
|
/* 80C03B14 */ void base000(int);
|
|
/* 80C03B48 */ void base001(int);
|
|
/* 80C03B7C */ void base003(int);
|
|
/* 80C03C1C */ void base004(int);
|
|
/* 80C03CBC */ void base005(int);
|
|
/* 80C03D54 */ void base006(int);
|
|
/* 80C03D88 */ void base007(int);
|
|
/* 80C03DF0 */ void base008(int);
|
|
/* 80C03E74 */ void base009(int);
|
|
/* 80C03F14 */ void base010(int);
|
|
/* 80C03FC0 */ void base013(int);
|
|
/* 80C04118 */ void base016(int);
|
|
/* 80C04180 */ void base017(int);
|
|
/* 80C041E8 */ void base018(int);
|
|
/* 80C04260 */ void base019(int);
|
|
/* 80C042D4 */ void base020(int);
|
|
/* 80C04308 */ void base021(int);
|
|
/* 80C0433C */ void base022(int);
|
|
/* 80C04370 */ void base023(int);
|
|
/* 80C043A4 */ void base024(int);
|
|
/* 80C043D8 */ void base025(int);
|
|
/* 80C0440C */ void base026(int);
|
|
/* 80C04440 */ void face000(int);
|
|
/* 80C04478 */ void face003(int);
|
|
/* 80C04518 */ void face004(int);
|
|
/* 80C045B8 */ void face005(int);
|
|
/* 80C045F0 */ void face006(int);
|
|
/* 80C04628 */ void face007(int);
|
|
/* 80C04660 */ void face008(int);
|
|
/* 80C04700 */ void face009(int);
|
|
/* 80C047A0 */ void face010(int);
|
|
/* 80C047D8 */ void face011(int);
|
|
/* 80C04810 */ void face012(int);
|
|
/* 80C04848 */ void face016(int);
|
|
/* 80C04880 */ void face017(int);
|
|
/* 80C048B8 */ void face999(int);
|
|
/* 80C048F8 */ void evtcutTalk(int, int);
|
|
/* 80C04A0C */ void setFaceTalkAfter();
|
|
/* 80C0536C */ void getSrchCircleR();
|
|
/* 80C053C4 */ void standWait(void*);
|
|
/* 80C05920 */ void walk(void*);
|
|
/* 80C05F64 */ void defence(void*);
|
|
/* 80C061F4 */ void toStone(void*);
|
|
/* 80C067D8 */ void step(void*);
|
|
/* 80C06CDC */ void rollReturn(void*);
|
|
/* 80C0780C */ void soldierDemoSkip();
|
|
/* 80C078A8 */ void soldierDemo(void*);
|
|
/* 80C07C40 */ void getSrchLinkR();
|
|
/* 80C07C98 */ void getSrchGraR();
|
|
/* 80C07CF0 */ void getSpeed();
|
|
/* 80C07D38 */ void standRoll(void*);
|
|
/* 80C083F0 */ void rollDemo(void*);
|
|
/* 80C08804 */ void rollAttack(void*);
|
|
/* 80C09298 */ void rollAttacked(void*);
|
|
/* 80C09918 */ void rollEscape(void*);
|
|
/* 80C09F08 */ void rollLanding();
|
|
/* 80C0A018 */ void thrown(void*);
|
|
/* 80C0A120 */ void demo_camera();
|
|
/* 80C0AF94 */ void rollAttackedDemo();
|
|
/* 80C0B9AC */ void graThrowDemo();
|
|
/* 80C0BD90 */ void setCarryStatus();
|
|
/* 80C0BE5C */ void checkThrow();
|
|
/* 80C0BF34 */ void calcCatchPos(f32, int);
|
|
/* 80C0C348 */ void initCrazyBeforeCatch(int);
|
|
/* 80C0C364 */ void executeCrazyBeforeCatch();
|
|
/* 80C0C3E0 */ void initCrazyCatch(int);
|
|
/* 80C0C478 */ void executeCrazyCatch();
|
|
/* 80C0C5F0 */ void initCrazyThrow(int);
|
|
/* 80C0C690 */ void executeCrazyThrow();
|
|
/* 80C0C84C */ void initCrazyAttack();
|
|
/* 80C0CA64 */ void executeCrazyJumping();
|
|
/* 80C0CDBC */ void modeChangeCheck();
|
|
/* 80C0CF98 */ void checkGraSub(fopAc_ac_c*);
|
|
/* 80C0D000 */ void waitDemo(void*);
|
|
/* 80C0D2FC */ void skipDemoGra();
|
|
/* 80C0D3E0 */ void startDemo(void*);
|
|
/* 80C0EFC4 */ void turn(s16, f32, int);
|
|
/* 80C0F17C */ void turn_step(s16, int, int, int);
|
|
/* 80C0F330 */ void chkFindPlayer2(int, s16);
|
|
/* 80C0F668 */ void chkPointInArea(cXyz, cXyz, cXyz, s16);
|
|
/* 80C0F5A4 */ void chkPointInArea(cXyz, cXyz, f32, f32, f32, s16);
|
|
/* 80C0F6E0 */ void chkActorInSight2(fopAc_ac_c*, f32, s16);
|
|
/* 80C0F7EC */ void getAttentionPos(fopAc_ac_c*);
|
|
/* 80C0F860 */ void standWaitJump(void*);
|
|
|
|
bool checkNpcObjGra() { return field_0xa7e == 1; }
|
|
void setCrazyDash() { field_0xa48 |= 4; }
|
|
void setCrazyCatch() { field_0xa48 |= 2; }
|
|
void setCrazyThrowLeft() { field_0xa48 |= 8; }
|
|
void setCrazyThrowRight() { field_0xa48 |= 0x10; }
|
|
|
|
static u8 mBaseMotionList[264];
|
|
static u8 mFaceMotionList[168];
|
|
|
|
private:
|
|
/* 0x0568 */ u8 field_0x568[0xA48 - 0x568];
|
|
/* 0x0A48 */ u16 field_0xa48;
|
|
/* 0x0A4A */ u8 field_0xa4a[0xA7E - 0xA4A];
|
|
/* 0x0A7E */ u8 field_0xa7e;
|
|
/* 0x0A7F */ u8 field_0xa7f[0x20a4 - 0xA7F];
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(daObj_GrA_c) == 0x20a4);
|
|
|
|
class daObj_GrA_Param_c {
|
|
public:
|
|
/* 80C04B1C */ ~daObj_GrA_Param_c();
|
|
|
|
static u8 const m[192];
|
|
};
|
|
|
|
#endif /* D_A_OBJ_GRA2_H */
|