mirror of
https://github.com/zeldaret/tww.git
synced 2026-09-04 02:09:50 -04:00
Merge pull request #546 from SuperDude88/ghostship
d_a_ghostship Mostly Done
This commit is contained in:
@@ -2,24 +2,30 @@
|
||||
#define D_A_GHOSTSHIP_H
|
||||
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
#include "m_Do/m_Do_hostIO.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "d/d_cloth_packet.h"
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_lib.h"
|
||||
|
||||
class daGhostship_c : public fopAc_ac_c {
|
||||
public:
|
||||
bool checkInShip() { return mbInShip; }
|
||||
bool checkInShip() { return mbCanEnterShip; }
|
||||
void getAlpha() {}
|
||||
void setMtx() {}
|
||||
|
||||
inline s32 _create();
|
||||
inline BOOL _delete();
|
||||
inline BOOL _draw();
|
||||
inline BOOL _execute();
|
||||
inline bool _delete();
|
||||
inline bool _draw();
|
||||
inline bool _execute();
|
||||
|
||||
void _createHeap();
|
||||
BOOL _createHeap();
|
||||
void pathMove();
|
||||
void modeWaitInit();
|
||||
void modeWait();
|
||||
void modeRealize();
|
||||
void _pathMove(cXyz*, cXyz*, cXyz*);
|
||||
bool _pathMove(cXyz*, cXyz*, cXyz*);
|
||||
void modePathMoveInit();
|
||||
void modePathMove();
|
||||
void modeProcCall();
|
||||
@@ -27,9 +33,51 @@ public:
|
||||
void getArg();
|
||||
|
||||
public:
|
||||
/* Place member variables here */
|
||||
/* 0x290 */ u8 m290[0x708 - 0x290];
|
||||
/* 0x708 */ bool mbInShip;
|
||||
/* 0x290 */ u32 mMode;
|
||||
/* 0x294 */ s32 pathId;
|
||||
/* 0x298 */ u8 moonPhase;
|
||||
/* 0x29C */ cXyz mCurPntPos;
|
||||
/* 0x2A8 */ s8 mPathPntNo;
|
||||
/* 0x2AC */ dPath* mPath;
|
||||
/* 0x2B0 */ u32 field_0x2B0;
|
||||
/* 0x2B4 */ cXyz mNextPntPos;
|
||||
/* 0x2C0 */ u32 field_0x2C0;
|
||||
/* 0x2C4 */ u32 field_0x2C4;
|
||||
/* 0x2C8 */ u32 field_0x2C8;
|
||||
/* 0x2CC */ request_of_phase_process_class mPhs;
|
||||
/* 0x2D4 */ request_of_phase_process_class mClothPhs;
|
||||
/* 0x2DC */ dCloth_packet_c* mpCloth;
|
||||
/* 0x2E0 */ dCloth_packet_c* mpCloth2;
|
||||
/* 0x2E4 */ J3DModel* mpModel;
|
||||
/* 0x2E8 */ mDoExt_btkAnm mBtk;
|
||||
/* 0x2FC */ f32 mAlpha;
|
||||
/* 0x300 */ dBgS_ObjAcch mAcch;
|
||||
/* 0x4C4 */ dBgS_AcchCir mCir;
|
||||
/* 0x504 */ dLib_wave_c mWave;
|
||||
/* 0x510 */ bool mbEnteredShip;
|
||||
/* 0x514 */ dLib_circle_path_c mPaths[0xC];
|
||||
/* 0x6C4 */ f32 field_0x6C4[0xC];
|
||||
/* 0x6F4 */ cXyz mPathPos;
|
||||
/* 0x700 */ u32 field_0x700;
|
||||
/* 0x704 */ f32 mPathSpeed;
|
||||
/* 0x708 */ bool mbCanEnterShip;
|
||||
|
||||
static const u32 m_heapsize;
|
||||
static const char m_arc_name[];
|
||||
static const char m_cloth_arc_name[];
|
||||
};
|
||||
|
||||
class daGhostship_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
daGhostship_HIO_c();
|
||||
~daGhostship_HIO_c() {}
|
||||
|
||||
/* 0x04 */ u8 field_0x04;
|
||||
/* 0x05 */ bool hideShip;
|
||||
/* 0x08 */ f32 shipAlpha;
|
||||
/* 0x0C */ f32 field_0x0C;
|
||||
/* 0x10 */ f32 shipHideDist;
|
||||
/* 0x14 */ f32 shipEnterDist;
|
||||
};
|
||||
|
||||
#endif /* D_A_GHOSTSHIP_H */
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
class daTag_Gship_c : public fopAc_ac_c {
|
||||
public:
|
||||
enum Proc_e {
|
||||
|
||||
CLEAR_WAIT = 0,
|
||||
CLEAR_EVENT
|
||||
};
|
||||
|
||||
void modeProcInit(int) {}
|
||||
@@ -16,20 +17,28 @@ public:
|
||||
void modeClearEventInit();
|
||||
void modeClearEvent();
|
||||
void modeProc(Proc_e, int);
|
||||
BOOL _execute();
|
||||
BOOL _draw();
|
||||
bool _execute();
|
||||
bool _draw();
|
||||
void getArg();
|
||||
s32 _create();
|
||||
BOOL _delete();
|
||||
bool _delete();
|
||||
|
||||
public:
|
||||
/* 0x290 */ int mMode;
|
||||
/* 0x294 */ s8 m294;
|
||||
/* 0x295 */ s8 m295;
|
||||
/* 0x296 */ s8 m296;
|
||||
/* 0x297 */ s8 m297;
|
||||
/* 0x298 */ f32 m298;
|
||||
/* 0x29C */ u8 m29C[0x2A4 - 0x29C];
|
||||
};
|
||||
/* 0x294 */ s8 field_0x294;
|
||||
/* 0x298 */ f32 field_0x298;
|
||||
/* 0x29C */ u8 field_0x29C[0x2A4 - 0x29C];
|
||||
}; // Size: 0x2A4
|
||||
|
||||
class daTag_Gship_HIO_c {
|
||||
public:
|
||||
daTag_Gship_HIO_c();
|
||||
virtual ~daTag_Gship_HIO_c() {}
|
||||
|
||||
/* 0x04 */ s8 field_0x04;
|
||||
/* 0x05 */ u8 field_0x05;
|
||||
/* 0x08 */ u32 field_0x08;
|
||||
/* 0x0C */ u32 field_0x0C;
|
||||
}; // Size: 0x10
|
||||
|
||||
#endif /* D_A_TAG_GHOSTSHIP_H */
|
||||
|
||||
@@ -9,12 +9,14 @@
|
||||
class dKy_tevstr_c;
|
||||
|
||||
class dCloth_packet_c : public J3DPacket {
|
||||
typedef int (*FactorCheck)(dCloth_packet_c*, int, int);
|
||||
|
||||
/* 0x10 */ s32 mFlyGridSize;
|
||||
/* 0x14 */ s32 mHoistGridSize;
|
||||
/* 0x18 */ f32 mFlyLength;
|
||||
/* 0x1C */ f32 mHoistLength;
|
||||
/* 0x20 */ dKy_tevstr_c* mpTevstr;
|
||||
/* 0x24 */ u32 mpFactorCheckCB;
|
||||
/* 0x24 */ FactorCheck mpFactorCheckCB;
|
||||
/* 0x28 */ cXyz* mpPosArr[2];
|
||||
/* 0x30 */ cXyz* mpNrmArr[2];
|
||||
/* 0x38 */ cXyz* mpNrmArrBack[2];
|
||||
@@ -52,6 +54,25 @@ public:
|
||||
|
||||
void setScale(cXyz scale) { mScale = scale; }
|
||||
void setMtx(Mtx mtx);
|
||||
void setFactorCheckCB(FactorCheck cb) { mpFactorCheckCB = cb; }
|
||||
void setWindPower(f32 wind, f32 windWave) {
|
||||
mWindSpeed = wind;
|
||||
mWindSpeedWave = windWave;
|
||||
}
|
||||
void setParam(f32 spring, f32 grav, f32 drag, f32 flyFlex, f32 hoistFlex, s16 wave, s16 param_1, s16 ripple, s16 rotate, f32 wind, f32 windWave) {
|
||||
mSpring = spring;
|
||||
mGravity = grav;
|
||||
mDrag = drag;
|
||||
mFlyFlex = flyFlex;
|
||||
mHoistFlex = hoistFlex;
|
||||
mWaveSpeed = wave;
|
||||
field_0xF2 = param_1;
|
||||
mRipple = ripple;
|
||||
mRotateY = rotate;
|
||||
setWindPower(wind, windWave);
|
||||
}
|
||||
|
||||
void setGlobalWind(cXyz*);
|
||||
}; // Size: 0xFC
|
||||
|
||||
dCloth_packet_c* dClothVobj03_create(ResTIMG*, ResTIMG*, dKy_tevstr_c*, cXyz**);
|
||||
@@ -59,4 +80,6 @@ dCloth_packet_c* dClothVobj04_create(ResTIMG*, ResTIMG*, dKy_tevstr_c*, cXyz**);
|
||||
dCloth_packet_c* dClothVobj05_create(ResTIMG*, ResTIMG*, dKy_tevstr_c*, cXyz**);
|
||||
dCloth_packet_c* dClothVobj07_0_create(ResTIMG*, ResTIMG*, dKy_tevstr_c*, cXyz**);
|
||||
|
||||
dCloth_packet_c* dCloth_packetXlu_create(ResTIMG*, ResTIMG*, int, int, float, float, dKy_tevstr_c*, cXyz**);
|
||||
|
||||
#endif /* D_A_CLOTH_PACKET_H */
|
||||
|
||||
@@ -1533,6 +1533,8 @@ inline dSv_player_status_c_c* dComIfGs_getpPlayerStatusC(int i_idx) {
|
||||
|
||||
u8 dComIfGs_checkGetItemNum(u8 i_itemNo);
|
||||
|
||||
stage_scls_info_class* dComIfGd_getMeshSceneList(Vec& vec);
|
||||
|
||||
BOOL dComIfGs_checkSeaLandingEvent(s8 i_roomNo);
|
||||
|
||||
/**
|
||||
|
||||
@@ -386,7 +386,7 @@ enum dKy_dice_wether_state {
|
||||
int dKy_getdaytime_hour();
|
||||
int dKy_getdaytime_minute();
|
||||
int dKy_get_dayofweek();
|
||||
u32 dKy_moon_type_chk();
|
||||
s32 dKy_moon_type_chk();
|
||||
BOOL dKy_checkEventNightStop();
|
||||
void dKy_set_nexttime(f32);
|
||||
void dKy_instant_timechg(f32);
|
||||
@@ -416,6 +416,8 @@ void dKy_Sound_init();
|
||||
void dKy_change_colset(u8 param_0, u8 param_1, f32 param_2);
|
||||
void dKy_change_colpat(u8 param_0);
|
||||
void dKy_custom_colset(u8 param_0, u8 param_1, f32 i_blend);
|
||||
void dKy_pship_existense_set();
|
||||
void dKy_pship_existense_cut();
|
||||
u8 dKy_pship_existense_chk();
|
||||
void dKy_Itemgetcol_chg_off();
|
||||
void dKy_Itemgetcol_chg_move();
|
||||
|
||||
Reference in New Issue
Block a user