Files
tww/include/d/d_door.h
T
Jasper St. Pierre 89ca32a65c d_door work
2024-02-07 22:17:26 -08:00

160 lines
3.4 KiB
C++

#ifndef D_DOOR_H
#define D_DOOR_H
#include "f_op/f_op_actor.h"
#include "d/d_particle.h"
#include "SSystem/SComponent/c_phase.h"
class dDoor_info_c : public fopAc_ac_c {
public:
void valShipId() {}
u8 getSwbit();
u8 getSwbit2();
u8 getType();
void setType(u8);
u8 getEventNo();
u8 getFRoomNo();
u8 getBRoomNo();
u8 getShipId();
u8 getArg1();
BOOL adjoinPlayer();
u8 getViewRoomNo();
s32 frontCheckOld();
s32 frontCheck();
s32 drawCheck_local();
u8 drawCheck(int);
u8 checkExecute();
void startDemoProc();
void makeEventId(int);
void initProc(int);
void initOpenDemo(int);
void checkArea(f32, f32, f32);
void openInitCom(int);
void openProcCom();
void closeEndCom();
s32 getDemoAction();
void setGoal();
void setPlayerAngle(int);
void setPosAndAngle(cXyz*, s16);
public:
/* 0x290 */ s8 mRoomNo2;
/* 0x291 */ u8 mFromRoomNo;
/* 0x292 */ u8 mToRoomNo;
/* 0x293 */ u8 m293[0x294 - 0x293];
/* 0x294 */ cXyz mAngleVec;
/* 0x2A0 */ u8 mFrontCheck;
/* 0x2A1 */ u8 m2A1;
/* 0x2A2 */ u16 mEventIdx[12];
/* 0x2BA */ u8 mToolId[12];
/* 0x2C6 */ u8 field_0x2c6;
/* 0x2C7 */ u8 field_0x2c7;
/* 0x2C8 */ int mStaffId;
/* 0x2CC */ s8 mRoomNo;
/* 0x2CD */ u8 m2CD[0x2D0 - 0x2CD];
};
class dDoor_smoke_c {
public:
void smokeInit(dDoor_info_c*);
void smokeProc(dDoor_info_c*);
void smokeEnd();
public:
/* 0x00 */ dPa_smokeEcallBack mSmokeCb;
/* 0x04 */ u8 m04[0x22 - 0x04];
/* 0x22 */ s16 m22;
/* 0x24 */ u8 m24[0x28 - 0x24];
/* 0x28 */ f32 m28;
/* 0x2C */ f32 m2C;
/* 0x30 */ f32 m30;
/* 0x34 */ s8 m34;
/* 0x35 */ u8 m35;
};
class dDoor_key2_c {
public:
void keyResLoad();
void keyResDelete();
void keyInit(dDoor_info_c*);
void keyProc();
void keyCreate_Nkey();
void keyCreate_Bkey();
void keyCreate(int);
void keyOn();
void keyOff();
void calcMtx(dDoor_info_c*);
void draw(dDoor_info_c*);
public:
/* 0x00 */ bool mbEnabled;
/* 0x01 */ u8 m01[0x04 - 0x01];
/* 0x04 */ J3DModel* mpModel;
/* 0x08 */ mDoExt_bckAnm mBckAnim;
/* 0x18 */ request_of_phase_process_class mPhs;
/* 0x20 */ u8 m20;
/* 0x21 */ u8 mbIsBossDoor;
/* 0x22 */ u8 m22[0x24 - 0x22];
};
class dDoor_stop_c {
public:
void calcMtx(dDoor_info_c*);
void closeInit(dDoor_info_c*);
void closeProc(dDoor_info_c*);
void openInit(dDoor_info_c*);
void openProc(dDoor_info_c*);
void create();
public:
/* 0x0 */ J3DModel* mpModel;
/* 0x4 */ f32 m4;
/* 0x8 */ u8 m8;
/* 0x9 */ u8 mFrontCheck;
/* 0xA */ u8 mA;
/* 0xB */ u8 mB;
};
class dDoor_msg_c {
public:
void init(s16);
void proc(cXyz*);
public:
/* 0x0 */ u32 m0;
/* 0x4 */ int mMsg;
/* 0x8 */ s8 m8;
/* 0x9 */ u8 m9[0xA - 0x9];
/* 0xA */ s16 mA;
};
class dDoor_hkyo_c {
public:
void chkUse() {}
void offUse() {}
void onUse(u8) {}
s32 resLoad();
void resDelete();
void create();
void setAnm(u8);
void init();
void calcMtx(dDoor_info_c*, f32);
void draw(dDoor_info_c*);
void proc(dDoor_info_c*);
void chkFirst();
void onFirst();
BOOL chkStart();
public:
/* 0x00 */ request_of_phase_process_class mPhs;
/* 0x08 */ J3DModel* mpModel;
/* 0x0C */ mDoExt_brkAnm* mpBrkAnm;
/* 0x10 */ u8 mAnmIdx;
/* 0x11 */ u8 m11;
/* 0x12 */ u8 m12[0x14 - 0x12];
};
#endif /* D_DOOR_H */