mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-07 11:57:35 -04:00
work on d_stage (#50)
This commit is contained in:
@@ -911,7 +911,7 @@ public:
|
||||
void procFanSwing();
|
||||
void procFanGlide_init(int);
|
||||
void procFanGlide();
|
||||
void getDayNightParamData();
|
||||
u32 getDayNightParamData();
|
||||
void setTactModel();
|
||||
void checkNpcStatus();
|
||||
void getTactPlayRightArmAnm(s32);
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
#ifndef D_A_SHIP_H
|
||||
#define D_A_SHIP_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_particle.h"
|
||||
|
||||
class msg_class;
|
||||
|
||||
class daShip_c : public fopAc_ac_c {
|
||||
public:
|
||||
daShip_c();
|
||||
|
||||
void initStartPos(cXyz const*, s16);
|
||||
void bodyJointCallBack(int);
|
||||
void cannonJointCallBack(int);
|
||||
void craneJointCallBack();
|
||||
void headJointCallBack0();
|
||||
void headJointCallBack1(int);
|
||||
void draw();
|
||||
void checkForceMessage();
|
||||
void setInitMessage();
|
||||
void setNextMessage(msg_class*);
|
||||
void seStart(u32, cXyz*);
|
||||
void setSailAngle();
|
||||
void setControllAngle(s16);
|
||||
void getMaxWaterY(cXyz*);
|
||||
void setWaveAngle(s16*, s16*);
|
||||
void getWaterY();
|
||||
void setYPos();
|
||||
void checkOutRange();
|
||||
void decrementShipSpeed(f32);
|
||||
void firstDecrementShipSpeed(f32);
|
||||
void getAimControllAngle(s16);
|
||||
void setMoveAngle(s16);
|
||||
void changeDemoEndProc();
|
||||
void setCrashData(s16);
|
||||
void checkNextMode(int);
|
||||
void setPartOnAnime(u8);
|
||||
void setPartOffAnime();
|
||||
void setPartAnimeInit(u8);
|
||||
void setSelfMove(int);
|
||||
void procWait_init();
|
||||
void procWait();
|
||||
void procReady_init();
|
||||
void procReady();
|
||||
void procGetOff_init();
|
||||
void procGetOff();
|
||||
void procPaddleMove_init();
|
||||
void procPaddleMove();
|
||||
void procSteerMove_init();
|
||||
void procSteerMove();
|
||||
void procCannonReady_init();
|
||||
void procCannonReady();
|
||||
void procCannon_init();
|
||||
void procCannon();
|
||||
void procCraneReady_init();
|
||||
void procCraneReady();
|
||||
void procCrane_init();
|
||||
void procCrane();
|
||||
void procCraneUp_init();
|
||||
void procCraneUp();
|
||||
void procToolDemo_init();
|
||||
void procToolDemo();
|
||||
void procZevDemo_init();
|
||||
void procZevDemo();
|
||||
void procTalkReady_init();
|
||||
void procTalkReady();
|
||||
void procTalk_init();
|
||||
void procTalk();
|
||||
void procTurn_init();
|
||||
void procTurn();
|
||||
void procTornadoUp_init();
|
||||
void procTornadoUp();
|
||||
void procStartModeWarp_init();
|
||||
void procStartModeWarp();
|
||||
void procTactWarp_init();
|
||||
void procTactWarp();
|
||||
void procWhirlDown_init();
|
||||
void procWhirlDown();
|
||||
void procStartModeThrow_init();
|
||||
void procStartModeThrow();
|
||||
void setEffectData(f32, s16);
|
||||
void setRoomInfo();
|
||||
void incRopeCnt(int, int);
|
||||
void setRopePos();
|
||||
void getAnglePartRate();
|
||||
void setTornadoActor();
|
||||
void setWhirlActor();
|
||||
void setHeadAnm();
|
||||
void execute();
|
||||
void shipDelete();
|
||||
void createHeap();
|
||||
void create();
|
||||
void getCannonAngleX() const;
|
||||
void checkForceMove() const;
|
||||
|
||||
/* 0x0290 */ u8 field_0x0290[0x0300 - 0x0290];
|
||||
/* 0x0300 */ J3DModel* mpCannonModel;
|
||||
/* 0x0304 */ J3DModel* mpSalvageArmModel;
|
||||
/* 0x0308 */ u8 field_0x0308[0x034D - 0x0308];
|
||||
/* 0x034D */ u8 field_0x034d;
|
||||
/* 0x034E */ u8 mShipMode;
|
||||
/* 0x034F */ u8 field_0x034F[0x0358 - 0x034F];
|
||||
/* 0x0358 */ u32 field_0x0358;
|
||||
/* 0x035C */ int mNextMessageID;
|
||||
/* 0x0360 */ int mShadowId;
|
||||
/* 0x0364 */ u8 field_0x0364[0x183C - 0x0364];
|
||||
/* 0x183C */ dPa_waveEcallBack field_0x183c;
|
||||
/* 0x18A0 */ dPa_waveEcallBack field_0x18a0;
|
||||
/* 0x1904 */ dPa_splashEcallBack field_0x1904;
|
||||
/* 0x1920 */ dPa_trackEcallBack field_0x1920;
|
||||
/* 0x1970 */ dPa_rippleEcallBack field_0x1970;
|
||||
/* 0x1984 */ u8 field_0x1984[0x19C0 - 0x1984];
|
||||
/* 0x19C0 */ dPa_rippleEcallBack field_0x19c0;
|
||||
};
|
||||
|
||||
#endif /* D_A_SHIP_H */
|
||||
+191
-3
@@ -17,6 +17,7 @@
|
||||
#include "d/d_vibration.h"
|
||||
#include "d/d_wood.h"
|
||||
#include "d/d_demo.h"
|
||||
#include "d/d_timer.h"
|
||||
|
||||
class JKRArchive;
|
||||
class JKRExpHeap;
|
||||
@@ -144,6 +145,7 @@ public:
|
||||
s16 getStartStagePoint() { return mCurStage.getPoint(); }
|
||||
void setStartStageLayer(s8 layer) { mCurStage.setLayer(layer); }
|
||||
void setStartStage(dStage_startStage_c* i_startStage) { mCurStage = *i_startStage; }
|
||||
dStage_startStage_c* getStartStage() { return &mCurStage; }
|
||||
|
||||
const char* getNextStageName() { return mNextStage.getName(); }
|
||||
dStage_startStage_c* getNextStartStage() { return &mNextStage; }
|
||||
@@ -164,6 +166,22 @@ public:
|
||||
void setLkDemoAnmArchive(JKRArchive* i_arc) { mpLkDArc = i_arc; }
|
||||
void setStatus(u16 status) { mStatus = status; }
|
||||
|
||||
void setShipId(u8 i_id) { mShipId = i_id; }
|
||||
void setShipRoomId(u8 i_id) { mShipRoomId = i_id; }
|
||||
u8 getShipId() { return mShipId; }
|
||||
u8 getShipRoomId() { return mShipRoomId; }
|
||||
|
||||
void setAgb(fopAc_ac_c* i_agb) { mpAgb = (daAgb_c*)i_agb; }
|
||||
|
||||
void setIkadaShipBeforePos(Vec& i_pos) { mIkadaLinkPos = i_pos; }
|
||||
void setIkadaShipId(u8 i_id) { mIkadaShipId = i_id; }
|
||||
void setIkadaShipBeforeRoomId(u8 i_roomId) { mIkadaShipBeforeRoomId = i_roomId; }
|
||||
u8 getIkadaShipId() { return mIkadaShipId; }
|
||||
u8 getIkadaShipBeforeRoomId() { return mIkadaShipBeforeRoomId; }
|
||||
|
||||
dTimer_c* getTimerPtr() { return mTimerInfo.mTimerPtr; }
|
||||
s32 getTimerMode() { return mTimerInfo.mTimerMode; }
|
||||
|
||||
/* 0x0000 */ dBgS mBgS;
|
||||
/* 0x1404 */ dCcS mCcS;
|
||||
/* 0x3DF8 */ dADM mADM;
|
||||
@@ -323,9 +341,10 @@ public:
|
||||
/* 0x4A58 */ camera_class* field_0x4a58;
|
||||
/* 0x4A5C */ dDlst_window_c* field_0x4a5c;
|
||||
/* 0x4A60 */ J2DOrthoGraph* mp2DOrthoGraph;
|
||||
/* 0x4A64 */ u8 field_0x4A64[0x4A66 - 0x4A64];
|
||||
/* 0x4A66 */ u8 mLastSeaRoom;
|
||||
/* 0x4A67 */ u8 field_0x4A67[0x4A68 - 0x4A67];
|
||||
/* 0x4A64 */ u8 mShipId;
|
||||
/* 0x4A65 */ u8 mShipRoomId;
|
||||
/* 0x4A66 */ u8 mIkadaShipBeforeRoomId;
|
||||
/* 0x4A67 */ u8 mIkadaShipId;
|
||||
/* 0x4A68 */ cXyz mIkadaLinkPos;
|
||||
/* 0x4A74 */ void* mpItemTableArchive;
|
||||
/* 0x4A78 */ void* mpFmapDataArchive;
|
||||
@@ -374,6 +393,10 @@ inline BOOL dComIfGs_checkReserveItem(u8 i_itemNo) {
|
||||
return dComIfGs_getpBagItem()->checkReserveItem(i_itemNo);
|
||||
}
|
||||
|
||||
inline void dComIfGs_initZone() {
|
||||
g_dComIfG_gameInfo.save.initZone();
|
||||
}
|
||||
|
||||
inline u8 dComIfGs_getSelectEquip(int param_0) {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().getSelectEquip(param_0);
|
||||
}
|
||||
@@ -446,6 +469,14 @@ inline void dComIfGs_setRestartRoomParam(u32 i_param) {
|
||||
g_dComIfG_gameInfo.save.getRestart().setRoomParam(i_param);
|
||||
}
|
||||
|
||||
inline s8 dComIfGs_getRestartRoomNo() {
|
||||
return g_dComIfG_gameInfo.save.getRestart().getRoomNo();
|
||||
}
|
||||
|
||||
inline s8 dComIfGs_getTurnRestartRoomNo() {
|
||||
return g_dComIfG_gameInfo.save.getTurnRestart().getRoomNo();
|
||||
}
|
||||
|
||||
inline void dComIfGs_setStartPoint(s16 i_point) {
|
||||
g_dComIfG_gameInfo.save.getRestart().setStartPoint(i_point);
|
||||
}
|
||||
@@ -528,12 +559,73 @@ inline bool dComIfGs_isItem(int bitNo, int roomNo) {
|
||||
return g_dComIfG_gameInfo.save.isItem(bitNo, roomNo);
|
||||
}
|
||||
|
||||
inline void dComIfGs_clearRoomSwitch(int i_zoneNo) {
|
||||
g_dComIfG_gameInfo.save.getZone(i_zoneNo).getZoneBit().clearRoomSwitch();
|
||||
}
|
||||
|
||||
inline void dComIfGs_removeZone(int i_zoneNo) {
|
||||
g_dComIfG_gameInfo.save.removeZone(i_zoneNo);
|
||||
}
|
||||
|
||||
inline u32 dComIfGs_getTurnRestartParam() {
|
||||
return g_dComIfG_gameInfo.save.getTurnRestart().getParam();
|
||||
}
|
||||
|
||||
inline cXyz& dComIfGs_getTurnRestartPos() {
|
||||
return g_dComIfG_gameInfo.save.getTurnRestart().getPos();
|
||||
}
|
||||
|
||||
inline cXyz& dComIfGs_getTurnRestartShipPos() {
|
||||
return g_dComIfG_gameInfo.save.getTurnRestart().getShipPos();
|
||||
}
|
||||
|
||||
inline s16 dComIfGs_getTurnRestartAngleY() {
|
||||
return g_dComIfG_gameInfo.save.getTurnRestart().getAngleY();
|
||||
}
|
||||
|
||||
inline s16 dComIfGs_getTurnRestartShipAngleY() {
|
||||
return g_dComIfG_gameInfo.save.getTurnRestart().getShipAngleY();
|
||||
}
|
||||
|
||||
inline u32 dComIfGs_getRestartRoomParam() {
|
||||
return g_dComIfG_gameInfo.save.getRestart().getRoomParam();
|
||||
}
|
||||
|
||||
inline cXyz& dComIfGs_getRestartRoomPos() {
|
||||
return g_dComIfG_gameInfo.save.getRestart().getRoomPos();
|
||||
}
|
||||
|
||||
inline s16 dComIfGs_getRestartRoomAngleY() {
|
||||
return g_dComIfG_gameInfo.save.getRestart().getRoomAngleY();
|
||||
}
|
||||
|
||||
inline void dComIfGs_putSave(int i_stageNo) {
|
||||
g_dComIfG_gameInfo.save.putSave(i_stageNo);
|
||||
}
|
||||
|
||||
inline void dComIfGs_getSave(int i_stageNo) {
|
||||
g_dComIfG_gameInfo.save.getSave(i_stageNo);
|
||||
}
|
||||
|
||||
inline void dComIfGs_initDan(s8 i_stageNo) {
|
||||
g_dComIfG_gameInfo.save.initDan(i_stageNo);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGs_isActor(int i_no, int i_roomNo) {
|
||||
return g_dComIfG_gameInfo.save.isActor(i_no, i_roomNo);
|
||||
}
|
||||
|
||||
inline void dComIfGs_setTurnRestart(const cXyz& i_pos, s16 i_angle, s8 i_roomNo, u32 i_param) {
|
||||
g_dComIfG_gameInfo.save.getTurnRestart().set(i_pos, i_angle, i_roomNo, i_param, i_pos, i_angle, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* === PLAY ===
|
||||
*/
|
||||
|
||||
void dComIfGp_setNextStage(const char* i_stageName, s16 i_point, s8 i_roomNo, s8 i_layer,
|
||||
f32 i_lastSpeed, u32 i_lastMode, int, s8 i_wipe);
|
||||
dStage_Ship_data* dComIfGp_getShip(int i_roomNo, int param_1);
|
||||
|
||||
inline const char* dComIfGp_getStartStageName() {
|
||||
return g_dComIfG_gameInfo.play.getStartStageName();
|
||||
@@ -563,6 +655,10 @@ inline dStage_startStage_c* dComIfGp_getNextStartStage() {
|
||||
return g_dComIfG_gameInfo.play.getNextStartStage();
|
||||
}
|
||||
|
||||
inline dStage_startStage_c* dComIfGp_getStartStage() {
|
||||
return g_dComIfG_gameInfo.play.getStartStage();
|
||||
}
|
||||
|
||||
inline void dComIfGp_setStartStage(dStage_startStage_c* p_startStage) {
|
||||
g_dComIfG_gameInfo.play.setStartStage(p_startStage);
|
||||
}
|
||||
@@ -603,6 +699,14 @@ inline stage_stag_info_class* dComIfGp_getStageStagInfo() {
|
||||
return g_dComIfG_gameInfo.play.getStage().getStagInfo();
|
||||
}
|
||||
|
||||
inline s32 dComIfGp_roomControl_getStayNo() {
|
||||
return dStage_roomControl_c::getStayNo();
|
||||
}
|
||||
|
||||
inline void dComIfGp_roomControl_init() {
|
||||
g_dComIfG_gameInfo.play.getRoomControl()->init();
|
||||
}
|
||||
|
||||
inline dStage_roomStatus_c* dComIfGp_roomControl_getStatusRoomDt(int room_no) {
|
||||
return g_dComIfG_gameInfo.play.getRoomControl()->getStatusRoomDt(room_no);
|
||||
}
|
||||
@@ -611,6 +715,26 @@ inline void dComIfGp_roomControl_checkDrawArea() {
|
||||
return g_dComIfG_gameInfo.play.getRoomControl()->checkDrawArea();
|
||||
}
|
||||
|
||||
inline void dComIfGp_roomControl_setStayNo(int stayNo) {
|
||||
g_dComIfG_gameInfo.play.getRoomControl()->setStayNo(stayNo);
|
||||
}
|
||||
|
||||
inline void dComIfGp_roomControl_setStatusFlag(int i_roomNo, u8 i_flag) {
|
||||
g_dComIfG_gameInfo.play.getRoomControl()->setStatusFlag(i_roomNo, i_flag);
|
||||
}
|
||||
|
||||
inline void dComIfGp_roomControl_zoneCountCheck(int i_roomNo) {
|
||||
g_dComIfG_gameInfo.play.getRoomControl()->zoneCountCheck(i_roomNo);
|
||||
}
|
||||
|
||||
inline void dComIfGp_roomControl_setTimePass(int isPassing) {
|
||||
g_dComIfG_gameInfo.play.getRoomControl()->SetTimePass(isPassing);
|
||||
}
|
||||
|
||||
inline int dComIfGp_roomControl_loadRoom(int param_0, u8* param_1) {
|
||||
return g_dComIfG_gameInfo.play.getRoomControl()->loadRoom(param_0, param_1);
|
||||
}
|
||||
|
||||
inline dBgS* dComIfG_Bgsp() {
|
||||
return &g_dComIfG_gameInfo.play.mBgS;
|
||||
}
|
||||
@@ -627,6 +751,30 @@ inline void dComIfGp_getIkadaShipBeforePos(Vec* o_pos) {
|
||||
*o_pos = g_dComIfG_gameInfo.play.mIkadaLinkPos;
|
||||
}
|
||||
|
||||
inline void dComIfGp_setIkadaShipBeforePos(Vec& i_pos) {
|
||||
g_dComIfG_gameInfo.play.setIkadaShipBeforePos(i_pos);
|
||||
}
|
||||
|
||||
inline void dComIfGp_setIkadaShipId(u8 i_id) {
|
||||
g_dComIfG_gameInfo.play.setIkadaShipId(i_id);
|
||||
}
|
||||
|
||||
inline void dComIfGp_setIkadaShipBeforeRoomId(u8 i_roomId) {
|
||||
g_dComIfG_gameInfo.play.setIkadaShipBeforeRoomId(i_roomId);
|
||||
}
|
||||
|
||||
inline u8 dComIfGp_getIkadaShipId() {
|
||||
return g_dComIfG_gameInfo.play.getIkadaShipId();
|
||||
}
|
||||
|
||||
inline u8 dComIfGp_getIkadaShipBeforeRoomId() {
|
||||
return g_dComIfG_gameInfo.play.getIkadaShipBeforeRoomId();
|
||||
}
|
||||
|
||||
inline stage_scls_info_dummy_class* dComIfGp_getStageSclsInfo() {
|
||||
return g_dComIfG_gameInfo.play.getStage().getSclsInfo();
|
||||
}
|
||||
|
||||
inline dStage_stageDt_c& dComIfGp_getStage() {
|
||||
return g_dComIfG_gameInfo.play.getStage();
|
||||
}
|
||||
@@ -719,6 +867,26 @@ inline void dComIfGp_setStatus(u16 status) {
|
||||
g_dComIfG_gameInfo.play.setStatus(status);
|
||||
}
|
||||
|
||||
inline void dComIfGp_setShipId(u8 i_id) {
|
||||
g_dComIfG_gameInfo.play.setShipId(i_id);
|
||||
}
|
||||
|
||||
inline void dComIfGp_setShipRoomId(u8 i_id) {
|
||||
g_dComIfG_gameInfo.play.setShipRoomId(i_id);
|
||||
}
|
||||
|
||||
inline u8 dComIfGp_getShipId() {
|
||||
return g_dComIfG_gameInfo.play.getShipId();
|
||||
}
|
||||
|
||||
inline u8 dComIfGp_getShipRoomId() {
|
||||
return g_dComIfG_gameInfo.play.getShipRoomId();
|
||||
}
|
||||
|
||||
inline void dComIfGp_setAgb(fopAc_ac_c* i_agb) {
|
||||
g_dComIfG_gameInfo.play.setAgb(i_agb);
|
||||
}
|
||||
|
||||
inline daPy_py_c* daPy_getPlayerActorClass() {
|
||||
return (daPy_py_c*)dComIfGp_getPlayer(0);
|
||||
}
|
||||
@@ -814,6 +982,14 @@ inline void dComIfGp_evmng_execute() {
|
||||
g_dComIfG_gameInfo.play.executeEvtManager();
|
||||
}
|
||||
|
||||
inline void dComIfGp_evmng_create() {
|
||||
g_dComIfG_gameInfo.play.getEvtManager().create();
|
||||
}
|
||||
|
||||
inline void dComIfGp_evmng_remove() {
|
||||
g_dComIfG_gameInfo.play.getEvtManager().remove();
|
||||
}
|
||||
|
||||
/**
|
||||
* === DRAWLIST ===
|
||||
*/
|
||||
@@ -950,4 +1126,16 @@ inline void dComIfGp_particle_readScene(u8 particle_no, mDoDvdThd_toMainRam_c**
|
||||
class scene_class;
|
||||
int dComIfG_resetToOpening(scene_class* i_scene);
|
||||
|
||||
inline int dComIfG_getTimerMode() {
|
||||
return g_dComIfG_gameInfo.play.getTimerMode();
|
||||
}
|
||||
|
||||
inline dTimer_c* dComIfG_getTimerPtr() {
|
||||
return g_dComIfG_gameInfo.play.getTimerPtr();
|
||||
}
|
||||
|
||||
inline void dComIfG_TimerDeleteRequest() {
|
||||
dComIfG_getTimerPtr()->deleteRequest();
|
||||
}
|
||||
|
||||
#endif /* D_COM_D_COM_INF_GAME_H */
|
||||
|
||||
@@ -28,7 +28,7 @@ public:
|
||||
void getSubstance(dEvDtData_c*, int);
|
||||
void setData(const char*);
|
||||
void create();
|
||||
void remove(const char*);
|
||||
void remove();
|
||||
void startProc(dEvDtEvent_c*);
|
||||
void closeProc(dEvDtEvent_c*);
|
||||
void endProc(s16, int);
|
||||
|
||||
@@ -8,6 +8,12 @@
|
||||
|
||||
class J3DModel;
|
||||
|
||||
struct color_RGB_class {
|
||||
u8 r;
|
||||
u8 g;
|
||||
u8 b;
|
||||
};
|
||||
|
||||
class dKy_tevstr_c {
|
||||
public:
|
||||
/* 0x00 */ J3DLightObj mLightObj;
|
||||
|
||||
@@ -1,8 +1,73 @@
|
||||
#ifndef D_MAP_H
|
||||
#define D_MAP_H
|
||||
|
||||
class fopAc_ac_c;
|
||||
class dMap_c {
|
||||
public:
|
||||
static void create();
|
||||
void isEnableEnlargementScroll();
|
||||
void isEnableDispMap();
|
||||
void getKindMapType();
|
||||
static void remove();
|
||||
void setImage(int, int, f32);
|
||||
void deleteImage(int);
|
||||
void setNowRoom(int);
|
||||
void mapDrawIconFree(s16, s16, u8);
|
||||
void mapDrawIconSelf(s16, s16, u8);
|
||||
void mapDrawFrame(u8);
|
||||
void mapDrawEnlargementSize(f32, f32, f32, f32, u8);
|
||||
void mapDrawRealSize(f32, f32, u8);
|
||||
void mapAGBSendIslandData();
|
||||
void setPlayerStayAgbMapTypeNow(f32, f32);
|
||||
void agbMapNoSet(u8, u8);
|
||||
void agbMapNoSetCall();
|
||||
void agbIsMsgSend();
|
||||
void agbResetCursor();
|
||||
void agbScrollX();
|
||||
void agbScrollY();
|
||||
void agbFlashCheck();
|
||||
void agbIsActive();
|
||||
void isInDspArea(f32, f32, bool);
|
||||
void mapAGBSendStatInit();
|
||||
void mapAGBSendMapMain(f32, f32);
|
||||
void calcEnlargementSizeParameter(f32, f32);
|
||||
void calcScissor();
|
||||
void mapMoveAll(f32, f32, int, f32);
|
||||
void mapDrawAll(f32, f32, int, f32);
|
||||
void mapDrawIcon();
|
||||
void draw(f32, f32, int, f32);
|
||||
void point2Grid(f32, f32, s8*, s8*);
|
||||
void point2GridAndLocal(f32, f32, s8*, s8*, s16*, s16*);
|
||||
void getCheckPointUseGrid(s8, s8);
|
||||
void getFmapChkPntPrm(int, s8*, s8*, s16*, s16*, u8*);
|
||||
void setFmapChkDtPrm();
|
||||
void getFmapChkPntDtPnt(int);
|
||||
void initPoint();
|
||||
void setGbaPoint_ocean(u8, f32, f32, s16, u8, u8, u8, u8);
|
||||
void isPointStayInDspNowRoomAgbScr(s16, s16);
|
||||
void setCollectPoint(u8, u8, f32, f32, f32, s8, s16, u8, u8, u8, u8);
|
||||
void setGbaPoint_dungeon(u8, f32, f32, s16, u8, u8, u8, u8);
|
||||
void getPosAgbMapType(f32, f32, bool);
|
||||
void setGbaPoint(u8, f32, f32, s16, u8, u8, u8, u8);
|
||||
void setArriveInfo(f32, f32);
|
||||
void drawPointPlayer(f32, f32, s16);
|
||||
void drawPointEnemy(f32, f32);
|
||||
void drawPointAgbCursor(f32, f32);
|
||||
void drawPointTbox(f32, f32, f32, f32);
|
||||
void drawPointDoor(f32, f32, f32, f32, s16, u8);
|
||||
void drawPointRestart(f32, f32, s16, f32, f32);
|
||||
void drawPointFriend(f32, f32, f32);
|
||||
void drawPointShip(f32, f32, s16, f32, f32);
|
||||
void drawPointGc(u8, f32, f32, f32, s8, s16, u8, u8, u8, u8);
|
||||
void drawPointMain(u8, u8, f32, f32, f32, s8, s16, u8, u8, u8, u8);
|
||||
void drawPointAgb(u8, f32, f32, f32, s8, s16, u8, u8, u8, u8);
|
||||
void getTypeAgbGcFromTypeAcs(u8, u8*, u8*);
|
||||
void drawPointSingle(u8, f32, f32, f32, s8, s16, u8, u8, u8);
|
||||
void drawActorPointMiniMap(fopAc_ac_c*);
|
||||
void mapBufferSendAGB_commonCursor();
|
||||
void mapBufferSendAGB_ocean();
|
||||
void mapBufferSendAGB_dungeon();
|
||||
void mapSetPointAll();
|
||||
static void mapBufferSendAGB(int);
|
||||
};
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef D_PARTICLE
|
||||
#define D_PARTICLE
|
||||
|
||||
#include "JSystem/J3DGraphBase/J3DVertex.h"
|
||||
#include "JSystem/JGeometry.h"
|
||||
#include "JSystem/JParticle/JPAParticle.h"
|
||||
#include "f_pc/f_pc_node.h"
|
||||
|
||||
@@ -25,6 +27,11 @@ public:
|
||||
/* 0x13 */ u8 mbAffectedByWind;
|
||||
};
|
||||
|
||||
class dPa_levelEcallBack {
|
||||
public:
|
||||
virtual ~dPa_levelEcallBack() {}
|
||||
};
|
||||
|
||||
class dPa_simpleEcallBack {
|
||||
public:
|
||||
dPa_simpleEcallBack();
|
||||
@@ -46,6 +53,83 @@ public:
|
||||
/* 0x010 */ dPa_simpleData_c mSimpleData[32];
|
||||
};
|
||||
|
||||
class dPa_waveEcallBack : public dPa_levelEcallBack {
|
||||
public:
|
||||
void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
|
||||
void remove();
|
||||
void executeAfter(JPABaseEmitter*);
|
||||
void draw(JPABaseEmitter*);
|
||||
|
||||
~dPa_waveEcallBack();
|
||||
|
||||
/* 0x04 */ s16 mState;
|
||||
/* 0x06 */ s16 mFadeTimer;
|
||||
/* 0x08 */ f32 mVelFade1;
|
||||
/* 0x0C */ f32 mVel;
|
||||
/* 0x10 */ f32 mVelSpeed;
|
||||
/* 0x14 */ f32 mVelFade2;
|
||||
/* 0x18 */ f32 mMaxParticleVelocity;
|
||||
/* 0x1C */ cXyz mCollapsePos[2];
|
||||
/* 0x34 */ cXyz* mpPos;
|
||||
/* 0x38 */ csXyz* mpRot;
|
||||
/* 0x3C */ cXyz mRotMtx[3];
|
||||
/* 0x60 */ JPABaseEmitter* mpBaseEmitter;
|
||||
};
|
||||
|
||||
class dPa_splashEcallBack : public dPa_levelEcallBack {
|
||||
public:
|
||||
void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
|
||||
void remove();
|
||||
void execute(JPABaseEmitter*);
|
||||
|
||||
~dPa_splashEcallBack();
|
||||
|
||||
/* 0x04 */ s16 mState;
|
||||
/* 0x08 */ f32 mScaleTimer;
|
||||
/* 0x0C */ f32 mMaxScaleTimer;
|
||||
/* 0x10 */ cXyz* mpPos;
|
||||
/* 0x14 */ csXyz* mpRot;
|
||||
/* 0x18 */ JPABaseEmitter* mpBaseEmitter;
|
||||
};
|
||||
|
||||
class dPa_trackEcallBack : public dPa_levelEcallBack {
|
||||
public:
|
||||
void getMaxWaterY(JGeometry::TVec3<f32>*);
|
||||
void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
|
||||
void remove();
|
||||
void execute(JPABaseEmitter*);
|
||||
void draw(JPABaseEmitter*);
|
||||
|
||||
~dPa_trackEcallBack();
|
||||
|
||||
/* 0x04 */ s16 mState;
|
||||
/* 0x08 */ f32 mBaseY;
|
||||
/* 0x0C */ f32 mMinY;
|
||||
/* 0x10 */ cXyz mPos[3];
|
||||
/* 0x34 */ cXyz* mpPos;
|
||||
/* 0x38 */ csXyz* mpRot;
|
||||
/* 0x3C */ f32 mExTransY;
|
||||
/* 0x40 */ f32 mExScaleY;
|
||||
/* 0x44 */ f32 mVel;
|
||||
/* 0x48 */ f32 mMinVel;
|
||||
/* 0x4C */ JPABaseEmitter* mpBaseEmitter;
|
||||
};
|
||||
|
||||
class dPa_rippleEcallBack : public dPa_levelEcallBack {
|
||||
public:
|
||||
void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
|
||||
void end();
|
||||
void execute(JPABaseEmitter*);
|
||||
void draw(JPABaseEmitter*);
|
||||
|
||||
~dPa_rippleEcallBack();
|
||||
|
||||
/* 0x04 */ JPABaseEmitter* mpBaseEmitter;
|
||||
/* 0x08 */ cXyz* mPos;
|
||||
/* 0x0C */ u32 mFlags;
|
||||
/* 0x10 */ f32 mRate;
|
||||
};
|
||||
|
||||
class dPa_modelControl_c {
|
||||
public:
|
||||
dPa_modelControl_c(J3DModelData*);
|
||||
|
||||
+40
-18
@@ -523,6 +523,8 @@ public:
|
||||
dSv_zoneActor_c& getActor() { return mZoneActor; }
|
||||
const dSv_zoneActor_c& getActor() const { return mZoneActor; }
|
||||
|
||||
void reset() { mRoomNo = -1; }
|
||||
|
||||
/* 0x00 */ s8 mRoomNo;
|
||||
/* 0x02 */ dSv_zoneBit_c mZoneBit;
|
||||
/* 0x0C */ dSv_zoneActor_c mZoneActor;
|
||||
@@ -541,6 +543,13 @@ public:
|
||||
mLastMode = mode;
|
||||
}
|
||||
|
||||
s16 getStartPoint() const { return mStartCode; }
|
||||
u32 getLastMode() const { return mLastMode; }
|
||||
s8 getRoomNo() const { return mRestartRoom; }
|
||||
u32 getRoomParam() const { return mRestartParam; }
|
||||
cXyz& getRoomPos() { return mRestartPos; }
|
||||
s16 getRoomAngleY() const { return mRestartAngle; }
|
||||
|
||||
/* 0x00 */ s8 mRestartRoom;
|
||||
/* 0x01 */ u8 field_0x1;
|
||||
/* 0x02 */ s8 mRoomNo;
|
||||
@@ -557,7 +566,15 @@ public:
|
||||
|
||||
class dSv_turnRestart_c {
|
||||
public:
|
||||
/* 8005D5B4 */ void set(cXyz const&, s16, s8, u32, cXyz const&, s16, int);
|
||||
void set(cXyz const&, s16, s8, u32, cXyz const&, s16, int);
|
||||
|
||||
u32 getParam() const { return mParam; }
|
||||
cXyz& getPos() { return mPosition; }
|
||||
s16 getAngleY() const { return mAngleY; }
|
||||
|
||||
cXyz& getShipPos() { return field_0x24; }
|
||||
s16 getShipAngleY() const { return field_0x30; }
|
||||
s8 getRoomNo() { return mRoomNo; }
|
||||
|
||||
/* 0x00 */ cXyz mPosition;
|
||||
/* 0x0C */ u32 mParam;
|
||||
@@ -592,29 +609,34 @@ STATIC_ASSERT(sizeof(dSv_save_c) == 0x728);
|
||||
|
||||
class dSv_info_c {
|
||||
public:
|
||||
/* 8005D604 */ void init();
|
||||
/* 8005D660 */ void reinit();
|
||||
/* 8005D8C8 */ void getSave(int);
|
||||
/* 8005D988 */ void putSave(int);
|
||||
/* 8005DA70 */ void initZone();
|
||||
/* 8005DAC8 */ int createZone(int);
|
||||
/* 8005DB24 */ void onSwitch(int, int);
|
||||
/* 8005DCEC */ void offSwitch(int, int);
|
||||
/* 8005DE98 */ BOOL isSwitch(int, int);
|
||||
/* 8005DFE0 */ BOOL revSwitch(int, int);
|
||||
/* 8005E190 */ void onItem(int, int);
|
||||
/* 8005E324 */ BOOL isItem(int, int);
|
||||
/* 8005E4BC */ void onActor(int, int);
|
||||
/* 8005E5F0 */ BOOL isActor(int, int);
|
||||
/* 8005E780 */ void memory_to_card(char*, int);
|
||||
/* 8005EA24 */ void card_to_memory(char*, int);
|
||||
/* 8005ED00 */ int initdata_to_card(char*, int);
|
||||
void init();
|
||||
void reinit();
|
||||
void getSave(int);
|
||||
void putSave(int);
|
||||
void initZone();
|
||||
int createZone(int);
|
||||
void onSwitch(int, int);
|
||||
void offSwitch(int, int);
|
||||
BOOL isSwitch(int, int);
|
||||
BOOL revSwitch(int, int);
|
||||
void onItem(int, int);
|
||||
BOOL isItem(int, int);
|
||||
void onActor(int, int);
|
||||
BOOL isActor(int, int);
|
||||
void memory_to_card(char*, int);
|
||||
void card_to_memory(char*, int);
|
||||
int initdata_to_card(char*, int);
|
||||
|
||||
dSv_save_c& getSavedata() { return mSavedata; }
|
||||
dSv_player_c& getPlayer() { return mSavedata.getPlayer(); }
|
||||
dSv_event_c& getEvent() { return mSavedata.getEvent(); }
|
||||
dSv_restart_c& getRestart() { return mRestart; }
|
||||
dSv_turnRestart_c& getTurnRestart() { return mTurnRestart; }
|
||||
dSv_memory_c& getMemory() { return mMemory; }
|
||||
dSv_zone_c& getZone(int id) { return mZone[id]; }
|
||||
|
||||
void removeZone(int zoneNo) { mZone[zoneNo].reset(); }
|
||||
void initDan(s8 i_stage) { mDan.init(i_stage); }
|
||||
|
||||
static const int MEMORY_SWITCH = 0x80;
|
||||
static const int DAN_SWITCH = 0x40;
|
||||
|
||||
+621
-248
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,40 @@
|
||||
#ifndef D_TIMER_H
|
||||
#define D_TIMER_H
|
||||
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
#include "f_op/f_op_msg_mng.h"
|
||||
|
||||
class dDlst_TimerScrnDraw_c;
|
||||
|
||||
class dTimer_c {
|
||||
public:
|
||||
void _create();
|
||||
void _execute();
|
||||
void _draw();
|
||||
void _delete();
|
||||
void RestTimeCheck(int);
|
||||
void deleteCheck();
|
||||
void SetSE();
|
||||
void start();
|
||||
void start(s16);
|
||||
void stock_start();
|
||||
void stock_start(s16);
|
||||
void stop(u8);
|
||||
void restart(u8);
|
||||
void end(int);
|
||||
void deleteRequest();
|
||||
void getTimeMs();
|
||||
void getLimitTimeMs();
|
||||
void getRestTimeMs();
|
||||
|
||||
/* 0x000 */ msg_class parent;
|
||||
/* 0x0FC */ dDlst_TimerScrnDraw_c* mpScrnDraw;
|
||||
/* 0x100 */ u8 field_0x100[0x104 - 0x100];
|
||||
/* 0x104 */ request_of_phase_process_class mPhs;
|
||||
/* 0x10C */ u8 field_0x10C[0x154 - 0x10C];
|
||||
/* 0x154 */ int field_0x154;
|
||||
/* 0x158 */ u8 field_0x158[0x170 - 0x158];
|
||||
/* 0x170 */ JKRHeap* mpSolidHeap;
|
||||
};
|
||||
|
||||
#endif /* D_TIMER_H */
|
||||
@@ -349,11 +349,12 @@ void fopAcM_delete(fopAc_ac_c* p_actor);
|
||||
|
||||
s32 fopAcM_delete(unsigned int actorID);
|
||||
|
||||
s32 fopAcM_create(s16 procName, u16 enemyNo, u32 parameter, cXyz* p_pos, int roomNo,
|
||||
csXyz* p_angle, cXyz* p_scale, s8 subType, createFunc p_createFunc);
|
||||
s32 fopAcM_create(char*, u32 i_parameter, cXyz* i_pos, int i_roomNo, csXyz* i_angle, cXyz* i_scale, createFunc i_createFunc);
|
||||
|
||||
s32 fopAcM_create(s16 procName, u32 parameter, cXyz* p_pos, int roomNo, csXyz* p_angle,
|
||||
cXyz* p_scale, s8 subType);
|
||||
s32 fopAcM_create(s16 i_procName, u32 i_parameter, cXyz* i_pos, int i_roomNo, csXyz* i_angle,
|
||||
cXyz* i_scale, s8 i_subType, createFunc i_createFunc);
|
||||
|
||||
inline s32 fopAcM_create(s16 i_procName, createFunc i_createFunc, void*);
|
||||
|
||||
void* fopAcM_fastCreate(s16 procName, u32 parameter, cXyz* p_pos, int roomNo,
|
||||
csXyz* p_angle, cXyz* p_scale, s8 subType,
|
||||
|
||||
+1810
-947
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user