mirror of https://github.com/zeldaret/tp.git
d_a_obj_gra2 work (#2482)
* Tiny start on d_a_obj_gra2 * Initial work * Solid work done * More work * work on some rolling functions and deme camera * Almost all functions worked on * All functions worked on * Fixed some BaseNpc functions I broke * PR Cleanup * PR cleanup part 2
This commit is contained in:
parent
bb008ca9cf
commit
ba4ea76d4d
|
|
@ -210,6 +210,10 @@ public:
|
|||
JPAEmitterCallBack* getEmitterCallBackPtr() const { return mpEmtrCallBack; }
|
||||
u32 getAge() const { return mTick; }
|
||||
|
||||
void setVolumeMiniRadius(f32 param_1) {
|
||||
mVolumeMinRad = param_1;
|
||||
}
|
||||
|
||||
public:
|
||||
/* 0x00 */ JGeometry::TVec3<f32> mLocalScl;
|
||||
/* 0x0C */ JGeometry::TVec3<f32> mLocalTrs;
|
||||
|
|
|
|||
|
|
@ -790,7 +790,7 @@ public:
|
|||
/* 8014D9BC */ int setPathInfo(u8, s8, s8);
|
||||
/* 8014DA48 */ void reverseDir();
|
||||
/* 8014DA64 */ s32 chkPnt(cXyz);
|
||||
/* 8014DAC4 */ void setNextPnt();
|
||||
/* 8014DAC4 */ BOOL setNextPnt();
|
||||
/* 8014DB04 */ u16 getIdx();
|
||||
/* 8014DB0C */ void setIdx(u16);
|
||||
/* 8014DB14 */ Vec getPntPos(u16);
|
||||
|
|
@ -798,7 +798,7 @@ public:
|
|||
|
||||
static const int MAXNUMCONTROLPNT_e = 64;
|
||||
|
||||
private:
|
||||
public:
|
||||
/* 0x004 */ dPath* mPathInfo;
|
||||
/* 0x008 */ f32 field_0x8;
|
||||
/* 0x00C */ dPnt mCurvePnts[160];
|
||||
|
|
@ -806,7 +806,11 @@ private:
|
|||
/* 0xA0E */ u16 mCurvePntNum;
|
||||
/* 0xA10 */ u16 mIdx;
|
||||
/* 0xA12 */ s8 mDirection;
|
||||
/* 0xA13 */ u8 field_0xa13[17];
|
||||
/* 0xA13 */ u8 field_0xa13;
|
||||
/* 0xA14 */ s16 field_0xa14;
|
||||
/* 0xA16 */ u8 field_0xa16[2];
|
||||
/* 0xA18 */ int field_0xa18;
|
||||
/* 0xA1C */ u8 field_0xa1c[8];
|
||||
};
|
||||
|
||||
class daBaseNpc_lookat_c {
|
||||
|
|
@ -834,9 +838,9 @@ public:
|
|||
/* 8014E6C8 */ daBaseNpc_c();
|
||||
/* 8014EE44 */ J3DAnmTransform* getTrnsfrmKeyAnmP(char*, int);
|
||||
/* 8014EE80 */ int setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
|
||||
/* 8014EEE4 */ void setBckAnm(J3DAnmTransform*, f32, int, int, int, bool);
|
||||
/* 8014EEE4 */ int setBckAnm(J3DAnmTransform*, f32, int, int, int, bool);
|
||||
/* 8014EF28 */ J3DAnmTransform* getTexPtrnAnmP(char*, int);
|
||||
/* 8014EF64 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int);
|
||||
/* 8014EF64 */ int setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int);
|
||||
/* 8014EFF4 */ void orderEvent(int, char*);
|
||||
/* 8014F0A0 */ void setEnvTevColor();
|
||||
/* 8014F0FC */ void setRoomNo();
|
||||
|
|
@ -863,9 +867,11 @@ public:
|
|||
static dCcD_SrcCyl mCcDCyl;
|
||||
static dCcD_SrcSph mCcDSph;
|
||||
|
||||
private:
|
||||
public:
|
||||
/* 0x56C */ dBgS_ObjAcch mAcch;
|
||||
/* 0x744 */ u8 field_0x744[0x754 - 0x744];
|
||||
/* 0x744 */ char field_0x744;
|
||||
/* 0x745 */ u8 field_0x745[0x74c - 0x745];
|
||||
/* 0x74C */ request_of_phase_process_class mPhase;
|
||||
/* 0x754 */ mDoExt_McaMorfSO* mpModelMorf;
|
||||
/* 0x758 */ Z2Creature mSound;
|
||||
/* 0x7E8 */ u32 mShadowId;
|
||||
|
|
@ -876,7 +882,8 @@ private:
|
|||
/* 0x83C */ u16* field_0x83c;
|
||||
/* 0x840 */ u16 field_0x840;
|
||||
/* 0x842 */ u16 field_0x842;
|
||||
/* 0x844 */ u8 field_0x844[0x848 - 0x844];
|
||||
/* 0x844 */ bool field_0x844;
|
||||
/* 0x845 */ u8 field_0x845[0x848 - 0x845];
|
||||
/* 0x848 */ s32 field_0x848;
|
||||
/* 0x84C */ dMsgFlow_c mMsgFlow;
|
||||
/* 0x898 */ u8 field_0x898[0x89A - 0x898];
|
||||
|
|
@ -918,7 +925,7 @@ public:
|
|||
static int m_dzb_id;
|
||||
static MoveBGActor_SetFunc m_set_func;
|
||||
|
||||
private:
|
||||
public:
|
||||
/* 0xA14 */ dBgW* mpBgw;
|
||||
/* 0xA18 */ Mtx mBgMtx;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef D_A_OBJ_GRA2_H
|
||||
#define D_A_OBJ_GRA2_H
|
||||
|
||||
#include "d/actor/d_a_npc.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
|
|
@ -11,41 +12,122 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class daObj_GrA_c : public fopAc_ac_c {
|
||||
|
||||
class daObj_GrA_Param_c {
|
||||
public:
|
||||
/* 80C04B1C */ virtual ~daObj_GrA_Param_c() {}
|
||||
|
||||
struct Data {
|
||||
/* 0x00 */ f32 field_0x00;
|
||||
/* 0x04 */ f32 mGravity;
|
||||
/* 0x08 */ f32 field_0x08;
|
||||
/* 0x0C */ f32 field_0x0c;
|
||||
/* 0x10 */ s16 field_0x10;
|
||||
/* 0x12 */ s16 field_0x12;
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ f32 mWallR;
|
||||
/* 0x1C */ f32 mWallH;
|
||||
/* 0x20 */ f32 mWeight;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
/* 0x30 */ f32 field_0x30;
|
||||
/* 0x34 */ f32 field_0x34;
|
||||
/* 0x38 */ f32 field_0x38;
|
||||
/* 0x3C */ f32 field_0x3c;
|
||||
/* 0x40 */ f32 field_0x40;
|
||||
/* 0x44 */ f32 field_0x44;
|
||||
/* 0x48 */ f32 field_0x48;
|
||||
/* 0x4C */ f32 field_0x4c;
|
||||
/* 0x50 */ f32 field_0x50;
|
||||
/* 0x54 */ s16 field_0x54;
|
||||
/* 0x56 */ s16 field_0x56;
|
||||
/* 0x58 */ s16 field_0x58;
|
||||
/* 0x5A */ s16 field_0x5a;
|
||||
/* 0x5C */ s16 field_0x5c;
|
||||
/* 0x5E */ s16 field_0x5e;
|
||||
/* 0x60 */ f32 field_0x60;
|
||||
/* 0x64 */ f32 field_0x64;
|
||||
/* 0x68 */ s16 field_0x68;
|
||||
/* 0x6A */ s16 field_0x6a;
|
||||
/* 0x6C */ f32 field_0x6c;
|
||||
/* 0x70 */ f32 field_0x70;
|
||||
/* 0x74 */ f32 field_0x74;
|
||||
/* 0x78 */ f32 field_0x78;
|
||||
/* 0x7C */ f32 field_0x7c;
|
||||
/* 0x80 */ f32 field_0x80;
|
||||
/* 0x84 */ f32 field_0x84;
|
||||
/* 0x88 */ s16 field_0x88;
|
||||
/* 0x8A */ s16 field_0x8a;
|
||||
/* 0x8C */ f32 field_0x8c;
|
||||
/* 0x90 */ f32 field_0x90;
|
||||
/* 0x94 */ f32 field_0x94;
|
||||
/* 0x98 */ s16 field_0x98;
|
||||
/* 0x9A */ s16 field_0x9a;
|
||||
/* 0x9C */ f32 field_0x9c;
|
||||
/* 0xA0 */ f32 field_0xa0;
|
||||
/* 0xA4 */ s16 field_0xa4;
|
||||
/* 0xA6 */ s16 field_0xa6;
|
||||
/* 0xA8 */ f32 field_0xa8;
|
||||
/* 0xAC */ s16 field_0xac;
|
||||
/* 0xAE */ s16 field_0xae;
|
||||
/* 0xB0 */ s16 field_0xb0;
|
||||
/* 0xB2 */ s16 field_0xb2;
|
||||
/* 0xB4 */ s16 field_0xb4;
|
||||
/* 0xB6 */ s16 field_0xb6;
|
||||
/* 0xB8 */ f32 field_0xb8;
|
||||
/* 0xBC */ f32 field_0xbc;
|
||||
};
|
||||
static const Data m;
|
||||
};
|
||||
|
||||
class daObj_GrA_c : public daBaseNpc_moveBgActor_c {
|
||||
public:
|
||||
typedef int (daObj_GrA_c::*MotionFunc)(int);
|
||||
typedef int (daObj_GrA_c::*Process)(void*);
|
||||
|
||||
class daObj_GrA_prtclMngr_c {
|
||||
public:
|
||||
/* 80C04E14 */ ~daObj_GrA_prtclMngr_c();
|
||||
/* 80C04E50 */ daObj_GrA_prtclMngr_c();
|
||||
/* 80C04E14 */ ~daObj_GrA_prtclMngr_c() {}
|
||||
/* 80C04E50 */ daObj_GrA_prtclMngr_c() {}
|
||||
|
||||
/* 0x00 */ s8 field_0x0;
|
||||
/* 0x01 */ u8 field_0x1[0x4 - 0x1];
|
||||
/* 0x04 */ cXyz field_0x4;
|
||||
/* 0x10 */ csXyz field_0x10;
|
||||
/* 0x16 */ u8 field_0x16[2];
|
||||
/* 0x18 */ cXyz field_0x18;
|
||||
/* 0x24 */ dPaPo_c* field_0x24[6];
|
||||
/* 0x3C */ u8 field_0x3c[0x5c - 0x3c];
|
||||
};
|
||||
|
||||
/* 80BFFF58 */ void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
|
||||
/* 80BFFF58 */ static 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();
|
||||
/* 80C003CC */ cPhs__Step create();
|
||||
/* 80C00614 */ int CreateHeap();
|
||||
/* 80C00790 */ int Delete();
|
||||
/* 80C00804 */ int Execute(Mtx**);
|
||||
/* 80C00A44 */ int Draw();
|
||||
/* 80C00ACC */ int jointCtrl(J3DJoint*, J3DModel*);
|
||||
/* 80C00D5C */ const char* getResName();
|
||||
/* 80C00D74 */ u8 getMode();
|
||||
/* 80C00DF8 */ u8 getPathNo();
|
||||
/* 80C00E04 */ u16 getTagNo();
|
||||
/* 80C00E10 */ u16 getJumpType();
|
||||
/* 80C00E1C */ BOOL isDelete();
|
||||
/* 80C00EFC */ void restart();
|
||||
/* 80C010D4 */ void init();
|
||||
/* 80C010D4 */ int 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*));
|
||||
/* 80C018C0 */ BOOL checkProcess(int (daObj_GrA_c::*)(void*));
|
||||
/* 80C018F4 */ int setProcess(int (daObj_GrA_c::*)(void*));
|
||||
/* 80C019B8 */ void setParam();
|
||||
/* 80C01C18 */ void checkEvent();
|
||||
/* 80C01C18 */ BOOL checkEvent();
|
||||
/* 80C01D7C */ void mainProc();
|
||||
/* 80C01FE4 */ void adjustShapeAngle();
|
||||
/* 80C01FE8 */ void setMtx(int);
|
||||
|
|
@ -53,78 +135,78 @@ public:
|
|||
/* 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);
|
||||
/* 80C02A68 */ int ppMoveInit();
|
||||
/* 80C02AD4 */ int setLookMode(int);
|
||||
/* 80C02AE8 */ int lookat();
|
||||
/* 80C0308C */ int hitChk();
|
||||
/* 80C031E4 */ int wait(void*);
|
||||
/* 80C0335C */ int talk(void*);
|
||||
/* 80C035B8 */ int ctrlMsgAnm(int&, int&, fopAc_ac_c*);
|
||||
/* 80C03720 */ bool checkTagGraSub(fopAc_ac_c*);
|
||||
/* 80C03764 */ bool fallAbyssCheck();
|
||||
/* 80C03830 */ int setPrtcl();
|
||||
/* 80C03B14 */ int base000(int);
|
||||
/* 80C03B48 */ int base001(int);
|
||||
/* 80C03B7C */ int base003(int);
|
||||
/* 80C03C1C */ int base004(int);
|
||||
/* 80C03CBC */ int base005(int);
|
||||
/* 80C03D54 */ int base006(int);
|
||||
/* 80C03D88 */ int base007(int);
|
||||
/* 80C03DF0 */ int base008(int);
|
||||
/* 80C03E74 */ int base009(int);
|
||||
/* 80C03F14 */ int base010(int);
|
||||
/* 80C03FC0 */ int base013(int);
|
||||
/* 80C04118 */ int base016(int);
|
||||
/* 80C04180 */ int base017(int);
|
||||
/* 80C041E8 */ int base018(int);
|
||||
/* 80C04260 */ int base019(int);
|
||||
/* 80C042D4 */ int base020(int);
|
||||
/* 80C04308 */ int base021(int);
|
||||
/* 80C0433C */ int base022(int);
|
||||
/* 80C04370 */ int base023(int);
|
||||
/* 80C043A4 */ int base024(int);
|
||||
/* 80C043D8 */ int base025(int);
|
||||
/* 80C0440C */ int base026(int);
|
||||
/* 80C04440 */ int face000(int);
|
||||
/* 80C04478 */ int face003(int);
|
||||
/* 80C04518 */ int face004(int);
|
||||
/* 80C045B8 */ int face005(int);
|
||||
/* 80C045F0 */ int face006(int);
|
||||
/* 80C04628 */ int face007(int);
|
||||
/* 80C04660 */ int face008(int);
|
||||
/* 80C04700 */ int face009(int);
|
||||
/* 80C047A0 */ int face010(int);
|
||||
/* 80C047D8 */ int face011(int);
|
||||
/* 80C04810 */ int face012(int);
|
||||
/* 80C04848 */ int face016(int);
|
||||
/* 80C04880 */ int face017(int);
|
||||
/* 80C048B8 */ int face999(int);
|
||||
/* 80C048F8 */ int 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*);
|
||||
/* 80C0536C */ f32 getSrchCircleR();
|
||||
/* 80C053C4 */ int standWait(void*);
|
||||
/* 80C05920 */ int walk(void*);
|
||||
/* 80C05F64 */ int defence(void*);
|
||||
/* 80C061F4 */ int toStone(void*);
|
||||
/* 80C067D8 */ int step(void*);
|
||||
/* 80C06CDC */ int rollReturn(void*);
|
||||
/* 80C0780C */ int soldierDemoSkip();
|
||||
/* 80C078A8 */ int soldierDemo(void*);
|
||||
/* 80C07C40 */ f32 getSrchLinkR();
|
||||
/* 80C07C98 */ f32 getSrchGraR();
|
||||
/* 80C07CF0 */ f32 getSpeed();
|
||||
/* 80C07D38 */ int standRoll(void*);
|
||||
/* 80C083F0 */ int rollDemo(void*);
|
||||
/* 80C08804 */ int rollAttack(void*);
|
||||
/* 80C09298 */ int rollAttacked(void*);
|
||||
/* 80C09918 */ int rollEscape(void*);
|
||||
/* 80C09F08 */ void rollLanding();
|
||||
/* 80C0A018 */ void thrown(void*);
|
||||
/* 80C0A018 */ int thrown(void*);
|
||||
/* 80C0A120 */ void demo_camera();
|
||||
/* 80C0AF94 */ void rollAttackedDemo();
|
||||
/* 80C0B9AC */ void graThrowDemo();
|
||||
/* 80C0BD90 */ void setCarryStatus();
|
||||
/* 80C0BE5C */ void checkThrow();
|
||||
/* 80C0BE5C */ bool checkThrow();
|
||||
/* 80C0BF34 */ void calcCatchPos(f32, int);
|
||||
/* 80C0C348 */ void initCrazyBeforeCatch(int);
|
||||
/* 80C0C364 */ void executeCrazyBeforeCatch();
|
||||
|
|
@ -134,44 +216,145 @@ public:
|
|||
/* 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*);
|
||||
/* 80C0CDBC */ BOOL modeChangeCheck();
|
||||
/* 80C0CF98 */ BOOL checkGraSub(fopAc_ac_c*);
|
||||
/* 80C0D000 */ int waitDemo(void*);
|
||||
/* 80C0D2FC */ int skipDemoGra();
|
||||
/* 80C0D3E0 */ int startDemo(void*);
|
||||
/* 80C0EFC4 */ BOOL turn(s16, f32, int);
|
||||
/* 80C0F17C */ BOOL turn_step(s16, int, int, int);
|
||||
/* 80C0F330 */ BOOL chkFindPlayer2(int, s16);
|
||||
/* 80C0F668 */ BOOL chkPointInArea(cXyz, cXyz, cXyz, s16);
|
||||
/* 80C0F5A4 */ BOOL chkPointInArea(cXyz, cXyz, f32, f32, f32, s16);
|
||||
/* 80C0F6E0 */ BOOL chkActorInSight2(fopAc_ac_c*, f32, s16);
|
||||
/* 80C0F7EC */ cXyz getAttentionPos(fopAc_ac_c*);
|
||||
/* 80C0F860 */ int standWaitJump(void*);
|
||||
|
||||
bool checkNpcObjGra() { return field_0xa7e == 1; }
|
||||
bool checkNpcObjGra() { return mMode == 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];
|
||||
static MotionFunc mBaseMotionList[22];
|
||||
static MotionFunc mFaceMotionList[14];
|
||||
|
||||
bool isFirstGra() { return field_0x1fe8 == 0; }
|
||||
|
||||
void setDemoMode(s16 mDemoMode) { mDemoCamMode = mDemoMode; }
|
||||
|
||||
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];
|
||||
/* 0x0A4A */ u8 field_0xa4a[0xa4c - 0xa4a];
|
||||
/* 0x0A4C */ daObj_GrA_Param_c* field_0xa4c;
|
||||
/* 0x0A50 */ Process field_0xa50;
|
||||
/* 0x0A5C */ request_of_phase_process_class* field_0xa5c[8];
|
||||
/* 0x0A7C */ u16 field_0xa7c;
|
||||
/* 0x0A7E */ u8 mMode;
|
||||
/* 0x0A7F */ u8 field_0xa7f;
|
||||
/* 0x0A80 */ u8 field_0xa80[0xa88 - 0xa80];
|
||||
/* 0x0A88 */ int field_0xa88;
|
||||
/* 0x0A8C */ u8 field_0xa8c;
|
||||
/* 0x0A8D */ u8 field_0xa8d;
|
||||
/* 0x0A8E */ u8 field_0xa8e;
|
||||
/* 0x0A8F */ u8 field_0xa8f;
|
||||
/* 0x0A90 */ u16 field_0xa90;
|
||||
/* 0x0A92 */ u16 field_0xa92;
|
||||
/* 0x0A94 */ f32 field_0xa94;
|
||||
/* 0x0A98 */ f32 field_0xa98;
|
||||
/* 0x0A9C */ int field_0xa9c;
|
||||
/* 0x0AA0 */ int field_0xaa0;
|
||||
/* 0x0AA4 */ int field_0xaa4;
|
||||
/* 0x0AA8 */ int field_0xaa8;
|
||||
/* 0x0AAC */ int field_0xaac;
|
||||
/* 0x0AB0 */ daBaseNpc_acMngr_c field_0xab0;
|
||||
/* 0x0AB8 */ daObj_GrA_prtclMngr_c field_0xab8[6];
|
||||
/* 0x0CE0 */ dCcD_Sph field_0xce0[2];
|
||||
/* 0x0F50 */ dCcD_Cyl field_0xf50;
|
||||
/* 0x108C */ cXyz field_0x108c;
|
||||
/* 0x1098 */ f32 field_0x1098;
|
||||
/* 0x109C */ int field_0x109c;
|
||||
/* 0x10A0 */ int field_0x10a0;
|
||||
/* 0x10A4 */ int field_0x10a4;
|
||||
/* 0x10A8 */ int field_0x10a8;
|
||||
/* 0x10AC */ u8 field_0x10ac;
|
||||
/* 0x10AD */ u8 field_0x10ad[0x10bc - 0x10ad];
|
||||
/* 0x10BC */ int field_0x10bc;
|
||||
/* 0x10C0 */ u8 field_0x10c0[0x10c4 - 0x10c0];
|
||||
/* 0x10C4 */ int field_0x10c4;
|
||||
/* 0x10C8 */ cBgS_GndChk field_0x10c8[5];
|
||||
/* 0x11F4 */ dBgS_LinkLinChk field_0x11f4[5];
|
||||
/* 0x1424 */ cXyz field_0x1424[5];
|
||||
/* 0x1460 */ cXyz field_0x1460[5];
|
||||
/* 0x149C */ u8 field_0x149c[0x14b0 - 0x149c];
|
||||
/* 0x14B0 */ int field_0x14b0;
|
||||
/* 0x14B4 */ cXyz field_0x14b4[5];
|
||||
/* 0x14F0 */ f32 field_0x14f0;
|
||||
/* 0x14F4 */ int field_0x14f4;
|
||||
/* 0x14F8 */ daBaseNpc_acMngr_c field_0x14f8;
|
||||
/* 0x1500 */ u8 field_0x1500;
|
||||
/* 0x1504 */ int mLookMode;
|
||||
/* 0x1508 */ int field_0x1508;
|
||||
/* 0x150C */ int field_0x150c;
|
||||
/* 0x1510 */ u8 field_0x1510[0x1518 - 0x1510];
|
||||
/* 0x1518 */ int field_0x1518;
|
||||
/* 0x151C */ u8 field_0x151c[0x1520 - 0x151c];
|
||||
/* 0x1520 */ int field_0x1520;
|
||||
/* 0x1524 */ u8 field_0x1524[0x1528 - 0x1524];
|
||||
/* 0x1528 */ daBaseNpc_path_c field_0x1528;
|
||||
/* 0x1F4C */ dBgS_LinkLinChk field_0x1f4c;
|
||||
/* 0x1FBC */ int field_0x1fbc;
|
||||
/* 0x1FC0 */ int field_0x1fc0;
|
||||
/* 0x1FC4 */ u8 field_0x1fc4;
|
||||
/* 0x1FC8 */ int field_0x1fc8;
|
||||
/* 0x1FCC */ int field_0x1fcc;
|
||||
/* 0x1FD0 */ f32 field_0x1fd0;
|
||||
/* 0x1FD4 */ s16 field_0x1fd4;
|
||||
/* 0x1FD6 */ s16 field_0x1fd6;
|
||||
/* 0x1FD8 */ s16 field_0x1fd8;
|
||||
/* 0x1FDC */ int field_0x1fdc;
|
||||
/* 0x1FE0 */ u8 field_0x1fe0;
|
||||
/* 0x1FE4 */ int field_0x1fe4;
|
||||
/* 0x1FE8 */ s8 field_0x1fe8;
|
||||
/* 0x1FE9 */ u8 field_0x1fe9;
|
||||
/* 0x1FEC */ int field_0x1fec;
|
||||
/* 0x1FF0 */ int field_0x1ff0;
|
||||
/* 0x1FF4 */ u8 field_0x1ff4;
|
||||
/* 0x1FF8 */ int field_0x1ff8;
|
||||
/* 0x1FFC */ u8 field_0x1ffc;
|
||||
/* 0x2000 */ int field_0x2000;
|
||||
/* 0x2004 */ u8 field_0x2004;
|
||||
/* 0x2005 */ s8 field_0x2005;
|
||||
/* 0x2008 */ f32 field_0x2008;
|
||||
/* 0x200C */ u16 field_0x200c;
|
||||
/* 0x2010 */ int field_0x2010;
|
||||
/* 0x2014 */ u8 field_0x2014;
|
||||
/* 0x2018 */ int field_0x2018;
|
||||
/* 0x201C */ s8 field_0x201c;
|
||||
/* 0x201D */ u8 field_0x201d;
|
||||
/* 0x2020 */ u32 field_0x2020[3];
|
||||
/* 0x202C */ u32 field_0x202c;
|
||||
/* 0x2030 */ u8 field_0x2030;
|
||||
/* 0x2031 */ u8 field_0x2031;
|
||||
/* 0x2032 */ u8 field_0x2032;
|
||||
/* 0x2034 */ cXyz mGraPos;
|
||||
/* 0x2040 */ f32 mGraExtent;
|
||||
/* 0x2044 */ f32 mGraHeight;
|
||||
/* 0x2048 */ s16 mGraMode;
|
||||
/* 0x204C */ daBaseNpc_acMngr_c field_0x204c;
|
||||
/* 0x2054 */ s16 mDemoCamMode;
|
||||
/* 0x2056 */ s16 field_0x2056;
|
||||
/* 0x2058 */ cXyz mDemoCamEye;
|
||||
/* 0x2064 */ cXyz mDemoCamCenter;
|
||||
/* 0x2070 */ f32 mDemoCamFovy;
|
||||
/* 0x2074 */ cXyz field_0x2074;
|
||||
/* 0x2080 */ cXyz field_0x2080;
|
||||
/* 0x208C */ f32 field_0x208c;
|
||||
/* 0x2090 */ cXyz field_0x2090;
|
||||
/* 0x209C */ int field_0x209c;
|
||||
/* 0x20A0 */ u8 field_0x20a0;
|
||||
};
|
||||
|
||||
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 */
|
||||
|
|
|
|||
|
|
@ -974,6 +974,10 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void offGoronUpStopCancel() {
|
||||
offNoResetFlg0(FLG0_UNK_200000);
|
||||
}
|
||||
|
||||
s16 getBodyAngleX() const { return mBodyAngle.x; }
|
||||
s16 getBodyAngleY() const { return mBodyAngle.y; }
|
||||
|
||||
|
|
|
|||
|
|
@ -13,6 +13,22 @@ public:
|
|||
return (fopAcM_GetParam(this) >> 16) & 0xFF;
|
||||
}
|
||||
|
||||
s16 getGraNo() {
|
||||
return fopAcM_GetParam(this) & 0xFF;
|
||||
}
|
||||
|
||||
cXyz getGraPos() {
|
||||
return home.pos;
|
||||
}
|
||||
|
||||
f32 getGraExtent() {
|
||||
return scale.x * 100.0f;
|
||||
}
|
||||
|
||||
f32 getGraHeight() {
|
||||
return scale.y * 100.0f;
|
||||
}
|
||||
|
||||
int create() {
|
||||
fopAcM_SetupActor(this, daTagGra_c);
|
||||
|
||||
|
|
|
|||
|
|
@ -544,6 +544,10 @@ inline s16 dMsgObject_getSelectBombPrice() {
|
|||
dMsgObject_getMsgObjectClass()->getSelectBombPrice();
|
||||
}
|
||||
|
||||
inline bool dMsgObject_isMouthCheck() {
|
||||
return dMsgObject_getMsgObjectClass()->isMouthCheck();
|
||||
}
|
||||
|
||||
class dMsgObject_HowlHIO_c {
|
||||
public:
|
||||
/* 80232AEC */ dMsgObject_HowlHIO_c();
|
||||
|
|
|
|||
|
|
@ -47,11 +47,11 @@ static BOOL daBaseNpc_subIdx(int i_step, int i_num, u16* i_idx, BOOL i_closed) {
|
|||
}
|
||||
|
||||
/* 8014D5C4-8014D620 147F04 005C+00 2/2 0/0 0/0 .text daBaseNpc_incIdx__FiPUsii */
|
||||
static void daBaseNpc_incIdx(int i_pathNo, u16* i_pathIdx, BOOL i_pathClosed, int i_pathDirection) {
|
||||
static BOOL daBaseNpc_incIdx(int i_pathNo, u16* i_pathIdx, BOOL i_pathClosed, int i_pathDirection) {
|
||||
if (i_pathDirection < 0) {
|
||||
daBaseNpc_subIdx(1, i_pathNo, i_pathIdx, i_pathClosed);
|
||||
return daBaseNpc_subIdx(1, i_pathNo, i_pathIdx, i_pathClosed);
|
||||
} else {
|
||||
daBaseNpc_addIdx(1, i_pathNo, i_pathIdx, i_pathClosed);
|
||||
return daBaseNpc_addIdx(1, i_pathNo, i_pathIdx, i_pathClosed);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -180,8 +180,8 @@ s32 daBaseNpc_path_c::chkPnt(cXyz i_pos) {
|
|||
}
|
||||
|
||||
/* 8014DAC4-8014DB04 148404 0040+00 0/0 0/0 3/3 .text setNextPnt__16daBaseNpc_path_cFv */
|
||||
void daBaseNpc_path_c::setNextPnt() {
|
||||
daBaseNpc_incIdx(mPathInfo->m_num, &mIdx, dPath_ChkClose(mPathInfo), mDirection);
|
||||
BOOL daBaseNpc_path_c::setNextPnt() {
|
||||
return daBaseNpc_incIdx(mPathInfo->m_num, &mIdx, dPath_ChkClose(mPathInfo), mDirection);
|
||||
}
|
||||
|
||||
/* 8014DB04-8014DB0C 148444 0008+00 0/0 0/0 3/3 .text getIdx__16daBaseNpc_path_cFv */
|
||||
|
|
@ -475,9 +475,9 @@ int daBaseNpc_c::setMcaMorfAnm(J3DAnmTransformKey* i_anm, f32 i_speed, f32 i_mor
|
|||
|
||||
/* 8014EEE4-8014EF28 149824 0044+00 0/0 0/0 1/1 .text
|
||||
* setBckAnm__11daBaseNpc_cFP15J3DAnmTransformfiiib */
|
||||
void daBaseNpc_c::setBckAnm(J3DAnmTransform* i_anm, f32 i_speed, int i_mode, int i_start,
|
||||
int daBaseNpc_c::setBckAnm(J3DAnmTransform* i_anm, f32 i_speed, int i_mode, int i_start,
|
||||
int i_end, bool i_modify) {
|
||||
mBck.init(i_anm, TRUE, i_mode, i_speed, i_start, i_end, i_modify);
|
||||
return mBck.init(i_anm, TRUE, i_mode, i_speed, i_start, i_end, i_modify);
|
||||
}
|
||||
|
||||
/* 8014EF28-8014EF64 149868 003C+00 0/0 0/0 1/1 .text getTexPtrnAnmP__11daBaseNpc_cFPci
|
||||
|
|
@ -488,9 +488,9 @@ J3DAnmTransform* daBaseNpc_c::getTexPtrnAnmP(char* i_arcName, int i_resIdx) {
|
|||
|
||||
/* 8014EF64-8014EFA4 1498A4 0040+00 0/0 0/0 1/1 .text
|
||||
* setBtpAnm__11daBaseNpc_cFP16J3DAnmTexPatternP12J3DModelDatafi */
|
||||
void daBaseNpc_c::setBtpAnm(J3DAnmTexPattern* i_anm, J3DModelData* i_modelData, f32 i_speed,
|
||||
int daBaseNpc_c::setBtpAnm(J3DAnmTexPattern* i_anm, J3DModelData* i_modelData, f32 i_speed,
|
||||
int i_mode) {
|
||||
mBtp.init(i_modelData, i_anm, TRUE, i_mode, i_speed, 0, -1);
|
||||
return mBtp.init(i_modelData, i_anm, TRUE, i_mode, i_speed, 0, -1);
|
||||
}
|
||||
|
||||
/* 8014EFA4-8014EFF0 1498E4 004C+00 2/0 0/0 2/0 .text attnSttsOn__11daBaseNpc_cFii */
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#include "d/actor/d_a_npc.h"
|
||||
#include "d/d_bg_w.h"
|
||||
|
||||
static void daBaseNpc_incIdx(int i_pathNo, u16* i_pathIdx, int i_pathClosed, int i_pathDirection);
|
||||
static BOOL daBaseNpc_incIdx(int i_pathNo, u16* i_pathIdx, BOOL i_pathClosed, int i_pathDirection);
|
||||
static void daBaseNpc_decIdx(int i_pathNo, u16* i_pathIdx, int i_pathClosed, int i_pathDirection);
|
||||
static f32 daNpcBase_BBasis(int i_deg, int i_pntNo, int i_knotNo, int* i_knotVector_p);
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue