mirror of
https://github.com/projectPiki/pikmin2.git
synced 2024-11-23 05:20:06 +00:00
Unsorted header sorting, round 1 (#60)
* efx progress * More efx and efx2d sorting * Fix formatting
This commit is contained in:
parent
73dd2e6907
commit
c54b88f7fa
@ -5,8 +5,11 @@
|
||||
|
||||
struct AppThread : public JKRThread {
|
||||
AppThread(u32 stackSize, int msgCount, int threadPriority);
|
||||
virtual ~AppThread(); // _08
|
||||
virtual u32 run(); // _0C
|
||||
|
||||
virtual ~AppThread(); // _08 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_7C = JKRThread
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -31,10 +31,13 @@ struct BootSection : public Game::BaseHIOSection {
|
||||
};
|
||||
|
||||
BootSection(JKRHeap*);
|
||||
~BootSection();
|
||||
|
||||
void doDraw(Graphics&);
|
||||
virtual bool doUpdate();
|
||||
virtual ~BootSection(); // _08
|
||||
virtual void run(); // _0C
|
||||
virtual void init(); // _18
|
||||
virtual bool forceReset(); // _2C (weak)
|
||||
virtual bool doUpdate(); // _3C
|
||||
virtual void doDraw(Graphics&); // _40
|
||||
|
||||
void drawDolbyLogo(Graphics&);
|
||||
void drawEpilepsy(Graphics&);
|
||||
@ -43,14 +46,10 @@ struct BootSection : public Game::BaseHIOSection {
|
||||
void drawSetInterlace(Graphics&);
|
||||
void drawSetProgressive(Graphics&);
|
||||
|
||||
virtual bool forceReset();
|
||||
void init();
|
||||
|
||||
void load2DResource();
|
||||
void loadBootResource();
|
||||
void loadResident();
|
||||
|
||||
void run();
|
||||
void runWait(RunWaitCallback);
|
||||
|
||||
void setMode(int);
|
||||
|
@ -34,7 +34,7 @@ struct CullPlane : public ArrayContainer<Plane> {
|
||||
virtual void writeObject(Stream&, Plane&) {}; // _2C (weak)
|
||||
virtual void readObject(Stream&, Plane&) {}; // _30 (weak)
|
||||
|
||||
bool isPointVisible(Vector3f&, float);
|
||||
bool isPointVisible(Vector3f&, f32);
|
||||
bool isVisible(Sys::Sphere&);
|
||||
bool isCylinderVisible(Sys::Cylinder&);
|
||||
};
|
||||
@ -63,8 +63,8 @@ struct CullFrustum : public CullPlane {
|
||||
Vector3f getViewVector();
|
||||
|
||||
// CullPlane _00 - _24
|
||||
float m_viewAngle; // _28
|
||||
float m_aspectRatio; // _2C
|
||||
f32 m_viewAngle; // _28
|
||||
f32 m_aspectRatio; // _2C
|
||||
Matrixf* m_viewMatrix; // _30
|
||||
};
|
||||
|
||||
@ -78,7 +78,7 @@ struct Camera : public CullFrustum {
|
||||
virtual void updatePlanes(); // _50
|
||||
virtual void updateScreenConstants(); // _54
|
||||
virtual Vector3f getLookAtPosition_(); // _58 (weak)
|
||||
virtual float getTargetDistance(); // _5C (weak)
|
||||
virtual f32 getTargetDistance(); // _5C (weak)
|
||||
virtual Vector3f* getPositionPtr(); // _60
|
||||
virtual Vector3f* on_getPositionPtr() { return nullptr; } // _64 (weak)
|
||||
virtual Vector3f* getSoundPositionPtr() // _68 (weak)
|
||||
@ -93,34 +93,34 @@ struct Camera : public CullFrustum {
|
||||
virtual void updateMatrix() { } // _74 (weak)
|
||||
virtual void doUpdate(); // _78 (weak)
|
||||
|
||||
void calcProperDistance(float, float);
|
||||
float calcScreenSize(Sys::Sphere&);
|
||||
void calcProperDistance(f32, f32);
|
||||
f32 calcScreenSize(Sys::Sphere&);
|
||||
void copyFrom(Camera*);
|
||||
float getFar();
|
||||
f32 getFar();
|
||||
Vector3f getLookAtPosition();
|
||||
float getNear();
|
||||
void setFixNearFar(bool, float, float);
|
||||
f32 getNear();
|
||||
void setFixNearFar(bool, f32, f32);
|
||||
void setProjection();
|
||||
void update();
|
||||
// void updatePlanes();
|
||||
void updateSoundCamera(float);
|
||||
void updateSoundCamera(f32);
|
||||
|
||||
inline bool isRunning() { return (m_jstObject && m_jstObject->isRunning()); }
|
||||
|
||||
// CullFrustum _00 - _34
|
||||
Matrixf _34; // _034
|
||||
float m_near; // _064 - distance to 'near' plane
|
||||
float m_far; // _068 - distance to 'far' plane
|
||||
f32 m_near; // _064 - distance to 'near' plane
|
||||
f32 m_far; // _068 - distance to 'far' plane
|
||||
bool isFixed; // _06C
|
||||
float m_projectionNear; // _070 - projected distance to 'near' plane when not in fixed camera
|
||||
float m_projectionFar; // _074 - projected distance to 'far' plane when not in fixed camera
|
||||
f32 m_projectionNear; // _070 - projected distance to 'near' plane when not in fixed camera
|
||||
f32 m_projectionFar; // _074 - projected distance to 'far' plane when not in fixed camera
|
||||
Vector3f m_soundPosition; // _078
|
||||
Matrixf m_soundMatrix; // _084
|
||||
Mtx44 m_projectionMtx; // _0B4
|
||||
Mtx44 _F4; // _0F4
|
||||
float _134; // _134
|
||||
float _138; // _138
|
||||
float _13C; // _13C
|
||||
f32 _134; // _134
|
||||
f32 _138; // _138
|
||||
f32 _13C; // _13C
|
||||
Game::P2JST::ObjectCamera* m_jstObject; // _140
|
||||
};
|
||||
|
||||
@ -141,12 +141,12 @@ struct LookAtCamera : public Camera {
|
||||
};
|
||||
|
||||
struct BlendCamera : public Camera {
|
||||
BlendCamera(int, struct Camera**);
|
||||
BlendCamera(int, Camera**);
|
||||
|
||||
virtual ~BlendCamera() { } // _08 (weak)
|
||||
virtual void doUpdate(); // _78
|
||||
|
||||
void setBlendFactor(float);
|
||||
void setBlendFactor(f32);
|
||||
void setCameras(Camera**);
|
||||
|
||||
// Camera _00 - _144
|
||||
|
@ -19,7 +19,7 @@ namespace Caption {
|
||||
struct Node : public CNode {
|
||||
Node();
|
||||
|
||||
virtual ~Node() { } // _08
|
||||
virtual ~Node() { } // _08 (weak)
|
||||
virtual void read(Stream&); // _10
|
||||
|
||||
u32 m_startFrame; // _18
|
||||
@ -33,8 +33,8 @@ struct Node : public CNode {
|
||||
struct Mgr : public CNode {
|
||||
Mgr();
|
||||
|
||||
virtual ~Mgr(); // _00
|
||||
virtual void read(Stream&); // _08
|
||||
virtual ~Mgr(); // _08 (weak)
|
||||
virtual void read(Stream&); // _10
|
||||
|
||||
void draw(Graphics&);
|
||||
P2JME::Caption::TControl* getFreeMessage();
|
||||
|
@ -109,8 +109,6 @@ struct CollPart : public CNode {
|
||||
struct CollPartMgr : public MonoObjectMgr<CollPart> {
|
||||
|
||||
virtual ~CollPartMgr() { } // _08 (weak)
|
||||
// virtual void _2C() = 0; // _2C - need to work out
|
||||
// virtual void _30() = 0; // _30 - need to work out
|
||||
|
||||
CollPart* createOne(SysShape::MtxObject*);
|
||||
};
|
||||
@ -152,7 +150,7 @@ struct AgeCollPart : public CollPart {
|
||||
u8 _64; // _64
|
||||
};
|
||||
|
||||
struct CollPartFactory : CollPart {
|
||||
struct CollPartFactory : public CollPart {
|
||||
inline CollPartFactory(Stream& input)
|
||||
: CollPart()
|
||||
{
|
||||
|
@ -19,11 +19,13 @@ struct HIORootNode : public Game::HIORootNode {
|
||||
m_name = "THPセクション";
|
||||
}
|
||||
|
||||
virtual ~HIORootNode() { } // _00
|
||||
virtual ~HIORootNode() { } // _08 (weak)
|
||||
};
|
||||
|
||||
// Size: 0x1B0
|
||||
struct Section : public Game::BaseHIOSection {
|
||||
Section(JKRHeap*);
|
||||
|
||||
virtual ~Section() { } // _08
|
||||
virtual void init(); // _18
|
||||
virtual void doExit(); // _24
|
||||
@ -33,9 +35,10 @@ struct Section : public Game::BaseHIOSection {
|
||||
virtual bool doUpdate(); // _3C
|
||||
virtual void doDraw(Graphics&); // _40
|
||||
|
||||
Section(JKRHeap*);
|
||||
void loadResource();
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_48 = Game::BaseHIOSection
|
||||
DvdThreadCommand m_threadCommand; // _048
|
||||
Controller* _D8; // _0D8
|
||||
float _DC; // _0DC
|
||||
|
@ -2,6 +2,7 @@
|
||||
#define _DVDTHREADCOMMAND_H
|
||||
|
||||
#include "JSystem/JSupport/JSUList.h"
|
||||
#include "AppThread.h"
|
||||
#include "types.h"
|
||||
|
||||
struct JKRArchive;
|
||||
@ -28,4 +29,25 @@ struct DvdThreadCommand {
|
||||
JSUPtrLink m_link; // _5C
|
||||
};
|
||||
|
||||
struct DvdThread : public AppThread {
|
||||
struct ESyncBlockFlag {
|
||||
// might be an enum? size 0x4?
|
||||
};
|
||||
|
||||
DvdThread(u32, int, int);
|
||||
|
||||
virtual ~DvdThread(); // _08 (weak)
|
||||
virtual void run(); // _0C
|
||||
|
||||
void loadArchive(DvdThreadCommand*);
|
||||
void loadFile(DvdThreadCommand*);
|
||||
void sendCommand(DvdThreadCommand*);
|
||||
void sync(DvdThreadCommand*, ESyncBlockFlag);
|
||||
void syncAll(ESyncBlockFlag);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_7C = AppThread
|
||||
JSUPtrList _7C; // _7C
|
||||
};
|
||||
|
||||
#endif
|
||||
|
38
include/DynamicsParms.h
Normal file
38
include/DynamicsParms.h
Normal file
@ -0,0 +1,38 @@
|
||||
#ifndef _DYNAMICSPARMS_H
|
||||
#define _DYNAMICSPARMS_H
|
||||
|
||||
#include "types.h"
|
||||
#include "Parameters.h"
|
||||
#include "JSystem/JKR/JKRDisposer.h"
|
||||
|
||||
// this has a really weird inheritance thing going on, idk.
|
||||
// this is my best guess atm - HP
|
||||
struct DynamicsParms : public Parameters, public JKRDisposer {
|
||||
DynamicsParms();
|
||||
|
||||
// virtual void _08() = 0;
|
||||
// virtual void _0C() = 0;
|
||||
// then dtor thunk at _10?
|
||||
virtual ~DynamicsParms(); // _14 (weak)
|
||||
|
||||
void globalInstance();
|
||||
|
||||
// _00-_0C = Parameters
|
||||
// _0C-_24 = JKRDisposer
|
||||
Parm<bool> _24; // _24, d009?
|
||||
Parm<f32> _40; // _40, staParm/d011?
|
||||
Parm<f32> _68; // _68, static/d010?
|
||||
Parm<f32> _90; // _90, microCollision/d000?
|
||||
Parm<bool> _B8; // _B8, d001?
|
||||
Parm<f32> _D4; // _D4, elasticity/d002?
|
||||
Parm<bool> _FC; // _FC, d003?
|
||||
Parm<bool> _118; // _118, d004?
|
||||
Parm<bool> _134; // _134, d005?
|
||||
Parm<f32> _150; // _150, d006?
|
||||
Parm<bool> _178; // _178, d007?
|
||||
Parm<f32> _194; // _194, d008?
|
||||
// _1BC = vtable??
|
||||
// _1C0 = IParameters maybe??
|
||||
};
|
||||
|
||||
#endif
|
@ -8,15 +8,18 @@
|
||||
struct Graphics;
|
||||
|
||||
struct FogMgr : public CNode {
|
||||
~FogMgr();
|
||||
FogMgr();
|
||||
|
||||
virtual ~FogMgr(); // _08 (weak)
|
||||
|
||||
void off(Graphics&);
|
||||
void set(Graphics&);
|
||||
|
||||
void getColor(Color4&);
|
||||
void setColor(Color4&);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = CNode
|
||||
GXFogType m_type; // _18
|
||||
float m_nearZ; // _1C
|
||||
float m_farZ; // _20
|
||||
|
@ -1,177 +0,0 @@
|
||||
#ifndef _GAME_ARMOR_H
|
||||
#define _GAME_ARMOR_H
|
||||
|
||||
namespace SysShape {
|
||||
struct AnimMgr;
|
||||
} // namespace SysShape
|
||||
|
||||
namespace Game {
|
||||
struct StateArg;
|
||||
struct Creature;
|
||||
struct EnemyBase;
|
||||
struct ShadowParam;
|
||||
struct CreatureInitArg;
|
||||
struct EnemyInitialParamBase;
|
||||
|
||||
struct Armor {
|
||||
struct StateAppear {
|
||||
void cleanup(Game::EnemyBase*);
|
||||
void exec(Game::EnemyBase*);
|
||||
void init(Game::EnemyBase*, Game::StateArg*);
|
||||
};
|
||||
|
||||
struct StateAttack1 {
|
||||
void cleanup(Game::EnemyBase*);
|
||||
void exec(Game::EnemyBase*);
|
||||
void init(Game::EnemyBase*, Game::StateArg*);
|
||||
};
|
||||
|
||||
struct StateAttack2 {
|
||||
void cleanup(Game::EnemyBase*);
|
||||
void exec(Game::EnemyBase*);
|
||||
void init(Game::EnemyBase*, Game::StateArg*);
|
||||
};
|
||||
|
||||
struct StateDead {
|
||||
void cleanup(Game::EnemyBase*);
|
||||
void exec(Game::EnemyBase*);
|
||||
void init(Game::EnemyBase*, Game::StateArg*);
|
||||
};
|
||||
|
||||
struct StateDive {
|
||||
void cleanup(Game::EnemyBase*);
|
||||
void exec(Game::EnemyBase*);
|
||||
void init(Game::EnemyBase*, Game::StateArg*);
|
||||
};
|
||||
|
||||
struct StateEat {
|
||||
void cleanup(Game::EnemyBase*);
|
||||
void exec(Game::EnemyBase*);
|
||||
void init(Game::EnemyBase*, Game::StateArg*);
|
||||
};
|
||||
|
||||
struct StateFail {
|
||||
void cleanup(Game::EnemyBase*);
|
||||
void exec(Game::EnemyBase*);
|
||||
void init(Game::EnemyBase*, Game::StateArg*);
|
||||
};
|
||||
|
||||
struct StateFlick {
|
||||
void cleanup(Game::EnemyBase*);
|
||||
void exec(Game::EnemyBase*);
|
||||
void init(Game::EnemyBase*, Game::StateArg*);
|
||||
};
|
||||
|
||||
struct StateGoHome {
|
||||
void cleanup(Game::EnemyBase*);
|
||||
void exec(Game::EnemyBase*);
|
||||
void init(Game::EnemyBase*, Game::StateArg*);
|
||||
};
|
||||
|
||||
struct StateMove {
|
||||
void cleanup(Game::EnemyBase*);
|
||||
void exec(Game::EnemyBase*);
|
||||
void init(Game::EnemyBase*, Game::StateArg*);
|
||||
};
|
||||
|
||||
struct StateMoveCentre {
|
||||
void cleanup(Game::EnemyBase*);
|
||||
void exec(Game::EnemyBase*);
|
||||
void init(Game::EnemyBase*, Game::StateArg*);
|
||||
};
|
||||
|
||||
struct StateMoveSide {
|
||||
void cleanup(Game::EnemyBase*);
|
||||
void exec(Game::EnemyBase*);
|
||||
void init(Game::EnemyBase*, Game::StateArg*);
|
||||
};
|
||||
|
||||
struct StateMoveTop {
|
||||
void cleanup(Game::EnemyBase*);
|
||||
void exec(Game::EnemyBase*);
|
||||
void init(Game::EnemyBase*, Game::StateArg*);
|
||||
};
|
||||
|
||||
struct StateStay {
|
||||
void cleanup(Game::EnemyBase*);
|
||||
void exec(Game::EnemyBase*);
|
||||
void init(Game::EnemyBase*, Game::StateArg*);
|
||||
};
|
||||
|
||||
struct Parms {
|
||||
Parms();
|
||||
void read(struct Stream&);
|
||||
};
|
||||
|
||||
struct FSM {
|
||||
void init(Game::EnemyBase*);
|
||||
};
|
||||
|
||||
struct Mgr {
|
||||
Mgr(int, unsigned char);
|
||||
~Mgr();
|
||||
|
||||
void createObj(int);
|
||||
void doAlloc();
|
||||
void getEnemy(int);
|
||||
void getEnemyTypeID();
|
||||
};
|
||||
|
||||
struct Obj {
|
||||
Obj();
|
||||
~Obj();
|
||||
|
||||
void attackPikmin();
|
||||
void breakTargetBridge();
|
||||
void checkBreakOrMove();
|
||||
void createAppearEffect();
|
||||
void createAttackEffect();
|
||||
void createBridgeEffect();
|
||||
void createDisAppearEffect();
|
||||
void createEffect();
|
||||
void damageCallBack(Game::Creature*, float, struct CollPart*);
|
||||
void doDebugDraw(struct Graphics&);
|
||||
void doDirectDraw(Graphics&);
|
||||
void doEndMovie();
|
||||
void doFinishStoneState();
|
||||
void doStartMovie();
|
||||
void doStartStoneState();
|
||||
void doUpdate();
|
||||
void effectDrawOff();
|
||||
void effectDrawOn();
|
||||
void getDownSmokeScale();
|
||||
void getEnemyTypeID();
|
||||
void getMouthSlots();
|
||||
void getShadowParam(Game::ShadowParam&);
|
||||
void getSlotPikiNum();
|
||||
void hipdropCallBack(Game::Creature*, float, CollPart*);
|
||||
void initMouthSlots();
|
||||
void isBreakBridge();
|
||||
void killSlotPiki();
|
||||
void lifeIncrement();
|
||||
void moveBridgeCentre();
|
||||
void moveBridgeSide();
|
||||
void moveBridgeTop();
|
||||
void onInit(Game::CreatureInitArg*);
|
||||
void resetBridgeSearch();
|
||||
void setBridgeSearch();
|
||||
void setCullingCheck();
|
||||
void setFSM(FSM*);
|
||||
void setInitialSetting(Game::EnemyInitialParamBase*);
|
||||
void setNearestBridge();
|
||||
void setupEffect();
|
||||
void startCarcassMotion();
|
||||
};
|
||||
|
||||
struct ProperAnimator {
|
||||
~ProperAnimator();
|
||||
|
||||
void getAnimator();
|
||||
void getAnimator(int);
|
||||
void setAnimator(SysShape::AnimMgr*);
|
||||
};
|
||||
};
|
||||
|
||||
} // namespace Game
|
||||
|
||||
#endif
|
@ -11,7 +11,7 @@
|
||||
#include "Game/GameMessage.h"
|
||||
|
||||
struct BlackFader;
|
||||
struct BlendCamera;
|
||||
struct Controller;
|
||||
struct HorizonalSplitter;
|
||||
struct WipeInFader;
|
||||
struct WipeOutFader;
|
||||
@ -59,99 +59,111 @@ struct BaseGameSection : public BaseHIOSection {
|
||||
virtual ~ZoomCamera() { } // _08 (weak)
|
||||
virtual void doUpdate(); // _78
|
||||
|
||||
void init(float, float, Vector3<float>&, Controller*);
|
||||
void init(f32, f32, Vector3f&, Controller*);
|
||||
void makeLookAt();
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_198 = LookAtCamera
|
||||
f32 _198; // _198, angleX?
|
||||
f32 _19C; // _19C, angleY?
|
||||
f32 _1A0; // _1A0, cameraDistance?
|
||||
f32 _1A4; // _1A4
|
||||
f32 _1A8; // _1A8, angle?
|
||||
Controller* _1AC; // _1AC
|
||||
};
|
||||
|
||||
virtual ~BaseGameSection(); // _08
|
||||
virtual void init(); // _18
|
||||
virtual void drawInit(Graphics& gfx, Section::EDrawInitMode); // _20
|
||||
virtual bool forceFinish(); // _28 (weak)
|
||||
virtual bool doUpdate(); // _3C
|
||||
virtual void doDraw(Graphics& gfx); // _40
|
||||
virtual void sendMessage(GameMessage&); // _50 (weak)
|
||||
virtual void pre2dDraw(Graphics& gfx); // _54 (weak)
|
||||
virtual void getCurrFloor(); // _58 (weak)
|
||||
virtual void isDevelopSection(); // _5C (weak)
|
||||
virtual void addChallengeScore(int); // _60 (weak)
|
||||
virtual void startMainBgm(); // _64 (weak)
|
||||
virtual void section_fadeout(); // _68 (weak)
|
||||
virtual void goNextFloor(ItemHole::Item*); // _6C (weak)
|
||||
virtual void goCave(ItemCave::Item*); // _70 (weak)
|
||||
virtual void goMainMap(ItemBigFountain::Item*); // _74 (weak)
|
||||
virtual void getCaveID(); // _78 (weak)
|
||||
virtual void getCurrentCourseInfo(); // _7C (weak)
|
||||
virtual void challengeDisablePelplant(); // _80 (weak)
|
||||
virtual void getCaveFilename(); // _84 (weak)
|
||||
virtual void getEditorFilename(); // _88 (weak)
|
||||
virtual void getVsEditNumber(); // _8C (weak)
|
||||
virtual void openContainerWindow(); // _90 (weak)
|
||||
virtual void closeContainerWindow(); // _94 (weak)
|
||||
virtual void playMovie_firstexperience(int, Creature*); // _98 (weak)
|
||||
virtual void playMovie_bootup(Onyon*); // _9C (weak)
|
||||
virtual void playMovie_helloPikmin(Piki*); // _A0 (weak)
|
||||
virtual void enableTimer(float, unsigned long); // _A4 (weak)
|
||||
virtual void disableTimer(unsigned long); // _A8 (weak)
|
||||
virtual void getTimerType(); // _AC (weak)
|
||||
virtual void onMovieStart(MovieConfig*, unsigned long, unsigned long); // _B0 (weak)
|
||||
virtual void onMovieDone(MovieConfig*, unsigned long, unsigned long); // _B4 (weak)
|
||||
virtual void onMovieCommand(int); // _B8
|
||||
virtual void startFadeout(float); // _BC
|
||||
virtual void startFadein(float); // _C0
|
||||
virtual void startFadeoutin(float); // _C4
|
||||
virtual void startFadeblack(); // _C8
|
||||
virtual void startFadewhite(); // _CC
|
||||
virtual void gmOrimaDown(int); // _D0 (weak)
|
||||
virtual void gmPikminZero(); // _D4 (weak)
|
||||
virtual void openCaveInMenu(ItemCave::Item*, int); // _D8 (weak)
|
||||
virtual void openCaveMoreMenu(ItemHole::Item*, Controller*); // _DC (weak)
|
||||
virtual void openKanketuMenu(ItemBigFountain::Item*, Controller*); // _E0 (weak)
|
||||
virtual void on_setCamController(int); // _E4 (weak)
|
||||
virtual void onTogglePlayer(); // _E8 (weak)
|
||||
virtual void onPlayerJoin(); // _EC (weak)
|
||||
virtual void onInit(); // _F0 (weak)
|
||||
virtual void onUpdate(); // _F4 (weak)
|
||||
virtual void initJ3D(); // _F8
|
||||
virtual void initViewports(Graphics& gfx); // _FC
|
||||
virtual void initResources(); // _100
|
||||
virtual void initGenerators(); // _104
|
||||
virtual void initLights(); // _108
|
||||
virtual void draw3D(Graphics& gfx); // _10C
|
||||
virtual void draw2D(Graphics& gfx); // _110
|
||||
virtual void drawParticle(Graphics& gfx, int viewportIndex); // _114
|
||||
virtual void draw_Ogawa2D(Graphics& gfx); // _118
|
||||
virtual void do_drawOtakaraWindow(Graphics& gfx); // _11C
|
||||
virtual void onSetupFloatMemory(); // _120 (weak)
|
||||
virtual void postSetupFloatMemory(); // _124
|
||||
virtual void onSetSoundScene(); // _128 (weak)
|
||||
virtual void onStartHeap(); // _12C (weak)
|
||||
virtual void onClearHeap(); // _130 (weak)
|
||||
|
||||
BaseGameSection(struct JKRHeap*);
|
||||
|
||||
/////////////////// VTABLE
|
||||
virtual ~BaseGameSection(); // _08
|
||||
virtual void init(); // _18
|
||||
virtual void drawInit(Graphics& gfx, Section::EDrawInitMode); // _20
|
||||
virtual bool forceFinish(); // _28 (weak)
|
||||
virtual bool doUpdate(); // _3C
|
||||
virtual void doDraw(Graphics& gfx); // _40
|
||||
virtual void sendMessage(GameMessage&); // _50 (weak)
|
||||
virtual void pre2dDraw(Graphics& gfx); // _54 (weak)
|
||||
virtual void getCurrFloor(); // _58 (weak)
|
||||
virtual void isDevelopSection(); // _5C (weak)
|
||||
virtual void addChallengeScore(int); // _60 (weak)
|
||||
virtual void startMainBgm(); // _64 (weak)
|
||||
virtual void section_fadeout(); // _68 (weak)
|
||||
virtual void goNextFloor(ItemHole::Item*); // _6C (weak)
|
||||
virtual void goCave(ItemCave::Item*); // _70 (weak)
|
||||
virtual void goMainMap(ItemBigFountain::Item*); // _74 (weak)
|
||||
virtual void getCaveID(); // _78 (weak)
|
||||
virtual void getCurrentCourseInfo(); // _7C (weak)
|
||||
virtual void challengeDisablePelplant(); // _80 (weak)
|
||||
virtual void getCaveFilename(); // _84 (weak)
|
||||
virtual void getEditorFilename(); // _88 (weak)
|
||||
virtual void getVsEditNumber(); // _8C (weak)
|
||||
virtual void openContainerWindow(); // _90 (weak)
|
||||
virtual void closeContainerWindow(); // _94 (weak)
|
||||
virtual void playMovie_firstexperience(int, Creature*); // _98 (weak)
|
||||
virtual void playMovie_bootup(Onyon*); // _9C (weak)
|
||||
virtual void playMovie_helloPikmin(Piki*); // _A0 (weak)
|
||||
virtual void enableTimer(f32, u32); // _A4 (weak)
|
||||
virtual void disableTimer(u32); // _A8 (weak)
|
||||
virtual void getTimerType(); // _AC (weak)
|
||||
virtual void onMovieStart(MovieConfig*, u32, u32); // _B0 (weak)
|
||||
virtual void onMovieDone(MovieConfig*, u32, u32); // _B4 (weak)
|
||||
virtual void onMovieCommand(int); // _B8
|
||||
virtual void startFadeout(f32); // _BC
|
||||
virtual void startFadein(f32); // _C0
|
||||
virtual void startFadeoutin(f32); // _C4
|
||||
virtual void startFadeblack(); // _C8
|
||||
virtual void startFadewhite(); // _CC
|
||||
virtual void gmOrimaDown(int); // _D0 (weak)
|
||||
virtual void gmPikminZero(); // _D4 (weak)
|
||||
virtual void openCaveInMenu(ItemCave::Item*, int); // _D8 (weak)
|
||||
virtual void openCaveMoreMenu(ItemHole::Item*, Controller*); // _DC (weak)
|
||||
virtual void openKanketuMenu(ItemBigFountain::Item*, Controller*); // _E0 (weak)
|
||||
virtual void on_setCamController(int); // _E4 (weak)
|
||||
virtual void onTogglePlayer(); // _E8 (weak)
|
||||
virtual void onPlayerJoin(); // _EC (weak)
|
||||
virtual void onInit(); // _F0 (weak)
|
||||
virtual void onUpdate(); // _F4 (weak)
|
||||
virtual void initJ3D(); // _F8
|
||||
virtual void initViewports(Graphics& gfx); // _FC
|
||||
virtual void initResources(); // _100
|
||||
virtual void initGenerators(); // _104
|
||||
virtual void initLights(); // _108
|
||||
virtual void draw3D(Graphics& gfx); // _10C
|
||||
virtual void draw2D(Graphics& gfx); // _110
|
||||
virtual void drawParticle(Graphics& gfx, int viewportIndex); // _114
|
||||
virtual void draw_Ogawa2D(Graphics& gfx); // _118
|
||||
virtual void do_drawOtakaraWindow(Graphics& gfx); // _11C
|
||||
virtual void onSetupf32Memory(); // _120 (weak)
|
||||
virtual void postSetupf32Memory(); // _124
|
||||
virtual void onSetSoundScene(); // _128 (weak)
|
||||
virtual void onStartHeap(); // _12C (weak)
|
||||
virtual void onClearHeap(); // _130 (weak)
|
||||
/////////////////// VTABLE END
|
||||
|
||||
void useSpecificFBTexture(JUTTexture*);
|
||||
void restoreFBTexture();
|
||||
void loadSync(IDelegate*, bool);
|
||||
void waitSyncLoad(bool);
|
||||
void dvdloadGameSystem();
|
||||
void movieDone(Game::MovieConfig*, unsigned long, unsigned long);
|
||||
void movieDone(Game::MovieConfig*, u32, u32);
|
||||
void advanceDayCount();
|
||||
void saveToGeneratorCache(Game::CourseInfo*);
|
||||
void pmTogglePlayer();
|
||||
void setPlayerMode(int);
|
||||
void onCameraBlendFinished(Game::CameraArg*);
|
||||
void setFixNearFar(bool, float, float);
|
||||
void setFixNearFar(bool, f32, f32);
|
||||
void setCamController();
|
||||
void setDefaultPSSceneInfo(PSGame::SceneInfo&);
|
||||
void prepareHoleIn(Vector3<float>&, bool);
|
||||
void prepareFountainOn(Vector3<float>&);
|
||||
void prepareHoleIn(Vector3f&, bool);
|
||||
void prepareFountainOn(Vector3f&);
|
||||
void test_draw_treasure_detector();
|
||||
void directDraw(Graphics& gfx, Viewport*);
|
||||
void directDrawPost(Graphics& gfx, Viewport*);
|
||||
void j3dSetView(Viewport*, bool);
|
||||
void doSimulation(float);
|
||||
void doSimulation(f32);
|
||||
void doSimpleDraw(Viewport*);
|
||||
void doAnimation();
|
||||
void changeGeneratorCursor(Vector3<float>&);
|
||||
void changeGeneratorCursor(Vector3f&);
|
||||
void doEntry();
|
||||
void doSetView(int viewportIndex);
|
||||
void doViewCalc();
|
||||
@ -165,7 +177,7 @@ struct BaseGameSection : public BaseHIOSection {
|
||||
void setupFixMemory_dvdload();
|
||||
void enableAllocHalt();
|
||||
void disableAllocHalt();
|
||||
void setupFloatMemory();
|
||||
void setupf32Memory();
|
||||
void setDrawBuffer(int);
|
||||
void createFallPikminSound();
|
||||
void captureRadarmap(Graphics& gfx);
|
||||
@ -178,59 +190,62 @@ struct BaseGameSection : public BaseHIOSection {
|
||||
void setDraw2DCreature(Game::Creature*);
|
||||
void startZoomWindow();
|
||||
void startKantei2D();
|
||||
void onKanteiDone(Rect<float>&);
|
||||
void onKanteiDone(Rect<f32>&);
|
||||
|
||||
BlendCamera* m_blendCamera; // _50
|
||||
float m_blendFactor; // _54
|
||||
bool m_blendCameraActive; // _58
|
||||
DvdThreadCommand m_dvdThreadCommand; // _5C
|
||||
IDelegate3<MovieConfig*, unsigned long, unsigned long>* _C8; // _C8
|
||||
IDelegate3<MovieConfig*, unkptr, unsigned long>* _CC; // _CC
|
||||
BlackFader* m_blackFader; // _D0
|
||||
WipeInFader* m_wipeInFader; // _D4
|
||||
WipeOutFader* m_wipeOutFader; // _D8
|
||||
WipeOutInFader* m_wipeOutInFader; // _DC
|
||||
u32 _E0; // _E0
|
||||
int m_lastActiveNaviIndex; // _E4
|
||||
float m_vp2YScale; // _E8
|
||||
float m_split; // _EC
|
||||
u8 m_setSplit; // _F0
|
||||
JUTTexture* m_mizuTexture; // _F4
|
||||
TreasureLight::Mgr* m_treasureLightMgr; // _F8
|
||||
JKRHeap* m_theExpHeap; // _FC
|
||||
JKRHeap* _100; // _100
|
||||
PlayCamera* _104; // _104
|
||||
PlayCamera* _108; // _108
|
||||
Controller* _10C; // _10C
|
||||
Controller* _110; // _110
|
||||
int m_playerMode; // _114
|
||||
HorizonalSplitter* m_splitter; // _118
|
||||
u8 _11C; // _11C
|
||||
int _120; // _120
|
||||
u32 _124; // _124
|
||||
u32 _PADDING00; // STRUCTURE SIZE IS WRONG BY 8 BYTES!
|
||||
u32 _PADDING01; // STRUCTURE SIZE IS WRONG BY 8 BYTES!
|
||||
GameLightMgr* m_lightMgr; // _128
|
||||
Sys::DrawBuffers* _12C; // _12C
|
||||
Sys::DrawBuffers* _130; // _130
|
||||
int m_treasureGetState; // _134
|
||||
Viewport* m_treasureGetViewport; // _138
|
||||
Pellet* m_draw2DCreature; // _13C
|
||||
float m_draw2DCreatureScale; // _140
|
||||
float _144; // _144
|
||||
Delegate1<BaseGameSection, Rectf&>* m_kanteiDelegate; // _148
|
||||
ZoomCamera* m_treasureZoomCamera; // _14C
|
||||
u8 _150[4]; // _150
|
||||
JUTTexture* m_xfbImage; // _154
|
||||
JUTTexture* m_fbTexture; // _158
|
||||
int m_xfbTexture1; // _15C
|
||||
int m_xfbTexture2; // _160
|
||||
u8 _164; // _164
|
||||
JUTTexture* _168; // _168
|
||||
int m_texData1; // _16C
|
||||
int _170; // _170
|
||||
u8 _174[0xA8]; // _174
|
||||
PikiContainer m_container; // _214
|
||||
// _00 = VTBL
|
||||
// _00-_48 = BaseHIOSection
|
||||
// should there not be another 0x4 here in USA (not demo)? ...
|
||||
BlendCamera* m_blendCamera; // _50
|
||||
f32 m_blendFactor; // _54
|
||||
bool m_blendCameraActive; // _58
|
||||
DvdThreadCommand m_dvdThreadCommand; // _5C
|
||||
IDelegate3<MovieConfig*, u32, u32>* _C8; // _C8
|
||||
IDelegate3<MovieConfig*, unkptr, u32>* _CC; // _CC
|
||||
BlackFader* m_blackFader; // _D0
|
||||
WipeInFader* m_wipeInFader; // _D4
|
||||
WipeOutFader* m_wipeOutFader; // _D8
|
||||
WipeOutInFader* m_wipeOutInFader; // _DC
|
||||
u32 _E0; // _E0
|
||||
int m_lastActiveNaviIndex; // _E4
|
||||
f32 m_vp2YScale; // _E8
|
||||
f32 m_split; // _EC
|
||||
u8 m_setSplit; // _F0
|
||||
JUTTexture* m_mizuTexture; // _F4
|
||||
TreasureLight::Mgr* m_treasureLightMgr; // _F8
|
||||
JKRHeap* m_theExpHeap; // _FC
|
||||
JKRHeap* _100; // _100
|
||||
PlayCamera* _104; // _104
|
||||
PlayCamera* _108; // _108
|
||||
Controller* _10C; // _10C
|
||||
Controller* _110; // _110
|
||||
int m_playerMode; // _114
|
||||
HorizonalSplitter* m_splitter; // _118
|
||||
u8 _11C; // _11C
|
||||
int _120; // _120
|
||||
u32 _124; // _124
|
||||
u32 _PADDING00; // STRUCTURE SIZE IS WRONG BY 8 BYTES!
|
||||
u32 _PADDING01; // STRUCTURE SIZE IS WRONG BY 8 BYTES!
|
||||
GameLightMgr* m_lightMgr; // _128
|
||||
Sys::DrawBuffers* _12C; // _12C
|
||||
Sys::DrawBuffers* _130; // _130
|
||||
int m_treasureGetState; // _134
|
||||
Viewport* m_treasureGetViewport; // _138
|
||||
Pellet* m_draw2DCreature; // _13C
|
||||
f32 m_draw2DCreatureScale; // _140
|
||||
f32 _144; // _144
|
||||
Delegate1<BaseGameSection, Rectf&>* m_kanteiDelegate; // _148
|
||||
ZoomCamera* m_treasureZoomCamera; // _14C
|
||||
u8 _150[4]; // _150
|
||||
JUTTexture* m_xfbImage; // _154
|
||||
JUTTexture* m_fbTexture; // _158
|
||||
int m_xfbTexture1; // _15C
|
||||
int m_xfbTexture2; // _160
|
||||
u8 _164; // _164
|
||||
JUTTexture* _168; // _168
|
||||
int m_texData1; // _16C
|
||||
int _170; // _170
|
||||
u8 _174[0xA8]; // _174
|
||||
PikiContainer m_container; // _214
|
||||
};
|
||||
} // namespace Game
|
||||
|
||||
|
@ -15,14 +15,15 @@ struct HIORootNode;
|
||||
struct BaseHIOSection : public Section {
|
||||
BaseHIOSection(JKRHeap*);
|
||||
|
||||
virtual ~BaseHIOSection(); // _00
|
||||
virtual bool doUpdate(); // _34
|
||||
virtual void initHIO(HIORootNode*); // _40
|
||||
virtual void refreshHIO(); // _44
|
||||
virtual ~BaseHIOSection(); // _08
|
||||
virtual bool doUpdate(); // _3C
|
||||
virtual void initHIO(HIORootNode*); // _48
|
||||
virtual void refreshHIO(); // _4C
|
||||
|
||||
void addGenNode(CNode*);
|
||||
void createScreenRootNode();
|
||||
void setDisplay(JFWDisplay*, int);
|
||||
|
||||
#if BUILDTARGET == USADEMO1
|
||||
u8 _DemoPadding1[0x1C];
|
||||
#endif
|
||||
@ -40,7 +41,7 @@ struct BaseHIOSection : public Section {
|
||||
struct HIORootNode : public CNode {
|
||||
HIORootNode(Section*);
|
||||
|
||||
virtual ~HIORootNode() { } // _00
|
||||
virtual ~HIORootNode() { } // _08 (weak)
|
||||
|
||||
Section* m_section; // _18
|
||||
};
|
||||
|
@ -6,15 +6,25 @@
|
||||
#include "Parameters.h"
|
||||
#include "IDelegate.h"
|
||||
#include "Vector3.h"
|
||||
#include "Camera.h"
|
||||
|
||||
struct LookAtCamera;
|
||||
struct Viewport;
|
||||
|
||||
namespace Game {
|
||||
struct CameraArg;
|
||||
struct CameraParms;
|
||||
struct PlayCamera;
|
||||
struct VibrationParms;
|
||||
struct Navi;
|
||||
|
||||
struct CameraData {
|
||||
f32 _00; // _00, normalCam?
|
||||
f32 _04; // _04, camAngle1?
|
||||
f32 _08; // _08, zoom?
|
||||
f32 _0C; // _0C, FOV?
|
||||
f32 _10; // _10, near plane?
|
||||
f32 _14; // _14, far plane?
|
||||
Vector3f m_lookAtPosition; // _18
|
||||
int _24; // _24, zoom level?
|
||||
int _28; // _28, angle Z?
|
||||
};
|
||||
|
||||
/**
|
||||
* @size{0x998}
|
||||
@ -22,67 +32,67 @@ struct VibrationParms;
|
||||
struct CameraParms : public Parameters {
|
||||
CameraParms();
|
||||
|
||||
Parm<float> m_cnld;
|
||||
Parm<float> m_cnla;
|
||||
Parm<float> m_cnlf;
|
||||
Parm<float> m_cnlo;
|
||||
Parm<float> m_cnlw;
|
||||
Parm<float> m_nldt;
|
||||
Parm<float> m_nlnc;
|
||||
Parm<float> m_nlfc;
|
||||
Parm<float> m_cmld;
|
||||
Parm<float> m_cmla;
|
||||
Parm<float> m_cmlf;
|
||||
Parm<float> m_cmlo;
|
||||
Parm<float> m_cmlw;
|
||||
Parm<float> m_mldt;
|
||||
Parm<float> m_mlnc;
|
||||
Parm<float> m_mlfc;
|
||||
Parm<float> m_cfld;
|
||||
Parm<float> m_cfla;
|
||||
Parm<float> m_cflf;
|
||||
Parm<float> m_cflo;
|
||||
Parm<float> m_cflw;
|
||||
Parm<float> m_fldt;
|
||||
Parm<float> m_flnc;
|
||||
Parm<float> m_flfc;
|
||||
Parm<float> m_cnhd;
|
||||
Parm<float> m_cnha;
|
||||
Parm<float> m_cnhf;
|
||||
Parm<float> m_cnho;
|
||||
Parm<float> m_cnhw;
|
||||
Parm<float> m_nhdt;
|
||||
Parm<float> m_nhnc;
|
||||
Parm<float> m_nhfc;
|
||||
Parm<float> m_cmhd;
|
||||
Parm<float> m_cmha;
|
||||
Parm<float> m_cmhf;
|
||||
Parm<float> m_cmho;
|
||||
Parm<float> m_cmhw;
|
||||
Parm<float> m_mhdt;
|
||||
Parm<float> m_mhnc;
|
||||
Parm<float> m_mhfc;
|
||||
Parm<float> m_cfhd;
|
||||
Parm<float> m_cfha;
|
||||
Parm<float> m_cfhf;
|
||||
Parm<float> m_cfho;
|
||||
Parm<float> m_cfhw;
|
||||
Parm<float> m_fhdt;
|
||||
Parm<float> m_fhnc;
|
||||
Parm<float> m_fhfc;
|
||||
Parm<float> m_zmdt;
|
||||
Parm<float> m_zman;
|
||||
Parm<float> m_zmfv;
|
||||
Parm<float> m_clcr;
|
||||
Parm<float> m_clms;
|
||||
Parm<float> m_clmh;
|
||||
Parm<float> m_clnh;
|
||||
Parm<float> m_cpmd;
|
||||
Parm<float> m_cmmt;
|
||||
Parm<float> m_cmft;
|
||||
Parm<float> m_cmta;
|
||||
Parm<float> m_cmtm;
|
||||
Parm<float> m_cmtb;
|
||||
Parm<f32> m_cnld;
|
||||
Parm<f32> m_cnla;
|
||||
Parm<f32> m_cnlf;
|
||||
Parm<f32> m_cnlo;
|
||||
Parm<f32> m_cnlw;
|
||||
Parm<f32> m_nldt;
|
||||
Parm<f32> m_nlnc;
|
||||
Parm<f32> m_nlfc;
|
||||
Parm<f32> m_cmld;
|
||||
Parm<f32> m_cmla;
|
||||
Parm<f32> m_cmlf;
|
||||
Parm<f32> m_cmlo;
|
||||
Parm<f32> m_cmlw;
|
||||
Parm<f32> m_mldt;
|
||||
Parm<f32> m_mlnc;
|
||||
Parm<f32> m_mlfc;
|
||||
Parm<f32> m_cfld;
|
||||
Parm<f32> m_cfla;
|
||||
Parm<f32> m_cflf;
|
||||
Parm<f32> m_cflo;
|
||||
Parm<f32> m_cflw;
|
||||
Parm<f32> m_fldt;
|
||||
Parm<f32> m_flnc;
|
||||
Parm<f32> m_flfc;
|
||||
Parm<f32> m_cnhd;
|
||||
Parm<f32> m_cnha;
|
||||
Parm<f32> m_cnhf;
|
||||
Parm<f32> m_cnho;
|
||||
Parm<f32> m_cnhw;
|
||||
Parm<f32> m_nhdt;
|
||||
Parm<f32> m_nhnc;
|
||||
Parm<f32> m_nhfc;
|
||||
Parm<f32> m_cmhd;
|
||||
Parm<f32> m_cmha;
|
||||
Parm<f32> m_cmhf;
|
||||
Parm<f32> m_cmho;
|
||||
Parm<f32> m_cmhw;
|
||||
Parm<f32> m_mhdt;
|
||||
Parm<f32> m_mhnc;
|
||||
Parm<f32> m_mhfc;
|
||||
Parm<f32> m_cfhd;
|
||||
Parm<f32> m_cfha;
|
||||
Parm<f32> m_cfhf;
|
||||
Parm<f32> m_cfho;
|
||||
Parm<f32> m_cfhw;
|
||||
Parm<f32> m_fhdt;
|
||||
Parm<f32> m_fhnc;
|
||||
Parm<f32> m_fhfc;
|
||||
Parm<f32> m_zmdt;
|
||||
Parm<f32> m_zman;
|
||||
Parm<f32> m_zmfv;
|
||||
Parm<f32> m_clcr;
|
||||
Parm<f32> m_clms;
|
||||
Parm<f32> m_clmh;
|
||||
Parm<f32> m_clnh;
|
||||
Parm<f32> m_cpmd;
|
||||
Parm<f32> m_cmmt;
|
||||
Parm<f32> m_cmft;
|
||||
Parm<f32> m_cmta;
|
||||
Parm<f32> m_cmtm;
|
||||
Parm<f32> m_cmtb;
|
||||
u32 _994;
|
||||
};
|
||||
|
||||
@ -92,41 +102,131 @@ struct CameraParms : public Parameters {
|
||||
struct VibrationParms : public Parameters {
|
||||
VibrationParms();
|
||||
|
||||
Parm<float> m_elevationLightVib;
|
||||
Parm<float> m_elevationMiddleVib;
|
||||
Parm<float> m_elevationHardVib;
|
||||
Parm<float> m_elevationSlowSpeed;
|
||||
Parm<float> m_elevationMiddleSpeed;
|
||||
Parm<float> m_elevationFastSpeed;
|
||||
Parm<float> m_elevationShortTime;
|
||||
Parm<float> m_elevationMiddleTime;
|
||||
Parm<float> m_elevationLongTime;
|
||||
Parm<float> m_elevationHardVib2;
|
||||
Parm<float> m_elevationHardSpeed;
|
||||
Parm<float> m_elevationHardTime;
|
||||
Parm<float> m_zoomShortVib;
|
||||
Parm<float> m_zoomShortSpeed;
|
||||
Parm<float> m_zoomShortTime;
|
||||
Parm<float> m_azimuthShortVib;
|
||||
Parm<float> m_azimuthShortSpeed;
|
||||
Parm<float> m_azimuthShortTime;
|
||||
Parm<float> m_vibMaxDistance;
|
||||
Parm<f32> m_elevationLightVib;
|
||||
Parm<f32> m_elevationMiddleVib;
|
||||
Parm<f32> m_elevationHardVib;
|
||||
Parm<f32> m_elevationSlowSpeed;
|
||||
Parm<f32> m_elevationMiddleSpeed;
|
||||
Parm<f32> m_elevationFastSpeed;
|
||||
Parm<f32> m_elevationShortTime;
|
||||
Parm<f32> m_elevationMiddleTime;
|
||||
Parm<f32> m_elevationLongTime;
|
||||
Parm<f32> m_elevationHardVib2;
|
||||
Parm<f32> m_elevationHardSpeed;
|
||||
Parm<f32> m_elevationHardTime;
|
||||
Parm<f32> m_zoomShortVib;
|
||||
Parm<f32> m_zoomShortSpeed;
|
||||
Parm<f32> m_zoomShortTime;
|
||||
Parm<f32> m_azimuthShortVib;
|
||||
Parm<f32> m_azimuthShortSpeed;
|
||||
Parm<f32> m_azimuthShortTime;
|
||||
Parm<f32> m_vibMaxDistance;
|
||||
u32 _304;
|
||||
};
|
||||
|
||||
struct PlayCamera : public LookAtCamera {
|
||||
PlayCamera(Navi*);
|
||||
|
||||
virtual ~PlayCamera(); // _08 (weak)
|
||||
virtual Vector3f getLookAtPosition_(); // _58 (weak)
|
||||
virtual bool isSpecialCamera(); // _70
|
||||
virtual void updateMatrix(); // _74
|
||||
virtual void doUpdate(); // _78
|
||||
virtual void startVibration(int); // _7C (weak)
|
||||
virtual void init(); // _80
|
||||
|
||||
void setCameraParms(CameraParms*);
|
||||
void setVibrationParms(VibrationParms*);
|
||||
void setCameraAngle(f32);
|
||||
void getCameraData(CameraData&);
|
||||
void setCameraData(CameraData&);
|
||||
void changePlayerMode(bool);
|
||||
void noUpdate();
|
||||
void isVibration();
|
||||
void startVibration(int, f32);
|
||||
void startDemoCamera(int);
|
||||
void finishDemoCamera();
|
||||
void updateCameraMode();
|
||||
void startZoomCamera();
|
||||
void startGameCamera(int);
|
||||
void setTargetParms();
|
||||
void setTargetThetaToWhistle();
|
||||
void setFollowTime();
|
||||
void setSmoothThetaSpeed();
|
||||
void changeTargetTheta();
|
||||
void changeTargetAtPosition();
|
||||
void updateParms(int);
|
||||
void updateVibration(int);
|
||||
void otherVibFinished(int);
|
||||
void isModCameraFinished();
|
||||
void setCollisionCameraTargetPhi(int);
|
||||
void getCollisionCameraTargetPhi(f32, f32);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_198 = LookAtCamera
|
||||
Navi* m_navi; // _198
|
||||
int _19C; // _19C
|
||||
int _1A0; // _1A0
|
||||
u32 _1A4; // _1A4
|
||||
f32 _1A8; // _1A8
|
||||
f32 _1AC; // _1AC
|
||||
f32 _1B0; // _1B0
|
||||
f32 _1B4; // _1B4
|
||||
f32 _1B8; // _1B8
|
||||
f32 _1BC; // _1BC
|
||||
f32 _1C0; // _1C0
|
||||
f32 _1C4; // _1C4
|
||||
f32 _1C8; // _1C8
|
||||
f32 _1CC; // _1CC
|
||||
f32 _1D0; // _1D0
|
||||
f32 _1D4; // _1D4
|
||||
f32 _1D8; // _1D8
|
||||
f32 _1DC; // _1DC, follow time?
|
||||
f32 _1E0; // _1E0
|
||||
Vector3f _1E4; // _1E4
|
||||
u8 _1F0; // _1F0
|
||||
u8 _1F1; // _1F1
|
||||
u8 _1F2; // _1F2
|
||||
f32 _1F4; // _1F4, vibration azimuth short speed?
|
||||
f32 _1F8; // _1F8, vibration elevation speed?
|
||||
f32 _1FC; // _1FC, vibration zoom short speed?
|
||||
f32 _200; // _200
|
||||
f32 _204; // _204
|
||||
f32 _208; // _208
|
||||
f32 _20C; // _20C
|
||||
f32 _210; // _210
|
||||
f32 _214; // _214
|
||||
f32 _218; // _218
|
||||
f32 _21C; // _21C
|
||||
f32 _220; // _220
|
||||
f32 _224; // _224, vibration azimuth short time?
|
||||
f32 _228; // _228, vibration elevation time?
|
||||
f32 _22C; // _22C, vibration zoom short time?
|
||||
f32 _230; // _230
|
||||
f32 _234; // _234
|
||||
f32 _238; // _238
|
||||
f32 _23C; // _23C, vibration azimuth short vib?
|
||||
f32 _240; // _240, vibration elevation vib?
|
||||
f32 _244; // _244, vibration zoom short vib?
|
||||
u8 _248; // _248
|
||||
u8 _249; // _249
|
||||
CameraParms* m_cameraParms; // _24C
|
||||
VibrationParms* m_vibrationParms; // _250
|
||||
};
|
||||
|
||||
/**
|
||||
* @size{0x3C}
|
||||
*/
|
||||
struct CameraMgr : public CNode {
|
||||
CameraMgr();
|
||||
|
||||
virtual ~CameraMgr() {}; // _00
|
||||
// virtual void _08() = 0; // _08
|
||||
virtual ~CameraMgr() {}; // _08
|
||||
// virtual void _10() = 0; // _10
|
||||
|
||||
void loadResource();
|
||||
void setViewport(Viewport*, int);
|
||||
void init(int);
|
||||
void setCameraAngle(float, int);
|
||||
void setCameraAngle(f32, int);
|
||||
void update();
|
||||
void startVibration(int, Vector3f&, int);
|
||||
void startVibration(int, int);
|
||||
@ -143,6 +243,8 @@ struct CameraMgr : public CNode {
|
||||
void readCameraParms(char*);
|
||||
void readParameter(Stream&);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = CNode
|
||||
int _18; // _18
|
||||
void** _1C; // _1C
|
||||
Viewport** _20; // _20
|
||||
|
@ -33,8 +33,8 @@ struct BaseGen : public CNode {
|
||||
|
||||
Type m_spawnType; // _18
|
||||
Vector3f m_position; // _1C
|
||||
float m_angle; // _28
|
||||
float m_radius; // _2C
|
||||
f32 m_angle; // _28
|
||||
f32 m_radius; // _2C
|
||||
int m_minimum; // _30
|
||||
int m_maximum; // _34
|
||||
};
|
||||
@ -76,7 +76,7 @@ struct GateInfo : CNode {
|
||||
virtual void read(Stream&); // _10
|
||||
|
||||
int m_caveID; // _18
|
||||
float m_life; // _1C
|
||||
f32 m_life; // _1C
|
||||
int m_weight; // _20
|
||||
};
|
||||
|
||||
@ -107,7 +107,7 @@ struct FloorInfo : CNode {
|
||||
Parm<int> m_gateMax; // _0AC /* f004 */
|
||||
Parm<int> m_capMax; // _0D4 /* f014 */
|
||||
Parm<int> m_roomCount; // _0FC /* f005 */
|
||||
Parm<float> m_routeRatio; // _124 /* f006 */
|
||||
Parm<f32> m_routeRatio; // _124 /* f006 */
|
||||
Parm<int> m_hasEscapeFountain; // _14C /* f007 */
|
||||
ParmString m_caveUnitFile; // _174 /* f008 */
|
||||
ParmString m_lightingFile; // _194 /* f009 */
|
||||
@ -119,10 +119,10 @@ struct FloorInfo : CNode {
|
||||
|
||||
ParmEnum m_floorHidden; // _244 /* f013 */
|
||||
|
||||
Parm<int> m_version; // _268 /* f015 */
|
||||
Parm<float> m_waterwraithTimer; // _290 /* f016 */
|
||||
Parm<int> m_glitchySeesaw; // _2B8 /* f017 */
|
||||
void* m_end; // _2E0
|
||||
Parm<int> m_version; // _268 /* f015 */
|
||||
Parm<f32> m_waterwraithTimer; // _290 /* f016 */
|
||||
Parm<int> m_glitchySeesaw; // _2B8 /* f017 */
|
||||
void* m_end; // _2E0
|
||||
};
|
||||
|
||||
FloorInfo();
|
||||
@ -150,7 +150,7 @@ struct FloorInfo : CNode {
|
||||
CapInfo* getCapInfo(int);
|
||||
|
||||
int getRoomNum();
|
||||
float getRouteRatio();
|
||||
f32 getRouteRatio();
|
||||
bool hasEscapeFountain(int);
|
||||
bool hasHiddenCollision();
|
||||
bool useKaidanBarrel();
|
||||
@ -169,11 +169,13 @@ struct CaveInfo : CNode {
|
||||
/* Erased? */
|
||||
struct Parms : Parameters {
|
||||
inline Parms();
|
||||
|
||||
Parm<int> m_floorMax; // _0C
|
||||
void* m_end; // _34
|
||||
};
|
||||
|
||||
CaveInfo();
|
||||
|
||||
virtual ~CaveInfo(); // _08 (weak)
|
||||
virtual void read(Stream&); // _10
|
||||
|
||||
|
@ -69,12 +69,12 @@ struct DoorNode : public CNode {
|
||||
* @size{0x18}
|
||||
*/
|
||||
struct FixObjNode : public ObjectLayoutNode {
|
||||
virtual ~FixObjNode() { } // _08 (weak)
|
||||
virtual int getObjectId(); // _10 (weak)
|
||||
virtual u32 getObjectType(); // _14 (weak)
|
||||
virtual int getBirthCount(); // _18 (weak)
|
||||
virtual float getDirection(); // _1C (weak)
|
||||
virtual void getBirthPosition(float&, float&); // _24 (weak)
|
||||
virtual ~FixObjNode() { } // _08 (weak)
|
||||
virtual int getObjectId(); // _10 (weak)
|
||||
virtual u32 getObjectType(); // _14 (weak)
|
||||
virtual int getBirthCount(); // _18 (weak)
|
||||
virtual f32 getDirection(); // _1C (weak)
|
||||
virtual void getBirthPosition(f32&, f32&); // _24 (weak)
|
||||
};
|
||||
|
||||
/**
|
||||
@ -95,12 +95,12 @@ struct GateNode : public ObjectLayoutNode {
|
||||
virtual int getObjectId(); // _10
|
||||
virtual u32 getObjectType(); // _14
|
||||
virtual int getBirthCount(); // _18
|
||||
virtual float getDirection(); // _1C
|
||||
virtual f32 getDirection(); // _1C
|
||||
virtual int getBirthDoorIndex(); // _20
|
||||
|
||||
GateUnit* m_unit; // _18
|
||||
float m_direction; // _1C
|
||||
int m_index; // _20
|
||||
GateUnit* m_unit; // _18
|
||||
f32 m_direction; // _1C
|
||||
int m_index; // _20
|
||||
};
|
||||
|
||||
/**
|
||||
@ -117,19 +117,19 @@ struct ItemNode : public ObjectLayoutNode {
|
||||
ItemNode();
|
||||
ItemNode(ItemUnit*, BaseGen*, int);
|
||||
|
||||
virtual ~ItemNode() { } // _08 (weak)
|
||||
virtual int getObjectId(); // _10
|
||||
virtual u32 getObjectType(); // _14
|
||||
virtual int getBirthCount(); // _18
|
||||
virtual float getDirection(); // _1C
|
||||
virtual void getBirthPosition(float&, float&); // _24
|
||||
virtual ~ItemNode() { } // _08 (weak)
|
||||
virtual int getObjectId(); // _10
|
||||
virtual u32 getObjectType(); // _14
|
||||
virtual int getBirthCount(); // _18
|
||||
virtual f32 getDirection(); // _1C
|
||||
virtual void getBirthPosition(f32&, f32&); // _24
|
||||
|
||||
void makeGlobalData(MapNode*);
|
||||
|
||||
ItemUnit* m_unit; // _18
|
||||
BaseGen* m_generator; // _1C
|
||||
u32 m_birthCount; // _20
|
||||
float m_direction; // _24
|
||||
f32 m_direction; // _24
|
||||
Vector3f m_position; // _28
|
||||
};
|
||||
|
||||
@ -193,14 +193,14 @@ struct MapNode : public CNode {
|
||||
void setNodeScore(int);
|
||||
void copyNodeScoreToVersusScore();
|
||||
void subNodeScoreToVersusScore();
|
||||
void draw(float, float, float);
|
||||
void draw(f32, f32, f32);
|
||||
int getNodeOffsetX();
|
||||
int getNodeOffsetY();
|
||||
void getEnemyScore();
|
||||
void getNodeScore();
|
||||
void getVersusScore();
|
||||
char* getUnitName();
|
||||
void getNodeCentreOffset(float&, float&);
|
||||
void getNodeCentreOffset(f32&, f32&);
|
||||
void getDirection();
|
||||
Vector3f getBaseGenGlobalPosition(BaseGen*);
|
||||
void getDoorGlobalPosition(int);
|
||||
@ -244,17 +244,17 @@ struct EnemyNode : public ObjectLayoutNode {
|
||||
EnemyNode();
|
||||
EnemyNode(EnemyUnit*, BaseGen*, int);
|
||||
|
||||
virtual ~EnemyNode() { } // _08 (weak)
|
||||
virtual int getObjectId(); // _10
|
||||
virtual u32 getObjectType(); // _14
|
||||
virtual int getBirthCount(); // _18
|
||||
virtual float getDirection(); // _1C
|
||||
virtual int getBirthDoorIndex(); // _20
|
||||
virtual void getBirthPosition(float&, float&); // _24
|
||||
virtual u32 getExtraCode(); // _28
|
||||
virtual ~EnemyNode() { } // _08 (weak)
|
||||
virtual int getObjectId(); // _10
|
||||
virtual u32 getObjectType(); // _14
|
||||
virtual int getBirthCount(); // _18
|
||||
virtual f32 getDirection(); // _1C
|
||||
virtual int getBirthDoorIndex(); // _20
|
||||
virtual void getBirthPosition(f32&, f32&); // _24
|
||||
virtual u32 getExtraCode(); // _28
|
||||
|
||||
void makeGlobalData(Game::Cave::MapNode*);
|
||||
void setGlobalData(Vector3f&, float);
|
||||
void setGlobalData(Vector3f&, f32);
|
||||
void setBirthDoorIndex(int);
|
||||
|
||||
inline TekiInfo* getTekiInfo() { return m_enemyUnit->m_tekiInfo; }
|
||||
@ -263,7 +263,7 @@ struct EnemyNode : public ObjectLayoutNode {
|
||||
BaseGen* m_baseGen; // _1C
|
||||
int m_birthDoorIndex; // _20
|
||||
int m_birthCount; // _24
|
||||
float m_direction; // _28
|
||||
f32 m_direction; // _28
|
||||
Vector3f m_birthPos; // _2C
|
||||
};
|
||||
} // namespace Cave
|
||||
|
@ -12,15 +12,15 @@ namespace Game {
|
||||
* @size{0x18}
|
||||
*/
|
||||
struct ObjectLayoutNode : public CNode {
|
||||
virtual ~ObjectLayoutNode() { } // _08 (weak)
|
||||
virtual int getObjectId() = 0; // _10
|
||||
virtual u32 getObjectType() = 0; // _14
|
||||
virtual int getBirthCount() = 0; // _18
|
||||
virtual float getDirection() { return 0.0f; } // _1C (weak)
|
||||
virtual int getBirthDoorIndex() { return -1; } // _20 (weak)
|
||||
virtual void getBirthPosition(float&, float&) { } // _24 (weak)
|
||||
virtual u32 getExtraCode() { return 0; } // _28 (weak)
|
||||
virtual bool isFixedBattery() { return false; } // _2C (weak)
|
||||
virtual ~ObjectLayoutNode() { } // _08 (weak)
|
||||
virtual int getObjectId() = 0; // _10
|
||||
virtual u32 getObjectType() = 0; // _14
|
||||
virtual int getBirthCount() = 0; // _18
|
||||
virtual f32 getDirection() { return 0.0f; } // _1C (weak)
|
||||
virtual int getBirthDoorIndex() { return -1; } // _20 (weak)
|
||||
virtual void getBirthPosition(f32&, f32&) { } // _24 (weak)
|
||||
virtual u32 getExtraCode() { return 0; } // _28 (weak)
|
||||
virtual bool isFixedBattery() { return false; } // _2C (weak)
|
||||
};
|
||||
|
||||
/**
|
||||
@ -57,7 +57,7 @@ struct UnitInfo {
|
||||
int getUnitRotation();
|
||||
DoorNode* getDoorNode(int doorNum);
|
||||
BaseGen* getBaseGen();
|
||||
void draw(float, float, float, float);
|
||||
void draw(f32, f32, f32, f32);
|
||||
|
||||
DoorNode* m_doorNode; // _00
|
||||
AdjustNode* m_doorCounts; // _04
|
||||
|
@ -80,12 +80,12 @@ struct RandMapMgr : public CNode {
|
||||
void create();
|
||||
int getNumRooms();
|
||||
char* getUseUnitName(int);
|
||||
char* getRoomData(int, float&, float&, int&);
|
||||
char* getRoomData(int, f32&, f32&, int&);
|
||||
RoomLink* makeRoomLink(int);
|
||||
ObjectLayoutInfo* makeObjectLayoutInfo(int);
|
||||
void getStartPosition(Vector3f&, int);
|
||||
void getItemDropPosition(Vector3f&, float, float);
|
||||
void getItemDropPosition(Vector3f*, int, float, float);
|
||||
void getItemDropPosition(Vector3f&, f32, f32);
|
||||
void getItemDropPosition(Vector3f*, int, f32, f32);
|
||||
void setUnitTexture(int, JUTTexture*);
|
||||
void setCaptureOn();
|
||||
void captureRadarMap(Graphics&);
|
||||
@ -93,8 +93,8 @@ struct RandMapMgr : public CNode {
|
||||
void isVersusHiba();
|
||||
void getRadarMapTexture();
|
||||
void radarMapPartsOpen(Vector3f&);
|
||||
void getPositionOnTex(Vector3f&, float&, float&);
|
||||
void getBaseGenData(Vector3f*, float*);
|
||||
void getPositionOnTex(Vector3f&, f32&, f32&);
|
||||
void getBaseGenData(Vector3f*, f32*);
|
||||
void drawFrameBuffer(Graphics&);
|
||||
|
||||
MapUnitGenerator* m_mapUnitGenerator; // _18
|
||||
@ -118,7 +118,7 @@ struct RandMapDraw {
|
||||
RandMapDraw(MapUnitGenerator* generator);
|
||||
|
||||
void radarMapPartsOpen(Vector3f& vec);
|
||||
void draw(struct Graphics& gfx, float x, float y, float z);
|
||||
void draw(struct Graphics& gfx, f32 x, f32 y, f32 z);
|
||||
|
||||
MapUnitGenerator* m_generator; // _00
|
||||
};
|
||||
|
@ -100,11 +100,11 @@ struct RandMapUnit {
|
||||
|
||||
int m_doorCountMaybe; // _00
|
||||
int m_roomCount; // _04
|
||||
float m_routeRatio; // _08
|
||||
f32 m_routeRatio; // _08
|
||||
bool m_mapHasDiameter36; // _0C
|
||||
bool m_needsLoopMapNodeCheck; // _0D
|
||||
int m_capCandidateCount; // _10
|
||||
float m_capMax; // _14, between 0.0 and 1.0
|
||||
f32 m_capMax; // _14, between 0.0 and 1.0
|
||||
MapNode** m_capCandidateNodes; // _18
|
||||
int* m_capCandidateDoorIndices; // _1C
|
||||
MapUnitGenerator* m_mapUnitGenerator; // _20
|
||||
|
@ -41,7 +41,6 @@ struct CellObject;
|
||||
struct CollEvent;
|
||||
struct Creature;
|
||||
struct CreatureInitArg;
|
||||
struct CreatureKillArg;
|
||||
struct Footmarks;
|
||||
struct Generator;
|
||||
struct Interaction;
|
||||
@ -67,16 +66,24 @@ enum CreatureFlags {
|
||||
CF_IS_DEBUG_COLLISION = 0x80000000
|
||||
};
|
||||
|
||||
struct CreatureInitArg {
|
||||
virtual const char* getName() = 0; // _08
|
||||
|
||||
// _00 = VTBL
|
||||
};
|
||||
|
||||
struct CreatureKillArg {
|
||||
inline CreatureKillArg(int p1)
|
||||
: _04(p1)
|
||||
{
|
||||
}
|
||||
virtual const char* getName() // _00
|
||||
|
||||
virtual const char* getName() // _08 (weak)
|
||||
{
|
||||
return "CreatureKillArg";
|
||||
}
|
||||
|
||||
// _00 = VTBL
|
||||
int _04; // _04
|
||||
};
|
||||
|
||||
|
@ -60,7 +60,7 @@ struct CreatureParms {
|
||||
|
||||
CreatureProperty m_creatureProps;
|
||||
|
||||
virtual void read(Stream& input) // _00
|
||||
virtual void read(Stream& input) // _08 (weak)
|
||||
{
|
||||
m_creatureProps.m_props.read(input);
|
||||
};
|
||||
|
@ -1,7 +1,7 @@
|
||||
#ifndef _GAME_FAKEPIKI_H
|
||||
#define _GAME_FAKEPIKI_H
|
||||
|
||||
#include "Game/AABBWaterBox.h"
|
||||
#include "Game/WaterBox.h"
|
||||
#include "Game/Creature.h"
|
||||
#include "SysShape/MotionListener.h"
|
||||
#include "Game/shadowMgr.h"
|
||||
|
104
include/Game/GameLight.h
Normal file
104
include/Game/GameLight.h
Normal file
@ -0,0 +1,104 @@
|
||||
#ifndef _GAME_GAMELIGHT_H
|
||||
#define _GAME_GAMELIGHT_H
|
||||
|
||||
#include "types.h"
|
||||
#include "Light.h"
|
||||
#include "CNode.h"
|
||||
#include "Game/GameLightSetting.h"
|
||||
|
||||
struct Color4;
|
||||
|
||||
namespace Game {
|
||||
struct GameLightMgr;
|
||||
|
||||
struct GameLightEventArg {
|
||||
u8 _00; // _00
|
||||
u8 _01; // _01
|
||||
f32 _04; // _04
|
||||
f32 _08; // _08
|
||||
f32 _0C; // _0C
|
||||
f32 _10; // _10, start time?
|
||||
f32 _14; // _14, end time?
|
||||
f32 _18; // _18, start Z?
|
||||
f32 _1C; // _1C, end Z?
|
||||
u32 _20; // _20, unknown
|
||||
f32 _24; // _24, distance?
|
||||
};
|
||||
|
||||
struct GameLightEventNode : public CNode {
|
||||
GameLightEventNode();
|
||||
|
||||
virtual ~GameLightEventNode(); // _08 (weak)
|
||||
|
||||
void update(GameLightMgr*);
|
||||
void updateCommon(GameLightMgr*, bool);
|
||||
void calcColor(Color4*);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = CNode
|
||||
u8 _18; // _18
|
||||
u8 _19; // _19
|
||||
f32 _1C; // _1C, color 1 scale?
|
||||
f32 _20; // _20, color 2 scale?
|
||||
f32 _24; // _24, color 3 scale?
|
||||
f32 _28; // _28
|
||||
f32 _2C; // _2C
|
||||
f32 _30; // _30, nearZ?
|
||||
f32 _34; // _34, farZ?
|
||||
u32 _38; // _38, unknown
|
||||
f32 _3C; // _3C
|
||||
f32 _40; // _40, timer?
|
||||
f32 _44; // _44, angle?
|
||||
f32 _48; // _48
|
||||
int _4C; // _4C
|
||||
};
|
||||
|
||||
struct GameLightSpotSetting : public CNode {
|
||||
GameLightSpotSetting(char*);
|
||||
|
||||
virtual ~GameLightSpotSetting(); // _08 (weak)
|
||||
};
|
||||
|
||||
struct GameLightSunSetting : public CNode {
|
||||
virtual ~GameLightSunSetting(); // _08 (weak)
|
||||
};
|
||||
|
||||
struct GameLightTimeSetting : public CNode {
|
||||
GameLightTimeSetting();
|
||||
|
||||
virtual ~GameLightTimeSetting(); // _08 (weak)
|
||||
};
|
||||
|
||||
struct GameLightMgrSetting : public CNode {
|
||||
GameLightMgrSetting();
|
||||
|
||||
virtual ~GameLightMgrSetting(); // _08 (weak)
|
||||
virtual void read(Stream&); // _10
|
||||
|
||||
void updateNode();
|
||||
void readOldVersion(ID32, Stream&);
|
||||
};
|
||||
|
||||
struct GameLightMgr : public LightMgr {
|
||||
GameLightMgr(char*);
|
||||
|
||||
virtual ~GameLightMgr(); // _08 (weak)
|
||||
virtual void update(); // _10
|
||||
virtual void set(Graphics&); // _14
|
||||
|
||||
void start();
|
||||
void createEventLight(GameLightEventArg&);
|
||||
void loadParm(Stream&);
|
||||
void calcSetting(GameLightTimeSetting*, GameLightTimeSetting*, GameLightTimeSetting*);
|
||||
void updateSunType();
|
||||
void updateSpotType();
|
||||
void updatePosition(Viewport*);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_50 = LightMgr
|
||||
u8 _50[0x2344 - 0x50];
|
||||
FogMgr* m_fogMgr; // _2344
|
||||
};
|
||||
} // namespace Game
|
||||
|
||||
#endif
|
67
include/Game/GameLightSetting.h
Normal file
67
include/Game/GameLightSetting.h
Normal file
@ -0,0 +1,67 @@
|
||||
#ifndef _GAME_GAMELIGHTSETTING_H
|
||||
#define _GAME_GAMELIGHTSETTING_H
|
||||
|
||||
#include "types.h"
|
||||
#include "Parameters.h"
|
||||
#include "stream.h"
|
||||
|
||||
namespace Game {
|
||||
struct GameLightSettingBase {
|
||||
struct Settings : public Parameters {
|
||||
inline Settings(); // probably
|
||||
|
||||
Parm<int> m_red; // _0C, u800
|
||||
Parm<int> m_green; // _34, u801
|
||||
Parm<int> m_blue; // _5C, u802
|
||||
Parm<int> m_alpha; // _84, u803
|
||||
};
|
||||
|
||||
Settings m_settings; // _00
|
||||
// _B0 = VTBL
|
||||
|
||||
virtual void read(Stream&); // _08 (weak)
|
||||
};
|
||||
|
||||
struct GameDiffuseLightSetting : public GameLightSettingBase {
|
||||
|
||||
// _B0 = VTBL
|
||||
// _00-_B4 = GameLightSettingBase
|
||||
};
|
||||
|
||||
struct GameFogSetting : public GameLightSettingBase {
|
||||
GameFogSetting();
|
||||
|
||||
virtual void read(Stream&); // _08 (weak)
|
||||
|
||||
// _B0 = VTBL
|
||||
// _00-_B4 = GameLightSettingBase
|
||||
};
|
||||
|
||||
struct GameLightAmbientSetting : public GameLightSettingBase {
|
||||
|
||||
// _B0 = VTBL
|
||||
// _00-_B4 = GameLightSettingBase
|
||||
};
|
||||
|
||||
struct GameShadowSetting : public GameLightSettingBase {
|
||||
virtual void read(Stream&); // _08 (weak)
|
||||
|
||||
// _B0 = VTBL
|
||||
// _00-_B4 = GameLightSettingBase
|
||||
};
|
||||
|
||||
struct GameSpecLightSetting : public GameLightSettingBase {
|
||||
|
||||
// _B0 = VTBL
|
||||
// _00-_B4 = GameLightSettingBase
|
||||
};
|
||||
|
||||
struct GameSpotLightSetting : public GameLightSettingBase {
|
||||
virtual void read(Stream&); // _08 (weak)
|
||||
|
||||
// _B0 = VTBL
|
||||
// _00-_B4 = GameLightSettingBase
|
||||
};
|
||||
} // namespace Game
|
||||
|
||||
#endif
|
@ -5,13 +5,12 @@
|
||||
|
||||
namespace Game {
|
||||
struct ItemGateMgr : public BaseItemMgr {
|
||||
virtual void doAnimation(); // _08
|
||||
virtual void doEntry(); // _0C
|
||||
virtual void doSetView(int); // _10
|
||||
virtual void doViewCalc(); // _14
|
||||
virtual void doSimulation(float); // _18
|
||||
virtual void doDirectDraw(Graphics&); // _1C
|
||||
|
||||
virtual void doAnimation(); // _08
|
||||
virtual void doEntry(); // _0C
|
||||
virtual void doSetView(int); // _10
|
||||
virtual void doViewCalc(); // _14
|
||||
virtual void doSimulation(float); // _18
|
||||
virtual void doDirectDraw(Graphics&); // _1C
|
||||
virtual void initDependency(); // _38
|
||||
virtual u32 generatorGetID() = 0; // _58
|
||||
virtual BaseItem* generatorBirth(Vector3f&, Vector3f&, GenItemParm*) = 0; // _5C
|
||||
@ -24,6 +23,8 @@ struct ItemGateMgr : public BaseItemMgr {
|
||||
|
||||
// _00 VTBL
|
||||
};
|
||||
|
||||
extern ItemGateMgr* itemGateMgr;
|
||||
} // namespace Game
|
||||
|
||||
#endif
|
||||
|
@ -126,16 +126,10 @@ struct PelletIterator {
|
||||
int m_index; // _0C
|
||||
};
|
||||
|
||||
struct CreatureInitArg {
|
||||
virtual const char* getName() = 0; // _08
|
||||
|
||||
// _00 VTBL
|
||||
};
|
||||
|
||||
/**
|
||||
* @size{0x28}
|
||||
*/
|
||||
struct PelletInitArg : CreatureInitArg {
|
||||
struct PelletInitArg : public CreatureInitArg {
|
||||
PelletInitArg()
|
||||
{
|
||||
_1C = 0;
|
||||
|
@ -1,15 +0,0 @@
|
||||
#ifndef _GAME_PLAYDATA_H
|
||||
#define _GAME_PLAYDATA_H
|
||||
#include "types.h"
|
||||
namespace Game {
|
||||
typedef struct PlayData;
|
||||
struct PlayData {
|
||||
bool hasDope(int);
|
||||
int getDopeCount(int);
|
||||
void useDope(int);
|
||||
int getCurrentCourseIndex();
|
||||
};
|
||||
extern PlayData* playData;
|
||||
} // namespace Game
|
||||
|
||||
#endif
|
@ -14,7 +14,7 @@ struct StateArg {
|
||||
f32 f32;
|
||||
void* ptr;
|
||||
} _00; // _00 - EarthquakeState::init requires this to be a float - could be a union or bitflag?
|
||||
// short _04; // _04
|
||||
// short _04; // _04
|
||||
};
|
||||
|
||||
template <typename T> struct FSMState {
|
||||
|
@ -1,16 +0,0 @@
|
||||
#ifndef _GAME_TPOSITIONOBJECT_H
|
||||
#define _GAME_TPOSITIONOBJECT_H
|
||||
|
||||
#include "Vector3.h"
|
||||
#include "SweepPrune.h"
|
||||
|
||||
namespace Game {
|
||||
struct TPositionObject {
|
||||
virtual Vector3f getPosition() = 0; // _08
|
||||
|
||||
// VTBL _00
|
||||
SweepPrune::Object m_sweepPruneObject; // _04
|
||||
};
|
||||
} // namespace Game
|
||||
|
||||
#endif
|
@ -1,40 +1,224 @@
|
||||
#ifndef _GAME_VSGAME_VSGAME_H
|
||||
#define _GAME_VSGAME_VSGAME_H
|
||||
|
||||
#include "Graphics.h"
|
||||
#include "Vector3.h"
|
||||
#include "stream.h"
|
||||
#include "CNode.h"
|
||||
#include "Game/PikiContainer.h"
|
||||
#include "Game/StateMachine.h"
|
||||
#include "Game/VsGameSection.h"
|
||||
|
||||
namespace ItemHole {
|
||||
struct Item;
|
||||
}
|
||||
struct JUTTexture;
|
||||
struct LightObj;
|
||||
|
||||
namespace Game {
|
||||
namespace ItemHole {
|
||||
struct Item;
|
||||
} // namespace ItemHole
|
||||
|
||||
struct MovieConfig;
|
||||
|
||||
namespace VsGame {
|
||||
struct GameState : public FSMState<GameState> {
|
||||
struct TekiNode : public CNode {
|
||||
virtual ~TekiNode(); // _08 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = CNode
|
||||
u32 m_enemyID; // _18, probably EnemyTypeID?
|
||||
int _1C; // _1C
|
||||
int m_nodeID; // _20
|
||||
};
|
||||
|
||||
struct TekiMgr {
|
||||
TekiNode m_node; // _00
|
||||
int m_nodeCount; // _24
|
||||
};
|
||||
|
||||
struct CardMgr {
|
||||
struct SlotMachine {
|
||||
SlotMachine();
|
||||
|
||||
void clear();
|
||||
void start();
|
||||
void startStop();
|
||||
void update();
|
||||
void updateAppear();
|
||||
void startZoomIn();
|
||||
void startZoomUse();
|
||||
void updateZoomIn();
|
||||
void updateZoomUse();
|
||||
|
||||
f32 _00; // _00
|
||||
u8 _04[0x8]; // _04, unknown
|
||||
f32 _0C; // _0C
|
||||
f32 _10; // _10
|
||||
f32 _14; // _14
|
||||
u8 _18[0x4]; // _18, unknown
|
||||
u32 _1C; // _1C, unknown
|
||||
int _20; // _20
|
||||
u8 _24[0x8]; // _24, unknown
|
||||
f32 _2C; // _2C
|
||||
u8 _30[0xC]; // _30, unknown
|
||||
f32 _3C; // _3C, timer?
|
||||
f32 _40; // _40
|
||||
f32 _44; // _44
|
||||
f32 _48; // _48
|
||||
int _4C; // _4C, maybe currentSlotIndex?
|
||||
u8 _50; // _50, unknown
|
||||
u8 _51; // _51
|
||||
f32 _54; // _54
|
||||
u8 _58[0x4]; // _58, unknown
|
||||
int m_playerIndex; // _5C
|
||||
CardMgr* _60; // _60
|
||||
u32 _64; // _64
|
||||
f32 _68; // _68
|
||||
f32 _6C; // _6C
|
||||
};
|
||||
|
||||
CardMgr(VsGameSection*, TekiMgr*);
|
||||
|
||||
void loadResource();
|
||||
void update();
|
||||
void draw(Graphics&);
|
||||
void stopSlot(int);
|
||||
void usePlayerCard(int, TekiMgr*);
|
||||
void gotPlayerCard(int);
|
||||
void initDraw();
|
||||
void drawSlot(Graphics&, Vector3f&, SlotMachine&);
|
||||
|
||||
u32 _00; // _00, unknown
|
||||
JUTTexture** _04; // _04, slot textures?
|
||||
JUTTexture* _08; // _08
|
||||
JUTTexture* _0C; // _0C
|
||||
JUTTexture* _10; // _10
|
||||
JUTTexture* _14; // _14
|
||||
SlotMachine _18[2]; // _18
|
||||
int _F8; // _F8
|
||||
Vector3f* _FC; // _FC, array of 0x100 vectors?
|
||||
Vector3f* _100; // _100, array of 0x100 vectors?
|
||||
f32 _104; // _104
|
||||
LightObj* m_lightObj; // _108
|
||||
VsGameSection* m_section; // _10C
|
||||
TekiMgr* m_tekiMgr; // _110
|
||||
};
|
||||
|
||||
struct StageData : public CNode {
|
||||
virtual ~StageData(); // _08 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = CNode
|
||||
PikiContainer m_pikiContainer; // _18
|
||||
char m_caveInfoFilename[64]; // _20, default = "caveinfo.txt"
|
||||
f32 m_timeLimit; // _60
|
||||
int m_startNumBitter; // _64
|
||||
int m_startNumSpicy; // _68
|
||||
int m_index2D; // _6C
|
||||
char m_stageLayoutFilePath[64]; // _70
|
||||
int m_startNumYellowMarbles; // _B0
|
||||
};
|
||||
|
||||
struct StageList : public CNode {
|
||||
StageList();
|
||||
|
||||
virtual ~StageList(); // _08 (weak)
|
||||
|
||||
void read(Stream&);
|
||||
void getStageData(int);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = CNode
|
||||
StageData m_stageData;
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////
|
||||
// STATE MACHINE DEFINITIONS
|
||||
struct FSM : public StateMachine<VsGameSection> {
|
||||
virtual void init(VsGameSection*); // _08
|
||||
virtual void transit(VsGameSection*, int, StateArg*); // _14
|
||||
};
|
||||
|
||||
struct State : public FSMState<VsGameSection> {
|
||||
virtual void draw(VsGameSection*, Graphics&); // _20 (weak)
|
||||
virtual void pre2dDraw(Graphics&, VsGameSection*); // _24 (weak)
|
||||
virtual void onOrimaDown(VsGameSection*, int); // _28 (weak)
|
||||
virtual void onMovieStart(VsGameSection*, MovieConfig*, u32, u32); // _2C (weak)
|
||||
virtual void onMovieDone(VsGameSection*, MovieConfig*, u32, u32); // _30 (weak)
|
||||
virtual void onNextFloor(VsGameSection*, ItemHole::Item*); // _34 (weak)
|
||||
virtual void on_section_fadeout(VsGameSection*); // _38 (weak)
|
||||
virtual void goingToCave(VsGameSection*); // _3C (weak)
|
||||
virtual void onBattleFinished(VsGameSection*, int, bool); // _40 (weak)
|
||||
virtual void onRedOrBlueSuckStart(VsGameSection*, int, bool); // _44 (weak)
|
||||
virtual void isCardUsable(VsGameSection*); // _48 (weak)
|
||||
};
|
||||
|
||||
struct GameState : public State {
|
||||
GameState();
|
||||
|
||||
virtual void draw(VsGameSection*, struct Graphics&); // _00
|
||||
virtual void pre2dDraw(Graphics&, VsGameSection*); // _04
|
||||
virtual void onOrimaDown(VsGameSection*, int); // _08
|
||||
virtual void onMovieStart(VsGameSection*, struct MovieConfig*, unsigned long,
|
||||
unsigned long); // _0C
|
||||
virtual void onMovieDone(VsGameSection*, MovieConfig*, unsigned long,
|
||||
unsigned long); // _10
|
||||
virtual void onNextFloor(VsGameSection*, ItemHole::Item*); // _14
|
||||
virtual void on_section_fadeout(VsGameSection*); // _18
|
||||
virtual void goingToCave(VsGameSection*); // _1C
|
||||
virtual void onBattleFinished(VsGameSection*, int, bool); // _20
|
||||
virtual void onRedOrBlueSuckStart(VsGameSection*, int, bool); // _24
|
||||
virtual void isCardUsable(VsGameSection*); // _28
|
||||
virtual void drawStatus(Graphics&, VsGameSection*); // _2C
|
||||
virtual void do_init(VsGameSection*); // _30
|
||||
virtual void draw(VsGameSection*, Graphics&); // _20
|
||||
virtual void pre2dDraw(Graphics&, VsGameSection*); // _24
|
||||
virtual void onOrimaDown(VsGameSection*, int); // _28
|
||||
virtual void onMovieStart(VsGameSection*, MovieConfig*, u32, u32); // _2C
|
||||
virtual void onMovieDone(VsGameSection*, MovieConfig*, u32, u32); // _30
|
||||
virtual void onNextFloor(VsGameSection*, ItemHole::Item*); // _34
|
||||
virtual void on_section_fadeout(VsGameSection*); // _38 (weak)
|
||||
virtual void goingToCave(VsGameSection*); // _3C
|
||||
virtual void onBattleFinished(VsGameSection*, int, bool); // _40
|
||||
virtual void onRedOrBlueSuckStart(VsGameSection*, int, bool); // _44
|
||||
virtual void isCardUsable(VsGameSection*); // _48
|
||||
virtual void drawStatus(Graphics&, VsGameSection*); // _4C
|
||||
virtual void do_init(VsGameSection*); // _50
|
||||
|
||||
void clearLoseCauses();
|
||||
void checkFindKeyDemo(VsGameSection*);
|
||||
void checkSMenu(VsGameSection*);
|
||||
void checkPikminZero(VsGameSection*);
|
||||
void open_GameChallenge(VsGameSection*, int);
|
||||
void update_GameChallenge(VsGameSection*);
|
||||
};
|
||||
|
||||
struct VSState : public GameState {
|
||||
VSState();
|
||||
|
||||
virtual void do_init(VsGameSection*); // _30
|
||||
virtual void do_init(VsGameSection*); // _50
|
||||
};
|
||||
|
||||
struct LoadState : public State {
|
||||
LoadState();
|
||||
|
||||
virtual void init(VsGameSection*, StateArg*); // _08
|
||||
virtual void exec(VsGameSection*); // _0C
|
||||
virtual void cleanup(VsGameSection*); // _10
|
||||
virtual void draw(VsGameSection*, Graphics&); // _20
|
||||
|
||||
void dvdLoad();
|
||||
};
|
||||
|
||||
struct ResultState : public State {
|
||||
ResultState();
|
||||
|
||||
virtual void init(VsGameSection*, StateArg*); // _08
|
||||
virtual void exec(VsGameSection*); // _0C
|
||||
virtual void cleanup(VsGameSection*); // _10
|
||||
virtual void draw(VsGameSection*, Graphics&); // _20
|
||||
|
||||
void prepareMorimuraInfo(VsGameSection*);
|
||||
void dvdload();
|
||||
};
|
||||
|
||||
struct TitleState : public State {
|
||||
TitleState();
|
||||
|
||||
virtual void init(VsGameSection*, StateArg*); // _08
|
||||
virtual void exec(VsGameSection*); // _0C
|
||||
virtual void cleanup(VsGameSection*); // _10
|
||||
virtual void draw(VsGameSection*, Graphics&); // _20
|
||||
|
||||
void dvdload();
|
||||
void execChallenge(VsGameSection*);
|
||||
void execVs(VsGameSection*);
|
||||
};
|
||||
/////////////////////////////////////////////////////////////////
|
||||
} // namespace VsGame
|
||||
} // namespace Game
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#ifndef _GAME_AABBWATERBOX_H
|
||||
#define _GAME_AABBWATERBOX_H
|
||||
#ifndef _GAME_WATERBOX_H
|
||||
#define _GAME_WATERBOX_H
|
||||
|
||||
#include "BoundBox.h"
|
||||
#include "Graphics.h"
|
||||
@ -37,21 +37,21 @@ struct WaterBox {
|
||||
return false;
|
||||
}
|
||||
virtual bool inWater2d(Sys::Sphere&); // _0C (weak)
|
||||
virtual float getSeaLevel() = 0; // _10
|
||||
virtual float* getSeaHeightPtr() = 0; // _14
|
||||
virtual bool update() = 0; // _18
|
||||
virtual void startDown(float); // _1C (weak)
|
||||
virtual void startUp(float); // _20 (weak)
|
||||
virtual f32 getSeaLevel() = 0; // _10
|
||||
virtual f32* getSeaHeightPtr() = 0; // _14
|
||||
virtual bool update() = 0; // _18
|
||||
virtual void startDown(f32); // _1C (weak)
|
||||
virtual void startUp(f32); // _20 (weak)
|
||||
virtual void directDraw(Graphics&); // _24 (weak)
|
||||
virtual void doAnimation(); // _28 (weak)
|
||||
virtual void doEntry(); // _2C (weak)
|
||||
virtual void doSetView(int); // _30 (weak)
|
||||
virtual void doViewCalc(); // _34 (weak)
|
||||
virtual void doSimulation(float); // _38 (weak)
|
||||
virtual void doSimulation(f32); // _38 (weak)
|
||||
virtual void doDirectDraw(Graphics&); // _3C (weak)
|
||||
virtual void attachModel(J3DModelData*, Sys::MatTexAnimation*,
|
||||
float); // _40 (weak)
|
||||
virtual void calcMatrix(); // _44 (weak)
|
||||
f32); // _40 (weak)
|
||||
virtual void calcMatrix(); // _44 (weak)
|
||||
|
||||
u8 m_flags; // _04
|
||||
};
|
||||
@ -59,35 +59,35 @@ struct WaterBox {
|
||||
struct AABBWaterBox : public WaterBox {
|
||||
AABBWaterBox();
|
||||
|
||||
virtual bool inWater(Sys::Sphere&); // _08
|
||||
virtual bool inWater2d(Sys::Sphere&); // _0C
|
||||
virtual float getSeaLevel(); // _10 (weak)
|
||||
virtual float* getSeaHeightPtr(); // _14 (weak)
|
||||
virtual bool update(); // _18
|
||||
virtual void startDown(float); // _1C
|
||||
virtual void startUp(float); // _20
|
||||
virtual void directDraw(Graphics&); // _24
|
||||
virtual void doAnimation(); // _28
|
||||
virtual void doEntry(); // _2C
|
||||
virtual void doSetView(int); // _30
|
||||
virtual void doViewCalc(); // _34
|
||||
virtual void attachModel(J3DModelData*, Sys::MatTexAnimation*, float); // _40
|
||||
virtual void calcMatrix(); // _44
|
||||
virtual bool inWater(Sys::Sphere&); // _08
|
||||
virtual bool inWater2d(Sys::Sphere&); // _0C
|
||||
virtual f32 getSeaLevel(); // _10 (weak)
|
||||
virtual f32* getSeaHeightPtr(); // _14 (weak)
|
||||
virtual bool update(); // _18
|
||||
virtual void startDown(f32); // _1C
|
||||
virtual void startUp(f32); // _20
|
||||
virtual void directDraw(Graphics&); // _24
|
||||
virtual void doAnimation(); // _28
|
||||
virtual void doEntry(); // _2C
|
||||
virtual void doSetView(int); // _30
|
||||
virtual void doViewCalc(); // _34
|
||||
virtual void attachModel(J3DModelData*, Sys::MatTexAnimation*, f32); // _40
|
||||
virtual void calcMatrix(); // _44
|
||||
|
||||
void globalise(Game::AABBWaterBox*, Matrixf&);
|
||||
|
||||
void create(Vector3f&, Vector3f&);
|
||||
|
||||
u16 _08; // _08
|
||||
float _0C; // _0C
|
||||
float _10; // _10
|
||||
float _14; // _14
|
||||
f32 _0C; // _0C
|
||||
f32 _10; // _10
|
||||
f32 _14; // _14
|
||||
BoundBox m_bounds; // _18
|
||||
float _30; // _30
|
||||
float _34; // _34
|
||||
float _38; // _38
|
||||
float _3C; // _3C
|
||||
float _40; // _40
|
||||
f32 _30; // _30
|
||||
f32 _34; // _34
|
||||
f32 _38; // _38
|
||||
f32 _3C; // _3C
|
||||
f32 _40; // _40
|
||||
Vector3f _44; // _44
|
||||
SysShape::Model* m_model; // _50
|
||||
Sys::MatLoopAnimator m_matAnimator; // _54
|
@ -1,37 +0,0 @@
|
||||
#ifndef _GAME_ZENMAI_H
|
||||
#define _GAME_ZENMAI_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
namespace Sys {
|
||||
struct Cylinder;
|
||||
}
|
||||
|
||||
namespace Game {
|
||||
struct EnemyBirthArg;
|
||||
|
||||
namespace Zenmai {
|
||||
struct Mgr {
|
||||
Mgr(int, unsigned char);
|
||||
~Mgr();
|
||||
|
||||
void birth(Game::EnemyBirthArg&);
|
||||
void createObj(int);
|
||||
void doAlloc();
|
||||
void doLoadBmd(void*);
|
||||
void getEnemy(int);
|
||||
void getEnemyTypeID();
|
||||
};
|
||||
|
||||
struct Obj {
|
||||
Obj();
|
||||
~Obj();
|
||||
|
||||
void getEnemyTypeID();
|
||||
void getLODCylinder(Sys::Cylinder&);
|
||||
void setParameters();
|
||||
};
|
||||
} // namespace Zenmai
|
||||
} // namespace Game
|
||||
|
||||
#endif
|
@ -2,13 +2,13 @@
|
||||
#define _GAME_CELLPYRAMID_H
|
||||
|
||||
#include "types.h"
|
||||
#include "Game/TPositionObject.h"
|
||||
#include "Sys/Sphere.h"
|
||||
#include "SweepPrune.h"
|
||||
#include "IDelegate.h"
|
||||
#include "Graphics.h"
|
||||
#include "Rect.h"
|
||||
#include "Vector2.h"
|
||||
#include "Vector3.h"
|
||||
#include "BoundBox.h"
|
||||
|
||||
namespace Game {
|
||||
@ -16,6 +16,13 @@ struct Cell;
|
||||
struct CellObject;
|
||||
struct CellPyramid;
|
||||
|
||||
struct TPositionObject {
|
||||
virtual Vector3f getPosition() = 0; // _08
|
||||
|
||||
// VTBL _00
|
||||
SweepPrune::Object m_sweepPruneObject; // _04
|
||||
};
|
||||
|
||||
struct CollNode {
|
||||
CollNode();
|
||||
|
||||
@ -105,15 +112,15 @@ struct CellObject : public TPositionObject {
|
||||
m_cellLegs[3].m_object = this;
|
||||
m_passID = 0;
|
||||
}
|
||||
// virtual Vector3f checkPosition() = 0; // _08
|
||||
// virtual Vector3f getPosition() = 0; // _08
|
||||
virtual void checkCollision(CellObject*) { } // _0C (weak)
|
||||
virtual void getBoundingSphere(Sys::Sphere&) = 0; // _10
|
||||
virtual bool collisionUpdatable() = 0; // _14
|
||||
virtual bool isPiki() { return false; } // _18 (weak)
|
||||
virtual bool isNavi() { return false; } // _1C (weak)
|
||||
virtual bool deferPikiCollision() { return false; } // _20 (weak)
|
||||
virtual char* getTypeName(); // _24
|
||||
virtual u16 getObjType(); // _28
|
||||
virtual char* getTypeName() = 0; // _24
|
||||
virtual u16 getObjType() = 0; // _28
|
||||
|
||||
void exitCell();
|
||||
float calcCollisionDistance(CellObject*);
|
||||
|
@ -30,16 +30,16 @@ struct CaveSaveData {
|
||||
void write(Stream&);
|
||||
void read(Stream&, u32);
|
||||
|
||||
bool m_isInCave; // _00
|
||||
int m_currentCourse; // _04 // TODO: Should this be currentCourseIndex?
|
||||
ID32 m_currentCaveID; // _08
|
||||
PikiContainer _14; // _14
|
||||
float m_time; // _1C
|
||||
u8 m_isWaterwraithAlive; // _20
|
||||
float m_waterwraithTimer; // _24
|
||||
int m_currentFloor; // _28
|
||||
u8 m_activeNaviID; // _2C
|
||||
PikiContainer _30; // _30
|
||||
bool m_isInCave; // _00
|
||||
int m_currentCourse; // _04 // TODO: Should this be currentCourseIndex?
|
||||
ID32 m_currentCaveID; // _08
|
||||
PikiContainer _14; // _14
|
||||
f32 m_time; // _1C
|
||||
u8 m_isWaterwraithAlive; // _20
|
||||
f32 m_waterwraithTimer; // _24
|
||||
int m_currentFloor; // _28
|
||||
u8 m_activeNaviID; // _2C
|
||||
PikiContainer _30; // _30
|
||||
};
|
||||
|
||||
struct KindCounter {
|
||||
@ -107,8 +107,8 @@ struct OlimarData {
|
||||
struct PelletCropMemory {
|
||||
PelletCropMemory(int, int, int); // inlined
|
||||
|
||||
virtual void read(Stream&); // _00
|
||||
virtual void write(Stream&); // _04
|
||||
virtual void read(Stream&); // _08
|
||||
virtual void write(Stream&); // _0C
|
||||
|
||||
void addTo(PelletCropMemory*);
|
||||
int calcEarnKinds();
|
||||
@ -120,6 +120,7 @@ struct PelletCropMemory {
|
||||
void obtainPellet(Pellet*);
|
||||
int calcNumKinds();
|
||||
|
||||
// _00 = VTBL
|
||||
KindCounter _04; // _04
|
||||
KindCounter _0C; // _0C
|
||||
KindCounter _14; // _14
|
||||
@ -128,9 +129,12 @@ struct PelletCropMemory {
|
||||
struct PelletFirstMemory : public PelletCropMemory {
|
||||
PelletFirstMemory(int, int, int); // inlined
|
||||
|
||||
bool firstCarryPellet(Pellet*);
|
||||
void obtainPellet(BasePelletMgr*, int);
|
||||
void losePellet(BasePelletMgr*, int);
|
||||
virtual bool firstCarryPellet(Pellet*); // _10
|
||||
virtual void obtainPellet(BasePelletMgr*, int); // _14
|
||||
virtual void losePellet(BasePelletMgr*, int); // _18
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_1C = PelletCropMemory
|
||||
};
|
||||
|
||||
/**
|
||||
@ -175,7 +179,7 @@ struct PlayData : public CNode {
|
||||
|
||||
PlayData();
|
||||
|
||||
virtual ~PlayData(); // _00
|
||||
virtual ~PlayData(); // _08
|
||||
|
||||
bool isCompletePelletTrigger();
|
||||
void construct();
|
||||
@ -230,7 +234,7 @@ struct PlayData : public CNode {
|
||||
void read_CaveOtakara(Stream&);
|
||||
void write_CaveOtakara(Stream&);
|
||||
int getRepayLevel();
|
||||
float getRepayLevelPercent(int);
|
||||
f32 getRepayLevelPercent(int);
|
||||
bool checkRepayLevelFirstClear();
|
||||
void experienceRepayLevelFirstClear();
|
||||
void initLimitGens();
|
||||
@ -267,7 +271,7 @@ struct PlayData : public CNode {
|
||||
u8 _19; // _19
|
||||
u32 _1C; // _1C
|
||||
u8 _20; // _20
|
||||
float m_naviLifeMax[2]; // _24
|
||||
f32 m_naviLifeMax[2]; // _24
|
||||
u8 m_hasContainerFlags; // _2C
|
||||
u8 m_hasBootContainerFlags; // _2D
|
||||
u8 m_meetPikminFlags; // _2E
|
||||
|
@ -1,15 +0,0 @@
|
||||
#ifndef _GAME_ITEMGATE_H
|
||||
#define _GAME_ITEMGATE_H
|
||||
|
||||
#include "Game/itemMgr.h"
|
||||
|
||||
namespace Game {
|
||||
struct ItemGateMgr : public BaseItemMgr {
|
||||
virtual char* getCaveName(int); // _6C
|
||||
virtual int getCaveID(char*); // _70
|
||||
};
|
||||
|
||||
extern ItemGateMgr* itemGateMgr;
|
||||
} // namespace Game
|
||||
|
||||
#endif
|
@ -1,7 +1,7 @@
|
||||
#ifndef _GAME_SEAMGR_H
|
||||
#define _GAME_SEAMGR_H
|
||||
|
||||
#include "Game/AABBWaterBox.h"
|
||||
#include "Game/WaterBox.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "types.h"
|
||||
|
||||
|
@ -2,31 +2,27 @@
|
||||
#define _GAMEFLOW_H
|
||||
|
||||
#include "types.h"
|
||||
#include "Section.h"
|
||||
|
||||
struct SectionInfo;
|
||||
struct ISection;
|
||||
struct Section;
|
||||
struct JKRHeap;
|
||||
|
||||
struct ISectionMgr {
|
||||
ISectionMgr() { }
|
||||
|
||||
virtual void run() = 0;
|
||||
virtual ISection* getCurrentSection();
|
||||
};
|
||||
|
||||
struct GameFlow : public ISectionMgr {
|
||||
GameFlow();
|
||||
|
||||
virtual void run();
|
||||
virtual ISection* getCurrentSection();
|
||||
virtual void run(); // _08
|
||||
virtual ISection* getCurrentSection(); // _0C (weak)
|
||||
|
||||
void setSection();
|
||||
SectionInfo* getSectionInfo(int);
|
||||
|
||||
static ISection* createSection(JKRHeap*);
|
||||
|
||||
static u32 mActiveSectionFlag;
|
||||
|
||||
// _00 = VTBL
|
||||
Section* m_section; // _04
|
||||
};
|
||||
|
||||
|
14
include/HIORootNode.h
Normal file
14
include/HIORootNode.h
Normal file
@ -0,0 +1,14 @@
|
||||
#ifndef _HIOROOTNODE_H
|
||||
#define _HIOROOTNODE_H
|
||||
|
||||
#include "types.h"
|
||||
#include "CNode.h"
|
||||
|
||||
struct HIORootNode : public CNode {
|
||||
virtual ~HIORootNode(); // _08 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = CNode
|
||||
};
|
||||
|
||||
#endif
|
@ -4,19 +4,19 @@
|
||||
#include "types.h"
|
||||
|
||||
struct IDelegate {
|
||||
virtual void invoke() = 0;
|
||||
virtual void invoke() = 0; // _08
|
||||
};
|
||||
|
||||
template <typename A> struct IDelegate1 {
|
||||
virtual void invoke(A) = 0;
|
||||
virtual void invoke(A) = 0; // _08
|
||||
};
|
||||
|
||||
template <typename A, typename B> struct IDelegate2 {
|
||||
virtual void invoke(A, B) = 0;
|
||||
virtual void invoke(A, B) = 0; // _08
|
||||
};
|
||||
|
||||
template <typename A, typename B, typename C> struct IDelegate3 {
|
||||
virtual void invoke(A, B, C) = 0;
|
||||
virtual void invoke(A, B, C) = 0; // _08
|
||||
};
|
||||
|
||||
template <typename T> struct Delegate : public IDelegate {
|
||||
@ -25,7 +25,8 @@ template <typename T> struct Delegate : public IDelegate {
|
||||
m_object = obj;
|
||||
m_function = func;
|
||||
}
|
||||
virtual void invoke() { (m_object->*m_function)(); }
|
||||
|
||||
virtual void invoke() { (m_object->*m_function)(); } // _08
|
||||
|
||||
// VTBL _00
|
||||
T* m_object; // _04
|
||||
@ -39,7 +40,7 @@ template <typename T, typename A> struct Delegate1 : public IDelegate1<A> {
|
||||
m_function = func;
|
||||
}
|
||||
|
||||
virtual void invoke(A a) { (m_object->*m_function)(a); }
|
||||
virtual void invoke(A a) { (m_object->*m_function)(a); } // _08
|
||||
|
||||
// VTBL _00
|
||||
T* m_object; // _04
|
||||
@ -53,7 +54,7 @@ template <typename T, typename A, typename B> struct Delegate2 : public IDelegat
|
||||
m_function = func;
|
||||
}
|
||||
|
||||
virtual void invoke(A a, B b) { (m_object->*m_function)(a, b); }
|
||||
virtual void invoke(A a, B b) { (m_object->*m_function)(a, b); } // _08
|
||||
|
||||
// VTBL _00
|
||||
T* m_object; // _04
|
||||
@ -67,7 +68,7 @@ template <typename T, typename A, typename B, typename C> struct Delegate3 : pub
|
||||
m_function = func;
|
||||
}
|
||||
|
||||
virtual void invoke(A a, B b, C c) { (m_object->*m_function)(a, b, c); }
|
||||
virtual void invoke(A a, B b, C c) { (m_object->*m_function)(a, b, c); } // _08
|
||||
|
||||
// VTBL _00
|
||||
T* m_object; // _04
|
||||
|
@ -7,16 +7,16 @@
|
||||
struct Graphics;
|
||||
|
||||
struct InfoMgrBase {
|
||||
virtual ~InfoMgrBase(); // _00
|
||||
virtual void loadResource() = 0; // _04
|
||||
virtual void update() = 0; // _08
|
||||
virtual void draw(Graphics&) = 0; // _0C
|
||||
virtual ~InfoMgrBase(); // _08
|
||||
virtual void loadResource() = 0; // _0C
|
||||
virtual void update() = 0; // _10
|
||||
virtual void draw(Graphics&) = 0; // _14
|
||||
|
||||
// VTBL _00
|
||||
};
|
||||
|
||||
template <typename Owner, typename List> struct InfoListBase : public JKRDisposer {
|
||||
virtual ~InfoListBase() // _00
|
||||
virtual ~InfoListBase() // _08
|
||||
{
|
||||
if (_18 != nullptr) {
|
||||
_18->_1C = _1C;
|
||||
@ -27,10 +27,10 @@ template <typename Owner, typename List> struct InfoListBase : public JKRDispose
|
||||
_1C = nullptr;
|
||||
_18 = nullptr;
|
||||
}
|
||||
virtual void init() {}; // _04
|
||||
virtual void update() {}; // _08
|
||||
virtual void draw(Graphics&) {}; // _0C
|
||||
virtual bool isFinish() = 0; // _10
|
||||
virtual void init() {}; // _0C
|
||||
virtual void update() {}; // _10
|
||||
virtual void draw(Graphics&) {}; // _14
|
||||
virtual bool isFinish() = 0; // _18
|
||||
|
||||
// TODO: These may be just List*?
|
||||
InfoListBase<Owner, List>* _18; // _18
|
||||
@ -43,11 +43,9 @@ template <typename Owner, typename List> struct InfoMgr : public InfoMgrBase {
|
||||
InfoMgr();
|
||||
|
||||
// TODO: dtor
|
||||
virtual ~InfoMgr(); // _00
|
||||
|
||||
virtual void loadResource() = 0; // _04
|
||||
|
||||
virtual void update() // _08
|
||||
virtual ~InfoMgr(); // _08
|
||||
virtual void loadResource() = 0; // _0C
|
||||
virtual void update() // _10
|
||||
{
|
||||
// InfoListBase<Owner, List>* next;
|
||||
// for (
|
||||
@ -65,8 +63,7 @@ template <typename Owner, typename List> struct InfoMgr : public InfoMgrBase {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
virtual void draw(Graphics& gfx) // _0C
|
||||
virtual void draw(Graphics& gfx) // _14
|
||||
{
|
||||
InfoListBase<Owner, List>* list = ((InfoListBase<Owner, List>)m_activeList)._1C;
|
||||
if (list != nullptr) {
|
||||
@ -75,8 +72,7 @@ template <typename Owner, typename List> struct InfoMgr : public InfoMgrBase {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
virtual List* regist(Owner* owner) // _10
|
||||
virtual List* regist(Owner* owner) // _18
|
||||
{
|
||||
InfoListBase<Owner, List>* list;
|
||||
for (list = ((InfoListBase<Owner, List>)m_activeList)._1C; list != nullptr; list = list->_1C) {
|
||||
@ -93,8 +89,7 @@ template <typename Owner, typename List> struct InfoMgr : public InfoMgrBase {
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
virtual List* search(List* list, Owner* owner) // _14
|
||||
virtual List* search(List* list, Owner* owner) // _1C
|
||||
{
|
||||
while (true) {
|
||||
if (list == nullptr) {
|
||||
|
@ -101,26 +101,4 @@ struct Mgr : public LightMgr {
|
||||
};
|
||||
} // namespace TreasureLight
|
||||
|
||||
namespace Game {
|
||||
struct GameLightTimeSetting;
|
||||
struct GameLightEventArg;
|
||||
|
||||
struct GameLightMgr : public LightMgr {
|
||||
virtual ~GameLightMgr(); // _08 (weak)
|
||||
virtual void update(); // _10
|
||||
virtual void set(Graphics&); // _14
|
||||
|
||||
GameLightMgr(char*);
|
||||
void start();
|
||||
void createEventLight(Game::GameLightEventArg&);
|
||||
void loadParm(Stream&);
|
||||
void calcSetting(Game::GameLightTimeSetting*, Game::GameLightTimeSetting*, Game::GameLightTimeSetting*);
|
||||
void updateSunType();
|
||||
void updateSpotType();
|
||||
void updatePosition(Viewport*);
|
||||
|
||||
u8 _50[0x2344 - 0x50];
|
||||
FogMgr* m_fogMgr; // _2344
|
||||
};
|
||||
} // namespace Game
|
||||
#endif
|
||||
|
@ -9,28 +9,30 @@
|
||||
#include "SysShape/Model.h"
|
||||
|
||||
struct ModelEffectCreateArg {
|
||||
virtual u64 getID() = 0; // _00
|
||||
virtual u64 getID() = 0; // _08
|
||||
};
|
||||
|
||||
struct ModelEffectData : public CNode {
|
||||
virtual ~ModelEffectData(); // _08
|
||||
virtual ~ModelEffectData(); // _08 (weak)
|
||||
virtual void loadResources() = 0; // _10
|
||||
virtual u64 getID() = 0; // _1C
|
||||
virtual void onCreate(ModelEffectCreateArg*) = 0; // _20
|
||||
virtual u64 getID() = 0; // _14
|
||||
virtual void onCreate(ModelEffectCreateArg*) = 0; // _18
|
||||
|
||||
void entry();
|
||||
void create(ModelEffectCreateArg*);
|
||||
void allocModelData(int);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = CNode
|
||||
int m_sizeInBytes; // _18
|
||||
J3DModelData* m_modelData; // _1C
|
||||
};
|
||||
|
||||
struct ModelEffectDataRoot : public ModelEffectData {
|
||||
virtual ~ModelEffectDataRoot(); // _08
|
||||
virtual void loadResources(); // _10
|
||||
virtual u64 getID(); // _1C
|
||||
virtual void onCreate(ModelEffectCreateArg*); // _20
|
||||
virtual ~ModelEffectDataRoot(); // _08 (weak)
|
||||
virtual void loadResources(); // _10 (weak)
|
||||
virtual u64 getID(); // _14 (weak)
|
||||
virtual void onCreate(ModelEffectCreateArg*); // _18 (weak)
|
||||
};
|
||||
|
||||
struct ModelEffect {
|
||||
@ -39,11 +41,11 @@ struct ModelEffect {
|
||||
virtual void doEntry(); // _10
|
||||
virtual void doSetView(int); // _14
|
||||
virtual void doViewCalc(); // _18
|
||||
virtual void changeMaterial(); // _1C
|
||||
virtual void changeMaterial(); // _1C (weak)
|
||||
virtual void getLODSphere(Sys::Sphere&) = 0; // _20
|
||||
virtual void useCylinderLOD(); // _24 (weak)
|
||||
virtual void getLODCylinder(Sys::Cylinder&); // _28
|
||||
virtual void doSimulation(float); // _2C (weak)
|
||||
virtual void getLODCylinder(Sys::Cylinder&); // _28 (weak)
|
||||
virtual void doSimulation(f32); // _2C (weak)
|
||||
virtual void doDirectDraw(Graphics&); // _30 (weak)
|
||||
|
||||
// _00 VTBL
|
||||
|
@ -19,37 +19,38 @@ struct GameLightMgr;
|
||||
} // namespace Game
|
||||
|
||||
struct ParticleMgr : public CNode {
|
||||
virtual ~ParticleMgr(); // _08
|
||||
virtual void update(); // _10
|
||||
virtual void doAnimation(); // _14
|
||||
virtual void doEntry(); // _18
|
||||
virtual void doSetView(int); // _1C
|
||||
virtual void doViewCalc(); // _20
|
||||
virtual void draw(Viewport*, unsigned char); // _24
|
||||
ParticleMgr();
|
||||
|
||||
virtual ~ParticleMgr(); // _08
|
||||
virtual void update(); // _10
|
||||
virtual void doAnimation(); // _14
|
||||
virtual void doEntry(); // _18
|
||||
virtual void doSetView(int); // _1C
|
||||
virtual void doViewCalc(); // _20
|
||||
virtual void draw(Viewport*, u8); // _24
|
||||
|
||||
static void globalInstance();
|
||||
static void deleteInstance();
|
||||
static void Instance_TPkEffectMgr();
|
||||
static void deleteInstance_TPkEffectMgr();
|
||||
|
||||
ParticleMgr();
|
||||
void createHeap(unsigned long);
|
||||
void createMgr(char*, unsigned long, unsigned long, unsigned long);
|
||||
void createHeap(u32);
|
||||
void createMgr(char*, u32, u32, u32);
|
||||
void beginEntryModelEffect();
|
||||
void endEntryModelEffect();
|
||||
void start();
|
||||
void reset();
|
||||
void killAll();
|
||||
void setXfb(const ResTIMG*);
|
||||
JPABaseEmitter* create(unsigned short, Vector3<float>&, unsigned char);
|
||||
JPABaseEmitter* createDemo(unsigned short, Vector3<float>&, unsigned char, unsigned char);
|
||||
JPABaseEmitter* create(u16, Vector3f&, u8);
|
||||
JPABaseEmitter* createDemo(u16, Vector3f&, u8, u8);
|
||||
void setGlobalColor(JPABaseEmitter*);
|
||||
void forceKill(JPABaseEmitter*);
|
||||
void fade(JPABaseEmitter*);
|
||||
void setDemoResourceManager(JPAResourceManager*);
|
||||
void clearDemoResourceManager();
|
||||
void setViewport(Graphics&);
|
||||
bool cullByResFlg(Vector3<float>&, unsigned short);
|
||||
bool cullByResFlg(Vector3f&, u16);
|
||||
bool cullByResFlg(JPABaseEmitter*);
|
||||
void entryModelEffect(ModelEffectData*);
|
||||
void createModelEffect(ModelEffectCreateArg*);
|
||||
@ -59,7 +60,7 @@ struct ParticleMgr : public CNode {
|
||||
void cull(Sys::Sphere&); // Might return bool?
|
||||
void cullCylinder(Sys::Cylinder&); // Might return bool?
|
||||
void draw2d();
|
||||
void getModelEffectData(unsigned long long);
|
||||
void getModelEffectData(u64);
|
||||
void testCreateModelEffect(int, int, Vector3f&);
|
||||
|
||||
Game::GameLightMgr* m_lightMgr; // _18
|
||||
|
@ -4,6 +4,8 @@
|
||||
#include "types.h"
|
||||
#include "Vector3.h"
|
||||
#include "SysShape/MotionListener.h"
|
||||
#include "Condition.h"
|
||||
#include "Collinfo.h"
|
||||
|
||||
namespace Sys {
|
||||
struct Triangle;
|
||||
@ -25,6 +27,10 @@ struct WayPoint;
|
||||
|
||||
struct Graphics;
|
||||
|
||||
struct FindCondition : public Condition<CollPart> {
|
||||
virtual bool satisfy(CollPart*); // _08 (weak)
|
||||
};
|
||||
|
||||
namespace PikiAI {
|
||||
struct ActAttack;
|
||||
struct ActBattle;
|
||||
|
23
include/ResetManager.h
Normal file
23
include/ResetManager.h
Normal file
@ -0,0 +1,23 @@
|
||||
#ifndef _RESETMANAGER_H
|
||||
#define _RESETMANAGER_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
struct ResetManager {
|
||||
ResetManager(f32);
|
||||
|
||||
virtual void draw(); // _08
|
||||
virtual void updateStatusEffects(); // _0C
|
||||
|
||||
void update();
|
||||
bool isWritingMemoryCard();
|
||||
bool isSoundSystemStopped();
|
||||
|
||||
// _00 = VTBL
|
||||
u32 _04; // _04, unknown
|
||||
f32 _08; // _08
|
||||
u32 _0C; // _0C - bitfield?
|
||||
u32 _10; // _10, unknown
|
||||
};
|
||||
|
||||
#endif
|
@ -5,6 +5,7 @@
|
||||
|
||||
struct MenuSection : public Section {
|
||||
MenuSection(struct JFWDisplay*, struct JKRHeap*, bool);
|
||||
|
||||
virtual ~MenuSection() { } // _08 (weak)
|
||||
virtual void run(); // _0C
|
||||
virtual Section* getCurrentSection() { return m_currentSection; } // _30 (weak)
|
||||
@ -12,6 +13,8 @@ struct MenuSection : public Section {
|
||||
|
||||
bool runChildSection();
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_3C = Section
|
||||
#if BUILDTARGET == USADEMO1
|
||||
// There is an extra unaccounted for space of data 0x1C long
|
||||
u8 _39[0x1C]; // _39
|
||||
@ -25,6 +28,7 @@ struct MenuSection : public Section {
|
||||
|
||||
struct RootMenuSection : public MenuSection {
|
||||
RootMenuSection(struct JKRHeap*);
|
||||
|
||||
virtual ~RootMenuSection(); // _08
|
||||
virtual void drawInit(struct Graphics&); // _1C
|
||||
virtual bool doUpdate() { return false; } // _3C
|
||||
|
@ -17,6 +17,13 @@ struct ISection : public JKRDisposer {
|
||||
virtual void init() = 0; // _18
|
||||
};
|
||||
|
||||
struct ISectionMgr {
|
||||
ISectionMgr() { }
|
||||
|
||||
virtual void run() = 0; // _08
|
||||
virtual ISection* getCurrentSection(); // _0C (weak)
|
||||
};
|
||||
|
||||
struct Section : public ISection {
|
||||
enum EDrawInitMode { Zero = 0, One = 1, Two = 2 };
|
||||
|
||||
|
28
include/Splitter.h
Normal file
28
include/Splitter.h
Normal file
@ -0,0 +1,28 @@
|
||||
#ifndef _SPLITTER_H
|
||||
#define _SPLITTER_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
struct Graphics;
|
||||
|
||||
struct Splitter {
|
||||
virtual void split2(f32); // _08 (weak)
|
||||
virtual void split4(f32, f32); // _0C (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
};
|
||||
|
||||
struct HorizontalSplitter : public Splitter {
|
||||
HorizontalSplitter(Graphics*);
|
||||
|
||||
virtual void split2(f32); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
f32 m_x1; // _04, name from PikDecomp
|
||||
f32 m_x2; // _08, name from PikDecomp
|
||||
f32 m_y1; // _0C, name from PikDecomp
|
||||
f32 m_y2; // _10, name from PikDecomp
|
||||
Graphics* m_graphics; // _14
|
||||
};
|
||||
|
||||
#endif
|
@ -28,6 +28,10 @@ struct Object {
|
||||
};
|
||||
|
||||
struct World {
|
||||
struct Callback {
|
||||
virtual void invoke(Object*, Object*) = 0; // _08
|
||||
};
|
||||
|
||||
struct ResolveArg {
|
||||
Callback* m_callback;
|
||||
u32 _04;
|
||||
@ -35,6 +39,7 @@ struct World {
|
||||
};
|
||||
|
||||
World();
|
||||
|
||||
~World();
|
||||
void resolve(ResolveArg&);
|
||||
|
||||
@ -43,11 +48,7 @@ struct World {
|
||||
};
|
||||
} // namespace SweepPrune
|
||||
|
||||
struct Callback {
|
||||
virtual void invoke(SweepPrune::Object*, SweepPrune::Object*);
|
||||
};
|
||||
|
||||
struct SweepCallback : Callback {
|
||||
struct SweepCallback : public SweepPrune::World::Callback {
|
||||
virtual void invoke(SweepPrune::Object*, SweepPrune::Object*);
|
||||
|
||||
// vt _00
|
||||
|
@ -13,7 +13,8 @@ struct JKRSolidHeap;
|
||||
|
||||
struct TParticle2dMgr : public CNode, JKRDisposer {
|
||||
TParticle2dMgr();
|
||||
virtual ~TParticle2dMgr();
|
||||
|
||||
virtual ~TParticle2dMgr(); // _08 (weak)
|
||||
|
||||
static void globalInstance();
|
||||
static TParticle2dMgr* Instance();
|
||||
@ -33,6 +34,9 @@ struct TParticle2dMgr : public CNode, JKRDisposer {
|
||||
void setSceneResourceManager(JPAResourceManager*);
|
||||
void update();
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = CNode
|
||||
// _18-_30 = JKRDisposer
|
||||
JPAEmitterManager* _30; // _30
|
||||
JPAResourceManager* m_resourceManager; // _34
|
||||
JKRSolidHeap* m_solidHeap; // _38
|
||||
|
@ -22,24 +22,26 @@ namespace Title {
|
||||
struct Section : public Game::BaseHIOSection {
|
||||
Section(JKRHeap*);
|
||||
|
||||
virtual ~Section(); // _08
|
||||
virtual void run(); // _0C
|
||||
virtual bool update(); // _10
|
||||
virtual void draw(Graphics&); // _14
|
||||
virtual void init(); // _18
|
||||
virtual void drawInit(Graphics&); // _1C
|
||||
virtual void drawInit(Graphics&, EDrawInitMode); // _20
|
||||
virtual void doExit(); // _24
|
||||
virtual bool forceFinish(); // _28
|
||||
virtual bool forceReset(); // _2C
|
||||
virtual Section* getCurrentSection(); // _30
|
||||
virtual void doLoadingStart(); // _34
|
||||
virtual bool doLoading(); // _38
|
||||
virtual bool doUpdate(); // _3C
|
||||
virtual void doDraw(Graphics&); // _40
|
||||
virtual bool isFinishable(); // _44
|
||||
virtual void loadResource(); // _50
|
||||
virtual ~Section(); // _08
|
||||
virtual void run(); // _0C
|
||||
virtual void init(); // _18
|
||||
virtual void doExit(); // _24
|
||||
virtual bool forceReset(); // _2C (weak)
|
||||
virtual void doLoadingStart(); // _34
|
||||
virtual bool doLoading(); // _38
|
||||
virtual bool doUpdate(); // _3C
|
||||
virtual void doDraw(Graphics&); // _40
|
||||
virtual bool isFinishable(); // _44
|
||||
virtual void loadResource(); // _50
|
||||
|
||||
void loadResident();
|
||||
// void menuCancel(Menu&);
|
||||
// void menuSelect(Menu&);
|
||||
void doUpdateMainTitle();
|
||||
void doUpdateOmake();
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_48 = Game::BaseHIOSection
|
||||
int _48; // _0048
|
||||
float _4C; // _004C
|
||||
Menu* _50; // _0050
|
||||
|
@ -21,7 +21,7 @@ struct Arg {
|
||||
* @reifiedAddress{80108200}
|
||||
* @reifiedFile{plugProjectYamashitaU/enemyBase.cpp}
|
||||
*/
|
||||
virtual const char* getName() // _08
|
||||
virtual const char* getName() // _08 (weak)
|
||||
{
|
||||
return "Arg";
|
||||
}
|
||||
@ -43,7 +43,7 @@ struct ArgEnemyType : public Arg {
|
||||
* @reifiedAddress{801081F4}
|
||||
* @reifiedFile{plugProjectYamashitaU/enemyBase.cpp}
|
||||
*/
|
||||
virtual const char* getName() // _00
|
||||
virtual const char* getName() // _08 (weak)
|
||||
{
|
||||
return "ArgEnemyType";
|
||||
}
|
||||
@ -62,7 +62,7 @@ struct ArgScale : public Arg {
|
||||
* @reifiedAddress{80107C44}
|
||||
* @reifiedFile{plugProjectYamashitaU/enemyBase.cpp}
|
||||
*/
|
||||
virtual const char* getName() // _00
|
||||
virtual const char* getName() // _08 (weak)
|
||||
{
|
||||
return "ArgScale";
|
||||
}
|
||||
@ -76,7 +76,7 @@ struct ArgChou : public Arg {
|
||||
{
|
||||
}
|
||||
|
||||
virtual const char* getName() // _08
|
||||
virtual const char* getName() // _08 (weak)
|
||||
{
|
||||
return "ArgChou";
|
||||
}
|
||||
@ -88,19 +88,31 @@ struct ArgCursor : public Arg {
|
||||
{
|
||||
}
|
||||
|
||||
virtual const char* getName() // _08
|
||||
virtual const char* getName() // _08 (weak)
|
||||
{
|
||||
return "ArgCursor";
|
||||
}
|
||||
};
|
||||
|
||||
struct ArgDenkiHiba : public Arg {
|
||||
ArgDenkiHiba(Vector3f& position)
|
||||
: Arg(position)
|
||||
{
|
||||
}
|
||||
|
||||
virtual const char* getName() // _08 (weak)
|
||||
{
|
||||
return "ArgDenkiHiba";
|
||||
}
|
||||
};
|
||||
|
||||
struct ArgDir : public Arg {
|
||||
ArgDir(Vector3f position)
|
||||
: Arg(position)
|
||||
{
|
||||
}
|
||||
|
||||
virtual const char* getName() // _08
|
||||
virtual const char* getName() // _08 (weak)
|
||||
{
|
||||
return "ArgDir";
|
||||
}
|
||||
@ -112,7 +124,7 @@ struct ArgDopingSmoke : public Arg {
|
||||
{
|
||||
}
|
||||
|
||||
virtual const char* getName() // _08
|
||||
virtual const char* getName() // _08 (weak)
|
||||
{
|
||||
return "ArgDopingSmoke";
|
||||
}
|
||||
@ -124,7 +136,7 @@ struct ArgGasuHiba : public Arg {
|
||||
{
|
||||
}
|
||||
|
||||
virtual const char* getName() // _08
|
||||
virtual const char* getName() // _08 (weak)
|
||||
{
|
||||
return "ArgGasuHiba";
|
||||
}
|
||||
@ -136,7 +148,7 @@ struct ArgImoEat : public Arg {
|
||||
{
|
||||
}
|
||||
|
||||
virtual const char* getName() // _08
|
||||
virtual const char* getName() // _08 (weak)
|
||||
{
|
||||
return "ArgImoEat";
|
||||
}
|
||||
@ -148,7 +160,7 @@ struct ArgKchYodare : public Arg {
|
||||
{
|
||||
}
|
||||
|
||||
virtual const char* getName() // _08
|
||||
virtual const char* getName() // _08 (weak)
|
||||
{
|
||||
return "ArgKchYodare";
|
||||
}
|
||||
@ -160,7 +172,7 @@ struct ArgKouhai : public Arg {
|
||||
{
|
||||
}
|
||||
|
||||
virtual const char* getName() // _08
|
||||
virtual const char* getName() // _08 (weak)
|
||||
{
|
||||
return "ArgKouhai";
|
||||
}
|
||||
@ -172,7 +184,7 @@ struct ArgPelType : public Arg {
|
||||
{
|
||||
}
|
||||
|
||||
virtual const char* getName() // _08
|
||||
virtual const char* getName() // _08 (weak)
|
||||
{
|
||||
return "ArgPelType";
|
||||
}
|
||||
@ -184,7 +196,7 @@ struct ArgPosPos : public Arg {
|
||||
{
|
||||
}
|
||||
|
||||
virtual const char* getName() // _08
|
||||
virtual const char* getName() // _08 (weak)
|
||||
{
|
||||
return "ArgPosPos";
|
||||
}
|
||||
@ -196,7 +208,7 @@ struct ArgPrmColor : public Arg {
|
||||
{
|
||||
}
|
||||
|
||||
virtual const char* getName() // _08
|
||||
virtual const char* getName() // _08 (weak)
|
||||
{
|
||||
return "ArgPrmColor";
|
||||
}
|
||||
@ -208,7 +220,7 @@ struct ArgRotY : public Arg {
|
||||
{
|
||||
}
|
||||
|
||||
virtual const char* getName() // _08
|
||||
virtual const char* getName() // _08 (weak)
|
||||
{
|
||||
return "ArgRotY";
|
||||
}
|
||||
@ -220,7 +232,7 @@ struct ArgRotYScale : public Arg {
|
||||
{
|
||||
}
|
||||
|
||||
virtual const char* getName() // _08
|
||||
virtual const char* getName() // _08 (weak)
|
||||
{
|
||||
return "ArgRotYScale";
|
||||
}
|
||||
@ -232,7 +244,7 @@ struct ArgType : public Arg {
|
||||
{
|
||||
}
|
||||
|
||||
virtual const char* getName() // _08
|
||||
virtual const char* getName() // _08 (weak)
|
||||
{
|
||||
return "ArgType";
|
||||
}
|
||||
|
23
include/efx/Container.h
Normal file
23
include/efx/Container.h
Normal file
@ -0,0 +1,23 @@
|
||||
#ifndef _EFX_CONTAINER_H
|
||||
#define _EFX_CONTAINER_H
|
||||
|
||||
#include "efx/TForever.h"
|
||||
|
||||
namespace efx {
|
||||
struct Container : public TForever {
|
||||
virtual void create(Arg*); // _08
|
||||
virtual ~Container(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TForever
|
||||
};
|
||||
|
||||
struct ContainerAct : public TForever2 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_24 = TForever2
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
@ -8,13 +8,15 @@ namespace efx {
|
||||
struct Context : public CNode {
|
||||
Context();
|
||||
|
||||
virtual ~Context(); // _08
|
||||
virtual ~Context(); // _08 (weak)
|
||||
|
||||
Vector3f _18; // _18
|
||||
};
|
||||
|
||||
struct ContextChasePos : public CNode {
|
||||
virtual ~ContextChasePos(); // _08
|
||||
ContextChasePos();
|
||||
|
||||
virtual ~ContextChasePos(); // _08 (weak)
|
||||
|
||||
Vector3f* m_position; // _18
|
||||
};
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
namespace efx {
|
||||
struct OnyonSpotArg : public ModelEffectCreateArg {
|
||||
virtual u64 getID() { return 'ONY_SPOT'; }
|
||||
virtual u64 getID() { return 'ONY_SPOT'; } // _08 (weak)
|
||||
};
|
||||
|
||||
struct OnyonSpotData : public ModelEffectData {
|
||||
|
13
include/efx/PikiDamage.h
Normal file
13
include/efx/PikiDamage.h
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef _EFX_PIKIDAMAGE_H
|
||||
#define _EFX_PIKIDAMAGE_H
|
||||
|
||||
#include "efx/TSimple.h"
|
||||
|
||||
namespace efx {
|
||||
struct PikiDamage : public TSimple1 {
|
||||
// _00 = VTBL
|
||||
// _00-0C = TSimple1
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
24
include/efx/TBaba.h
Normal file
24
include/efx/TBaba.h
Normal file
@ -0,0 +1,24 @@
|
||||
#ifndef _EFX_TBABA_H
|
||||
#define _EFX_TBABA_H
|
||||
|
||||
#include "efx/TChasePos.h"
|
||||
#include "efx/TSimple.h"
|
||||
|
||||
namespace efx {
|
||||
struct TBabaFly_ver01 : public TChasePos {
|
||||
virtual void create(Arg*); // _08
|
||||
virtual ~TBabaFly_ver01(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChasePos
|
||||
};
|
||||
|
||||
struct TBabaHe : public TSimple1 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
21
include/efx/TBaby.h
Normal file
21
include/efx/TBaby.h
Normal file
@ -0,0 +1,21 @@
|
||||
#ifndef _EFX_TBABY_H
|
||||
#define _EFX_TBABY_H
|
||||
|
||||
#include "efx/TChasePos.h"
|
||||
#include "efx/TSimple.h"
|
||||
|
||||
namespace efx {
|
||||
struct TBabyBecha : public TSimple1 {
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
|
||||
struct TBabyBorn : public TChasePos {
|
||||
virtual ~TBabyBorn(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChasePos
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
13
include/efx/TBarrel.h
Normal file
13
include/efx/TBarrel.h
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef _EFX_TBARREL_H
|
||||
#define _EFX_TBARREL_H
|
||||
|
||||
#include "efx/TSimple.h"
|
||||
|
||||
namespace efx {
|
||||
struct TBarrelDead : public TSimple3 {
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TSimple3
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
36
include/efx/TBombrock.h
Normal file
36
include/efx/TBombrock.h
Normal file
@ -0,0 +1,36 @@
|
||||
#ifndef _EFX_TBOMBROCK_H
|
||||
#define _EFX_TBOMBROCK_H
|
||||
|
||||
#include "efx/TChaseMtx.h"
|
||||
#include "efx/TSimple.h"
|
||||
|
||||
namespace efx {
|
||||
struct TBombrock : public TBase {
|
||||
// might inherit from TSimple-something, not sure
|
||||
|
||||
virtual void create(Arg*); // _08 (weak)
|
||||
virtual void forceKill(); // _0C (weak)
|
||||
virtual void fade(); // _10 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
};
|
||||
|
||||
struct TBombrockABCD : public TSimple4 {
|
||||
// _00 = VTBL
|
||||
// _00-_1C = TSimple4
|
||||
};
|
||||
|
||||
struct TBombrockEFGH : public TSimple4 {
|
||||
// _00 = VTBL
|
||||
// _00-_1C = TSimple4
|
||||
};
|
||||
|
||||
struct TBombrockLight : public TChaseMtxT {
|
||||
virtual void ~TBombrockLight(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtxT
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
18
include/efx/TBridge.h
Normal file
18
include/efx/TBridge.h
Normal file
@ -0,0 +1,18 @@
|
||||
#ifndef _EFX_TBRIDGE_H
|
||||
#define _EFX_TBRIDGE_H
|
||||
|
||||
#include "efx/TSimple.h"
|
||||
#include "efx/TSimpleMtx.h"
|
||||
|
||||
namespace efx {
|
||||
struct TBridgeAttack : public TSimple1 {
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
|
||||
struct TBridgeSet : public TSimpleMtx1 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimpleMtx1
|
||||
};
|
||||
} // namespace efx
|
||||
#endif
|
20
include/efx/TBsarai.h
Normal file
20
include/efx/TBsarai.h
Normal file
@ -0,0 +1,20 @@
|
||||
#ifndef _EFX_TBSARAI_H
|
||||
#define _EFX_TBSARAI_H
|
||||
|
||||
#include "efx/TSimple.h"
|
||||
#include "efx/TChaseMtx.h"
|
||||
|
||||
namespace efx {
|
||||
struct TBsaraiDead : public TSimple2 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimple2
|
||||
};
|
||||
|
||||
struct TBsaraiSupli : public TChaseMtx {
|
||||
virtual ~TBsaraiSupli(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtx
|
||||
};
|
||||
} // namespace efx
|
||||
#endif
|
@ -5,8 +5,8 @@
|
||||
|
||||
namespace efx {
|
||||
struct TCallBack_StaticClipping : public JPAEmitterCallBack {
|
||||
virtual ~TCallBack_StaticClipping(); // _00
|
||||
virtual void executeAfter(JPABaseEmitter*); // _08
|
||||
virtual ~TCallBack_StaticClipping(); // _08 (weak)
|
||||
virtual void executeAfter(JPABaseEmitter*); // _10
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
|
@ -7,77 +7,105 @@
|
||||
|
||||
namespace efx {
|
||||
struct TChaseMtx : public TSync {
|
||||
/**
|
||||
* @reifiedAddress{803B0548}
|
||||
* @reifiedFile{plugProjectEbisawaU/efxBase.cpp}
|
||||
*/
|
||||
TChaseMtx()
|
||||
: TSync()
|
||||
{
|
||||
}
|
||||
|
||||
// vtable 2
|
||||
virtual void doExecuteEmitterOperation(JPABaseEmitter*); // _14
|
||||
virtual ~TChaseMtx(); // _2C (thunk at _00)
|
||||
virtual void doExecuteEmitterOperation(JPABaseEmitter*); // _38
|
||||
virtual ~TChaseMtx(); // _48 (weak)
|
||||
|
||||
Matrixf* m_mtx;
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSync
|
||||
Matrixf* m_mtx; // _10
|
||||
};
|
||||
|
||||
struct TChaseMtx2 : public TSyncGroup2<TChaseMtx> {
|
||||
TChaseMtx2(float (*)[4], unsigned short, unsigned short);
|
||||
TChaseMtx2(float (*)[4], u16, u16);
|
||||
|
||||
void setMtxptr(float (*)[4]);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_2C = TSyncGroup2<TChaseMtx>
|
||||
};
|
||||
|
||||
struct TChaseMtx3 : public TSyncGroup3<TChaseMtx> {
|
||||
TChaseMtx3(float (*)[4], unsigned short, unsigned short, unsigned short);
|
||||
TChaseMtx3(float (*)[4], u16, u16, u16);
|
||||
|
||||
void setMtxptr(float (*)[4]);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_40 = TSyncGroup3<TChaseMtx>
|
||||
};
|
||||
|
||||
struct TChaseMtx4 : public TSyncGroup4<TChaseMtx> {
|
||||
TChaseMtx4(float (*)[4], unsigned short, unsigned short, unsigned short, unsigned short);
|
||||
TChaseMtx4(float (*)[4], u16, u16, u16, u16);
|
||||
|
||||
void setMtxptr(float (*)[4]);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_54 = TSyncGroup4<TChaseMtx>
|
||||
};
|
||||
|
||||
struct TChaseMtx5 : public TSyncGroup5<TChaseMtx> {
|
||||
TChaseMtx5(float (*)[4], unsigned short, unsigned short, unsigned short, unsigned short, unsigned short);
|
||||
// unused struct?
|
||||
TChaseMtx5(float (*)[4], u16, u16, u16, u16, u16);
|
||||
|
||||
void setMtxptr(float (*)[4]);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_68 = TSyncGroup5<TChaseMtx>
|
||||
};
|
||||
|
||||
struct TChaseMtx6 : public TSyncGroup6<TChaseMtx> {
|
||||
TChaseMtx6(float (*)[4], unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short);
|
||||
TChaseMtx6(float (*)[4], u16, u16, u16, u16, u16, u16);
|
||||
|
||||
void setMtxptr(float (*)[4]);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_7C = TSyncGroup6<TChaseMtx>
|
||||
};
|
||||
|
||||
struct TChaseMtxT : public TSync {
|
||||
/**
|
||||
* @reifiedAddress{803B08A8}
|
||||
* @reifiedFile{plugProjectEbisawaU/efxBase.cpp}
|
||||
*/
|
||||
TChaseMtxT()
|
||||
: TSync()
|
||||
{
|
||||
}
|
||||
|
||||
// vtable 2
|
||||
virtual void doExecuteEmitterOperation(JPABaseEmitter*); // _14
|
||||
virtual ~TChaseMtxT(); // _2C (thunk at _00)
|
||||
virtual void doExecuteEmitterOperation(JPABaseEmitter*); // _38
|
||||
virtual ~TChaseMtxT(); // _48 (weak)
|
||||
|
||||
Matrixf* m_mtx;
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSync
|
||||
Matrixf* m_mtx; // _10
|
||||
};
|
||||
|
||||
struct TChaseMtxT2 : public TSyncGroup2<TChaseMtxT> {
|
||||
TChaseMtxT2(float (*)[4], unsigned short, unsigned short);
|
||||
TChaseMtxT2(float (*)[4], u16, u16);
|
||||
|
||||
void setMtxptr(float (*)[4]);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_2C = TSyncGroup2<TChaseMtx>
|
||||
};
|
||||
|
||||
struct TChaseMtxT3 : public TSyncGroup3<TChaseMtxT> {
|
||||
TChaseMtxT3(float (*)[4], unsigned short, unsigned short, unsigned short);
|
||||
// unused struct?
|
||||
TChaseMtxT3(float (*)[4], u16, u16, u16);
|
||||
|
||||
void setMtxptr(float (*)[4]);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_40 = TSyncGroup3<TChaseMtx>
|
||||
};
|
||||
|
||||
struct TChaseMtxT4 : public TSyncGroup4<TChaseMtxT> {
|
||||
TChaseMtxT4(float (*)[4], unsigned short, unsigned short, unsigned short, unsigned short);
|
||||
TChaseMtxT4(float (*)[4], u16, u16, u16, u16);
|
||||
|
||||
void setMtxptr(float (*)[4]);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_54 = TSyncGroup4<TChaseMtx>
|
||||
};
|
||||
|
||||
} // namespace efx
|
||||
|
@ -16,11 +16,12 @@ struct TChasePos : public TSync {
|
||||
}
|
||||
|
||||
// vtable 1: TBase
|
||||
// _08-_14
|
||||
// vtable 2: JPAEmitterCallBack + self
|
||||
virtual void doExecuteEmitterOperation(JPABaseEmitter*); // _38
|
||||
virtual ~TChasePos() { } // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSync
|
||||
Vector3f* m_position; // _10
|
||||
};
|
||||
|
||||
@ -28,28 +29,38 @@ struct TChasePos2 : public TSyncGroup2<TChasePos> {
|
||||
TChasePos2(Vector3f*, u16, u16);
|
||||
|
||||
void setPosptr(Vector3f*);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_2C = TSyncGroup2<TChasePos>
|
||||
};
|
||||
|
||||
struct TChasePos3 : public TSyncGroup3<TChasePos> {
|
||||
TChasePos3(Vector3f*, u16, u16, u16);
|
||||
|
||||
void setPosptr(Vector3f*);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_40 = TSyncGroup3<TChasePos>
|
||||
};
|
||||
|
||||
struct TChasePos4 : public TSyncGroup4<TChasePos> {
|
||||
TChasePos4(Vector3f*, u16, u16, u16, u16);
|
||||
|
||||
void setPosptr(Vector3f*);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_54 = TSyncGroup4<TChasePos>
|
||||
};
|
||||
|
||||
struct TChasePosPos : public TSync {
|
||||
|
||||
// vtable 1 (TBase)
|
||||
// _08-_14
|
||||
// vtable 2 (JPAEmitterCallBack + self)
|
||||
virtual void doExecuteEmitterOperation(JPABaseEmitter*); // _38
|
||||
virtual ~TChasePosPos(); // _48 (weak, thunk at _1C)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSync
|
||||
Vector3f* _10; // _10
|
||||
Vector3f* _14; // _14
|
||||
};
|
||||
@ -63,6 +74,8 @@ struct TChasePosPosLocalYScale : public TSync {
|
||||
virtual void doExecuteEmitterOperation(JPABaseEmitter*); // _38
|
||||
virtual ~TChasePosPosLocalYScale(); // _48 (weak, thunk at _1C)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSync
|
||||
Vector3f* _10; // _10
|
||||
Vector3f* _14; // _14
|
||||
float _18; // _18
|
||||
@ -72,23 +85,30 @@ struct TChasePosPosLocalYScale2 : public TSyncGroup2<TChasePosPosLocalYScale> {
|
||||
TChasePosPosLocalYScale2(Vector3f*, Vector3f*, float, u16, u16);
|
||||
|
||||
void setPosptr(Vector3f*, Vector3f*);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_3C = TSyncGroup2<TChasePosPosLocalYScale>
|
||||
};
|
||||
|
||||
struct TChasePosPosLocalYScale3 : public TSyncGroup3<TChasePosPosLocalYScale> {
|
||||
TChasePosPosLocalYScale3(Vector3f*, Vector3f*, float, u16, u16, u16);
|
||||
|
||||
void setPosptr(Vector3f*, Vector3f*);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_58 = TSyncGroup3<TChasePosPosLocalYScale>
|
||||
};
|
||||
|
||||
struct TChasePosPosLocalZScale : public TSync {
|
||||
TChasePosPosLocalZScale();
|
||||
|
||||
// vtable 1 (TBase)
|
||||
// _08-_14
|
||||
// vtable 2 (JPAEmitterCallBack + self)
|
||||
virtual void doExecuteEmitterOperation(JPABaseEmitter*); // _38
|
||||
virtual ~TChasePosPosLocalZScale(); // _48 (weak, thunk at _1C)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSync
|
||||
Vector3f* _10; // _10
|
||||
Vector3f* _14; // _14
|
||||
float _18; // _18
|
||||
@ -98,37 +118,52 @@ struct TChasePosPosLocalZScale2 : public TSyncGroup2<TChasePosPosLocalZScale> {
|
||||
TChasePosPosLocalZScale2(Vector3f*, Vector3f*, float, u16, u16);
|
||||
|
||||
void setPosptr(Vector3f*, Vector3f*);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_3C = TSyncGroup2<TChasePosPosLocalZScale>
|
||||
};
|
||||
|
||||
struct TChasePosPosLocalZScale3 : public TSyncGroup3<TChasePosPosLocalZScale> {
|
||||
TChasePosPosLocalZScale3(Vector3f*, Vector3f*, float, u16, u16, u16);
|
||||
|
||||
void setPosptr(Vector3f*, Vector3f*);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_58 = TSyncGroup3<TChasePosPosLocalZScale>
|
||||
};
|
||||
|
||||
struct TChasePosYRot : public TSync {
|
||||
TChasePosYRot();
|
||||
|
||||
// vtable 1 (TBase)
|
||||
// _08-_14
|
||||
// vtable 2 (JPAEmitterCallBack + self)
|
||||
virtual void doExecuteEmitterOperation(JPABaseEmitter*); // _38
|
||||
virtual ~TChasePosYRot(); // _48 (weak, thunk at _1C)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSync
|
||||
Vector3f* m_position; // _10
|
||||
float* m_rotation; // _14
|
||||
};
|
||||
|
||||
struct TChasePosYRot2 : public TSyncGroup2<TChasePosYRot> {
|
||||
TChasePosYRot2(Vector3f*, float*, u16, u16);
|
||||
|
||||
void setPosptr(Vector3f*);
|
||||
void setYRot(float*);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_34 = TSyncGroup2<TChasePosYRot>
|
||||
};
|
||||
|
||||
struct TChasePosYRot3 : public TSyncGroup3<TChasePosYRot> {
|
||||
TChasePosYRot3(Vector3f*, float*, u16, u16, u16);
|
||||
|
||||
void setPosptr(Vector3f*);
|
||||
void setYRot(float*);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_4C = TSyncGroup3<TChasePosYRot>
|
||||
};
|
||||
|
||||
} // namespace efx
|
||||
|
63
include/efx/TChibi.h
Normal file
63
include/efx/TChibi.h
Normal file
@ -0,0 +1,63 @@
|
||||
#ifndef _EFX_TCHIBI_H
|
||||
#define _EFX_TCHIBI_H
|
||||
|
||||
#include "efx/TChasePos.h"
|
||||
#include "efx/TChaseMtx.h"
|
||||
#include "efx/TSimple.h"
|
||||
#include "efx/TSimpleMtx.h"
|
||||
|
||||
namespace efx {
|
||||
struct TChibiCharge : public TChaseMtx {
|
||||
virtual ~TChibiCharge(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtx
|
||||
};
|
||||
|
||||
struct TChibiDeadLight : public TChaseMtx {
|
||||
virtual ~TChibiDeadLight(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtx
|
||||
};
|
||||
|
||||
struct TChibiDeadMouth : public TSimpleMtx1 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimpleMtx1
|
||||
};
|
||||
|
||||
struct TChibiDeadSe : public TSimpleMtx2 {
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TSimpleMtx2
|
||||
};
|
||||
|
||||
struct TChibiHit : public TSimple4 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_1C = TSimple4
|
||||
};
|
||||
|
||||
struct TChibiShell : public TChasePos {
|
||||
virtual ~TChibiShell(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChasePos
|
||||
};
|
||||
|
||||
struct TChibiShoot : public TSimpleMtx3 {
|
||||
// _00 = VTBL
|
||||
// _00-_1C = TSimpleMtx3
|
||||
};
|
||||
|
||||
struct TChibiSmokeL : public TSimpleMtx1 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimpleMtx1
|
||||
};
|
||||
|
||||
struct TChibiSmokeS : public TSimpleMtx1 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimpleMtx1
|
||||
};
|
||||
} // namespace efx
|
||||
#endif
|
22
include/efx/TChou.h
Normal file
22
include/efx/TChou.h
Normal file
@ -0,0 +1,22 @@
|
||||
#ifndef _EFX_TCHOU_H
|
||||
#define _EFX_TCHOU_H
|
||||
|
||||
#include "efx/TChasePos.h"
|
||||
#include "efx/TSimple.h"
|
||||
|
||||
namespace efx {
|
||||
struct TChouDown : public TChasePos {
|
||||
virtual void create(Arg*); // _08
|
||||
virtual ~TChouDown(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChasePos
|
||||
};
|
||||
|
||||
struct TChouHit : public TSimple1 {
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
19
include/efx/TCphebi.h
Normal file
19
include/efx/TCphebi.h
Normal file
@ -0,0 +1,19 @@
|
||||
#ifndef _EFX_TCPHEBI_H
|
||||
#define _EFX_TCPHEBI_H
|
||||
|
||||
#include "efx/TChaseMtx.h"
|
||||
#include "efx/TSimple.h"
|
||||
|
||||
namespace efx {
|
||||
struct TCphebiDead : public TChaseMtx4 {
|
||||
// _00 = VTBL
|
||||
// _00-_54 = TChaseMtx4
|
||||
};
|
||||
|
||||
struct TCphebiDeadHane : public TSimple1 {
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
26
include/efx/TCursor.h
Normal file
26
include/efx/TCursor.h
Normal file
@ -0,0 +1,26 @@
|
||||
#ifndef _EFX_TCURSOR_H
|
||||
#define _EFX_TCURSOR_H
|
||||
|
||||
#include "efx/TOneEmitter.h"
|
||||
|
||||
namespace efx {
|
||||
struct TCursor : public TBase {
|
||||
virtual void create(Arg*); // _08
|
||||
virtual void forceKill(); // _0C (weak)
|
||||
virtual void fade(); // _10 (weak)
|
||||
|
||||
void init(long, long);
|
||||
void update(Arg*);
|
||||
void calcPos_(Vector3f*, f32, long);
|
||||
|
||||
// _00 = VTBL
|
||||
TOneEmitter m_oneEmitter; // _04
|
||||
long _38; // _38
|
||||
Context m_contextArray[16]; // _3C
|
||||
Vector3f m_position; // _27C
|
||||
f32 m_angleTimer; // _288
|
||||
f32 m_angleSpeed; // _28C
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
93
include/efx/TDama.h
Normal file
93
include/efx/TDama.h
Normal file
@ -0,0 +1,93 @@
|
||||
#ifndef _EFX_TDAMA_H
|
||||
#define _EFX_TDAMA_H
|
||||
|
||||
#include "efx/TSimple.h"
|
||||
#include "efx/TChasePos.h"
|
||||
#include "efx/TChaseMtx.h"
|
||||
|
||||
namespace efx {
|
||||
struct TDamaDeadBomb : public TSimple1 {
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
|
||||
struct TDamaDeadElecA : public TChasePosPos {
|
||||
virtual void ~TDamaDeadElecA(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TChasePosPos
|
||||
};
|
||||
|
||||
struct TDamaDeadElecB : public TChasePos {
|
||||
virtual void ~TDamaDeadElecB(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChasePos
|
||||
};
|
||||
|
||||
struct TDamaDeadHahenA : public TChasePosPos {
|
||||
virtual void ~TDamaDeadHahenA(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TChasePosPos
|
||||
};
|
||||
|
||||
struct TDamaDeadHahenB : public TChasePosPos {
|
||||
virtual void ~TDamaDeadHahenB(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TChasePosPos
|
||||
};
|
||||
|
||||
struct TDamaDeadHahenC1 : public TChaseMtx {
|
||||
virtual void ~TDamaDeadHahenC1(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtx
|
||||
};
|
||||
|
||||
struct TDamaDeadHahenC2 : public TChaseMtx {
|
||||
virtual void ~TDamaDeadHahenC2(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtx
|
||||
};
|
||||
|
||||
struct TDamaFoot : public TChasePos2 {
|
||||
// _00 = VTBL
|
||||
// _00-_2C = TChasePos2
|
||||
};
|
||||
|
||||
struct TDamaFootw : public TChasePos {
|
||||
virtual void ~TDamaFootw(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChasePos
|
||||
};
|
||||
|
||||
struct TDamaHahen : public TChasePosPos {
|
||||
virtual void ~TDamaHahen(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TChasePosPos
|
||||
};
|
||||
|
||||
struct TDamaSmoke : public TChasePos {
|
||||
virtual void ~TDamaSmoke(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChasePos
|
||||
};
|
||||
|
||||
struct TDamaWalk : public TSimple2 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimple2
|
||||
};
|
||||
|
||||
struct TDamaWalkw : public TSimple3 {
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TSimple3
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
64
include/efx/TDango.h
Normal file
64
include/efx/TDango.h
Normal file
@ -0,0 +1,64 @@
|
||||
#ifndef _EFX_TDANGO_H
|
||||
#define _EFX_TDANGO_H
|
||||
|
||||
#include "efx/TSimple.h"
|
||||
#include "efx/TSimpleMtx.h"
|
||||
#include "efx/TChasePos.h"
|
||||
#include "efx/TChaseMtx.h"
|
||||
|
||||
namespace efx {
|
||||
struct TDangoAttack2 : public TChaseMtx {
|
||||
virtual ~TDangoAttack2(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtx
|
||||
};
|
||||
|
||||
struct TDangoCrash : public TSimple2 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimple2
|
||||
};
|
||||
|
||||
struct TDangoDamage : public TSimpleMtx1 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimpleMtx1
|
||||
};
|
||||
|
||||
struct TDangoDead : public TSimpleMtx2 {
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TSimpleMtx2
|
||||
};
|
||||
|
||||
struct TDangoDeadSmoke : public TSimpleMtx1 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimpleMtx1
|
||||
};
|
||||
|
||||
struct TDangoFly : public TSimple3 {
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TSimple3
|
||||
};
|
||||
|
||||
struct TDangoRun : public TChasePos2 {
|
||||
// _00 = VTBL
|
||||
// _00-_2C = TChasePos2
|
||||
};
|
||||
|
||||
struct TDangoTurn : public TSimple2 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimple2
|
||||
};
|
||||
|
||||
struct TDangoWallBreak : public TChaseMtx {
|
||||
virtual ~TDangoWallBreak(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtx
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
49
include/efx/TDenki.h
Normal file
49
include/efx/TDenki.h
Normal file
@ -0,0 +1,49 @@
|
||||
#ifndef _EFX_TDENKI_H
|
||||
#define _EFX_TDENKI_H
|
||||
|
||||
#include "efx/TForever.h"
|
||||
|
||||
namespace efx {
|
||||
struct TDenkiHiba : public TForever3 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_34 = TForever3
|
||||
};
|
||||
|
||||
struct TDenkiPole : public TForever2 {
|
||||
TDenkiPole();
|
||||
|
||||
~TDenkiPole();
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_24 = TForever2
|
||||
};
|
||||
|
||||
struct TDenkipoleSign : public TForever {
|
||||
TDenkipoleSign();
|
||||
|
||||
virtual ~TDenkipoleSign(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TForever
|
||||
};
|
||||
|
||||
struct TDenkiHibaMgr : public TBase {
|
||||
virtual void create(Arg*); // _08
|
||||
virtual void forceKill(); // _0C
|
||||
virtual void fade(); // _10
|
||||
|
||||
void createHiba(int);
|
||||
void setRateLOD(int);
|
||||
|
||||
// _00 = VTBL
|
||||
TDenkiHiba m_hiba; // _04
|
||||
TDenkiPole m_poles[2]; // _38
|
||||
TDenkipoleSign m_polesigns[2]; // _80
|
||||
Vector3f m_ownerPosition; // _A0
|
||||
Vector3f m_targetCreaturePosition; // _AC
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
39
include/efx/TDnkms.h
Normal file
39
include/efx/TDnkms.h
Normal file
@ -0,0 +1,39 @@
|
||||
#ifndef _EFX_TDNKMS_H
|
||||
#define _EFX_TDNKMS_H
|
||||
|
||||
#include "efx/TSync.h"
|
||||
#include "efx/TChasePos.h"
|
||||
|
||||
namespace efx {
|
||||
struct TDnkmsHoudenA : public TChasePos {
|
||||
virtual ~TDnkmsHoudenA(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChasePos
|
||||
};
|
||||
|
||||
struct TDnkmsHoudenB : public TChasePos {
|
||||
virtual ~TDnkmsHoudenB(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChasePos
|
||||
};
|
||||
|
||||
struct TDnkmsThunderA : public TSync {
|
||||
virtual void doExecuteEmitterOperation(JPABaseEmitter*); // _38
|
||||
virtual ~TDnkmsThunderA(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSync
|
||||
};
|
||||
|
||||
struct TDnkmsThunderB : public TSync {
|
||||
virtual void doExecuteEmitterOperation(JPABaseEmitter*); // _38
|
||||
virtual ~TDnkmsThunderB(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSync
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
15
include/efx/TDopingSmoke.h
Normal file
15
include/efx/TDopingSmoke.h
Normal file
@ -0,0 +1,15 @@
|
||||
#ifndef _EFX_TDOPINGSMOKE_H
|
||||
#define _EFX_TDOPINGSMOKE_H
|
||||
|
||||
#include "efx/TSimple.h"
|
||||
|
||||
namespace efx {
|
||||
struct TDopingSmoke : public TSimple1 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
63
include/efx/TDownf.h
Normal file
63
include/efx/TDownf.h
Normal file
@ -0,0 +1,63 @@
|
||||
#ifndef _EFX_TDOWNF_H
|
||||
#define _EFX_TDOWNF_H
|
||||
|
||||
#include "efx/TSimpleMtx.h"
|
||||
|
||||
namespace efx {
|
||||
struct TDownf1On : public TSimpleMtx1 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimpleMtx1
|
||||
};
|
||||
|
||||
struct TDownf1Updown : public TSimpleMtx1 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimpleMtx1
|
||||
};
|
||||
|
||||
struct TDownf1WOn : public TSimpleMtx1 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimpleMtx1
|
||||
};
|
||||
|
||||
struct TDownf1WUpdown : public TSimpleMtx1 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimpleMtx1
|
||||
};
|
||||
|
||||
struct TDownf2On : public TSimpleMtx1 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimpleMtx1
|
||||
};
|
||||
|
||||
struct TDownf2Updown : public TSimpleMtx1 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimpleMtx1
|
||||
};
|
||||
|
||||
struct TDownf2WOn : public TSimpleMtx1 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimpleMtx1
|
||||
};
|
||||
|
||||
struct TDownf2WUpdown : public TSimpleMtx1 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimpleMtx1
|
||||
};
|
||||
|
||||
struct TDownf3Updown : public TSimpleMtx1 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimpleMtx1
|
||||
};
|
||||
|
||||
struct TDownf3WOn : public TSimpleMtx1 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimpleMtx1
|
||||
};
|
||||
|
||||
struct TDownf3WUpdown : public TSimpleMtx1 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimpleMtx1
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
23
include/efx/TEgate.h
Normal file
23
include/efx/TEgate.h
Normal file
@ -0,0 +1,23 @@
|
||||
#ifndef _EFX_TEGATE_H
|
||||
#define _EFX_TEGATE_H
|
||||
|
||||
#include "efx/TChaseMtx.h"
|
||||
#include "efx/TForever.h"
|
||||
|
||||
namespace efx {
|
||||
struct TEgateA : public TChaseMtx {
|
||||
virtual ~TEgateA(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtx
|
||||
};
|
||||
|
||||
struct TEgateBC : public TForever2 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_24 = TForever2
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
13
include/efx/TEggdown.h
Normal file
13
include/efx/TEggdown.h
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef _EFX_TEGGDOWN_H
|
||||
#define _EFX_TEGGDOWN_H
|
||||
|
||||
#include "efx/TSimple.h"
|
||||
|
||||
namespace efx {
|
||||
struct TEggdown : public TSimple1 {
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
@ -13,8 +13,15 @@ struct TEnemyDead : public TSimple1 {
|
||||
|
||||
virtual bool create(Arg*); // _08
|
||||
|
||||
// _00 = VTABLE
|
||||
// _04-_0C = TSimple1
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
|
||||
struct TEnemyDead_ArgScale : public TSimple1 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
|
||||
} // namespace efx
|
||||
|
13
include/efx/TEnemyDive.h
Normal file
13
include/efx/TEnemyDive.h
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef _EFX_TENEMYDIVE_H
|
||||
#define _EFX_TENEMYDIVE_H
|
||||
|
||||
#include "efx/TSimple.h"
|
||||
|
||||
namespace efx {
|
||||
struct TEnemyDive : public TSimple2 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimple2
|
||||
};
|
||||
} // namespace efx
|
@ -12,8 +12,10 @@ struct TEnemyDownSmoke : public TSimple1 {
|
||||
{
|
||||
}
|
||||
|
||||
virtual bool create(Arg*); // _00
|
||||
virtual bool create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
float _0C; // _0C
|
||||
};
|
||||
|
||||
|
@ -11,7 +11,10 @@ struct TEnemyDownWat : public TSimple3 {
|
||||
{
|
||||
}
|
||||
|
||||
virtual bool create(Arg*); // _00
|
||||
virtual bool create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TSimple3
|
||||
};
|
||||
|
||||
} // namespace efx
|
||||
|
15
include/efx/TForestSakura.h
Normal file
15
include/efx/TForestSakura.h
Normal file
@ -0,0 +1,15 @@
|
||||
#ifndef _EFX_TFORESTSAKURA_H
|
||||
#define _EFX_TFORESTSAKURA_H
|
||||
|
||||
#include "efx/TChasePos.h"
|
||||
|
||||
namespace efx {
|
||||
struct TForestSakura : public TChasePos {
|
||||
virtual void ~TForestSakura(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChasePos
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
@ -7,21 +7,33 @@
|
||||
namespace efx {
|
||||
struct TForever : public TSync {
|
||||
TForever();
|
||||
// vtable 2
|
||||
virtual void doExecuteEmitterOperation(JPABaseEmitter*); // _1C
|
||||
virtual ~TForever(); // _2C (thunk at _00)
|
||||
|
||||
virtual void doExecuteEmitterOperation(JPABaseEmitter*); // _38 (weak)
|
||||
virtual ~TForever(); // _48 (weak, thunk at _1C)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_0E = TSync
|
||||
};
|
||||
|
||||
struct TForever2 : public TSyncGroup2<TForever> {
|
||||
TForever2(unsigned short, unsigned short);
|
||||
TForever2(u16, u16);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_24 = TSyncGroup2<TForever>
|
||||
};
|
||||
|
||||
struct TForever3 : public TSyncGroup3<TForever> {
|
||||
TForever3(unsigned short, unsigned short, unsigned short);
|
||||
TForever3(u16, u16, u16);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_34 = TSyncGroup3<TForever>
|
||||
};
|
||||
|
||||
struct TForever4 : public TSyncGroup4<TForever> {
|
||||
TForever4(unsigned short, unsigned short, unsigned short, unsigned short);
|
||||
TForever4(u16, u16, u16, u16);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_44 = TSyncGroup4<TForever>
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
|
26
include/efx/TFrog.h
Normal file
26
include/efx/TFrog.h
Normal file
@ -0,0 +1,26 @@
|
||||
#ifndef _EFX_TFROG_H
|
||||
#define _EFX_TFROG_H
|
||||
|
||||
#include "efx/TSimple.h"
|
||||
#include "efx/TChasePos.h"
|
||||
|
||||
namespace efx {
|
||||
struct TFrogDive : public TSimple4 {
|
||||
// _00 = VTBL
|
||||
// _00-_1C = TSimple4
|
||||
};
|
||||
|
||||
struct TFrogLanddrop : public TSimple2 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimple2
|
||||
};
|
||||
|
||||
struct TFrogPota : public TChasePos {
|
||||
virtual ~TFrogPota(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChasePos
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
59
include/efx/TFueact.h
Normal file
59
include/efx/TFueact.h
Normal file
@ -0,0 +1,59 @@
|
||||
#ifndef _EFX_TFUEACT_H
|
||||
#define _EFX_TFUEACT_H
|
||||
|
||||
#include "efx/TSync.h"
|
||||
|
||||
namespace efx {
|
||||
struct TFueactBiriBase : public TSync {
|
||||
virtual void doExecuteEmitterOperation(JPABaseEmitter*); // _38
|
||||
virtual ~TFueactBiriBase(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSync
|
||||
Vector3f* _10; // _10
|
||||
Vector3f* _14; // _14
|
||||
};
|
||||
|
||||
struct TFueactBiri1 : public TFueactBiriBase {
|
||||
virtual ~TFueactBiri1(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TFueactBiriBase
|
||||
};
|
||||
|
||||
struct TFueactBiri2 : public TFueactBiriBase {
|
||||
virtual ~TFueactBiri2(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TFueactBiriBase
|
||||
};
|
||||
|
||||
struct TFueactCircle : public TBase, public JPAEmitterCallBack public JPAParticleCallBack {
|
||||
virtual void create(Arg*); // _08
|
||||
virtual void forceKill(); // _0C (weak)
|
||||
virtual void fade(); // _10 (weak)
|
||||
virtual void execute(JPABaseEmitter*); // _44 (weak)
|
||||
virtual void execute(JPABaseEmitter*, JPABaseParticle*); // _48 (weak)
|
||||
virtual void executeAfter(JPABaseEmitter*); // _4C (weak)
|
||||
virtual ~TFueactCircle(); // _50 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _04 = JPAEmitterCallBack
|
||||
// _08 = JPAParticleCallBack
|
||||
u8 _0C[0x8]; // _0C, unknown
|
||||
JPABaseEmitter* _14; // _14
|
||||
};
|
||||
|
||||
struct TFueact : public TBase {
|
||||
virtual void create(Arg*); // _08 (weak)
|
||||
virtual void forceKill(); // _0C (weak)
|
||||
virtual void fade(); // _10 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
TFueactCircle m_circle; // _04
|
||||
TFueactBiri1 m_biri1; // _1C
|
||||
TFueactBiri2 m_biri2; // _34
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
15
include/efx/TFuebugOnpa.h
Normal file
15
include/efx/TFuebugOnpa.h
Normal file
@ -0,0 +1,15 @@
|
||||
#ifndef _EFX_TFUEBUGONPA_H
|
||||
#define _EFX_TFUEBUGONPA_H
|
||||
|
||||
#include "efx/TChasePos.h"
|
||||
|
||||
namespace efx {
|
||||
struct TFuebugOnpa : public TChasePos {
|
||||
virtual ~TFuebugOnpa(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChasePos
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
41
include/efx/TFusen.h
Normal file
41
include/efx/TFusen.h
Normal file
@ -0,0 +1,41 @@
|
||||
#ifndef _EFX_TFUSEN_H
|
||||
#define _EFX_TFUSEN_H
|
||||
|
||||
#include "efx/TChasePos.h"
|
||||
#include "efx/TChaseMtx.h"
|
||||
|
||||
namespace efx {
|
||||
struct TFusenAir : public TChaseMtx3 {
|
||||
// _00 = VTBL
|
||||
// _00-_40 = TChaseMtx3
|
||||
};
|
||||
|
||||
struct TFusenAirhit : public TChasePosYRot2 {
|
||||
// _00 = VTBL
|
||||
// _00-_34 = TChasePosYRot2
|
||||
};
|
||||
|
||||
struct TFusenDead : public TChaseMtx2 {
|
||||
// _00 = VTBL
|
||||
// _00-_2C = TChaseMtx2
|
||||
};
|
||||
|
||||
struct TFusenhAir : public TChaseMtx3 {
|
||||
// _00 = VTBL
|
||||
// _00-_40 = TChaseMtx3
|
||||
};
|
||||
|
||||
struct TFusenhAirhit : public TChasePosYRot2 {
|
||||
// _00 = VTBL
|
||||
// _00-_34 = TChasePosYRot2
|
||||
};
|
||||
|
||||
struct TFusenSui : public TChaseMtx {
|
||||
virtual ~TFusenSui(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtx
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
17
include/efx/TGasuHiba.h
Normal file
17
include/efx/TGasuHiba.h
Normal file
@ -0,0 +1,17 @@
|
||||
#ifndef _EFX_TGASUHIBA_H
|
||||
#define _EFX_TGASUHIBA_H
|
||||
|
||||
#include "efx/TForever.h"
|
||||
|
||||
namespace efx {
|
||||
struct TGasuHiba : public TForever2 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
void setRateLOD(int);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_24 = TForever2
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
30
include/efx/TGate.h
Normal file
30
include/efx/TGate.h
Normal file
@ -0,0 +1,30 @@
|
||||
#ifndef _EFX_TGATE_H
|
||||
#define _EFX_TGATE_H
|
||||
|
||||
#include "efx/TSimple.h"
|
||||
#include "efx/TSimpleMtx.h"
|
||||
|
||||
namespace efx {
|
||||
struct TGate1Attack : public TSimple2 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimple2
|
||||
};
|
||||
|
||||
struct TGate1Down : public TSimple2Mtx {
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TSimpleMtx2
|
||||
};
|
||||
|
||||
struct TGate2Attack : public TSimple2 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimple2
|
||||
};
|
||||
|
||||
struct TGate2Down : public TSimple2Mtx {
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TSimpleMtx2
|
||||
};
|
||||
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
18
include/efx/TGeyser.h
Normal file
18
include/efx/TGeyser.h
Normal file
@ -0,0 +1,18 @@
|
||||
#ifndef _EFX_TGEYSER_H
|
||||
#define _EFX_TGEYSER_H
|
||||
|
||||
#include "efx/TForever.h"
|
||||
|
||||
namespace efx {
|
||||
struct TGeyserAct : public TForever3 {
|
||||
// _00 = VTBL
|
||||
// _00-_34 = TForever3
|
||||
};
|
||||
|
||||
struct TGeyserSet : public TForever2 {
|
||||
// _00 = VTBL
|
||||
// _00-_24 = TForever2
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
13
include/efx/THanaMiss.h
Normal file
13
include/efx/THanaMiss.h
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef _EFX_THANAMISS_H
|
||||
#define _EFX_THANAMISS_H
|
||||
|
||||
#include "efx/TSimpleMtx.h"
|
||||
|
||||
namespace efx {
|
||||
struct THanaMiss : public TSimpleMtx2 {
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TSimpleMtx2
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
22
include/efx/THanacho.h
Normal file
22
include/efx/THanacho.h
Normal file
@ -0,0 +1,22 @@
|
||||
#ifndef _EFX_THANACHO_H
|
||||
#define _EFX_THANACHO_H
|
||||
|
||||
#include "efx/TChaseMtx.h"
|
||||
|
||||
namespace efx {
|
||||
struct THanachoN : public TChaseMtx {
|
||||
virtual ~THanachoN(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtx
|
||||
};
|
||||
|
||||
struct THanachoY : public TChaseMtx {
|
||||
virtual ~THanachoY(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtx
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
@ -2,21 +2,153 @@
|
||||
#define _EFX_THDAMA_H
|
||||
|
||||
#include "efx/TSimple.h"
|
||||
#include "efx/TSimpleMtx.h"
|
||||
#include "efx/TChasePos.h"
|
||||
#include "efx/TChaseMtx.h"
|
||||
|
||||
namespace efx {
|
||||
struct THdamaDeadbomb : public TChaseMtx4 {
|
||||
// _00 = VTBL
|
||||
// _00-_54 = TChaseMtx4
|
||||
};
|
||||
|
||||
struct THdamaDeadHahen1 : public TSimple1 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
|
||||
struct THdamaDeadHahen2 : public TSimple2 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimple2
|
||||
};
|
||||
|
||||
struct THdamaDeadSteam : public TChaseMtx2 {
|
||||
// _00 = VTBL
|
||||
// _00-_2C = TChaseMtx2
|
||||
};
|
||||
|
||||
struct THdamaDeadSteamT : public TSimple1 {
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
|
||||
struct THdamaHahen : public TChasPosPos {
|
||||
virtual ~THdamaHahen(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TChasePosPos
|
||||
};
|
||||
|
||||
struct THdamaHit1 : public TSimple5 {
|
||||
// _00 = VTBL
|
||||
// _00-_24 = TSimple5
|
||||
};
|
||||
|
||||
struct THdamaHit2 : public TSimple4 {
|
||||
// _00 = VTBL
|
||||
// _00-_1C = TSimple4
|
||||
};
|
||||
|
||||
struct THdamaHit2W : public TSimple3 {
|
||||
virtual bool create(Arg*); // _00
|
||||
virtual bool create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TSimple3
|
||||
};
|
||||
|
||||
struct THdamaHit3 : public TSimple4 {
|
||||
// _00 = VTBL
|
||||
// _00-_1C = TSimple4
|
||||
};
|
||||
|
||||
struct THdamaOnHahen1 : public TChaseMtx {
|
||||
virtual ~THdamaOnHahen1(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtx
|
||||
};
|
||||
|
||||
struct THdamaOnHahen2 : public TChasePosPos {
|
||||
virtual ~THdamaOnHahen2(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TChasePosPos
|
||||
};
|
||||
|
||||
struct THdamaOnSmoke : public TSimple2 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimple2
|
||||
};
|
||||
|
||||
struct THdamaOnSteam1 : public TChaseMtxT {
|
||||
virtual ~THdamaOnSteam1(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtxT
|
||||
};
|
||||
|
||||
struct THdamaOnSteam2 : public TSimple1 {
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
|
||||
struct THdamaOpen : public TSimple1 {
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
|
||||
struct THdamaShell : public TChasePos {
|
||||
virtual void create(Arg*); // _08
|
||||
virtual ~THdamaShell(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChasePos
|
||||
};
|
||||
|
||||
struct THdamaShoot : public TSimpleMtx3 {
|
||||
// _00 = VTBL
|
||||
// _00-_1C = TSimpleMtx3
|
||||
};
|
||||
|
||||
struct THdamaShootA : public TSimple1 {
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
|
||||
struct THdamaSight : public TForever {
|
||||
virtual ~THdamaSight(); // _48 (weak)
|
||||
|
||||
void setPosNrm(Vector3f&, Vector3f&);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TForever
|
||||
};
|
||||
|
||||
struct THdamaSteam : public TChaseMtx {
|
||||
virtual ~THdamaSteam(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtx
|
||||
};
|
||||
|
||||
struct THdamaSteamBd : public TChaseMtxT {
|
||||
virtual ~THdamaSteamBd(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtxT
|
||||
};
|
||||
|
||||
struct THdamaSteamSt : public TChaseMtx {
|
||||
virtual ~THdamaSteamSt(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtx
|
||||
};
|
||||
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
||||
|
72
include/efx/THebi.h
Normal file
72
include/efx/THebi.h
Normal file
@ -0,0 +1,72 @@
|
||||
#ifndef _EFX_THEBI_H
|
||||
#define _EFX_THEBI_H
|
||||
|
||||
#include "efx/TSimple.h"
|
||||
#include "efx/TChaseMtx.h"
|
||||
#include "efx/TForever.h"
|
||||
|
||||
namespace efx {
|
||||
struct THebiAphd_base : public TSimple4 {
|
||||
virtual bool create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_1C = TSimple4
|
||||
};
|
||||
|
||||
struct THebiAphd_appear1 : public THebiAphd_base {
|
||||
// _00 = VTBL
|
||||
// _00-_1C = THebiAphd_base
|
||||
};
|
||||
|
||||
struct THebiAphd_appear2_first : public THebiAphd_base {
|
||||
// _00 = VTBL
|
||||
// _00-_1C = THebiAphd_base
|
||||
};
|
||||
|
||||
struct THebiAphd_appear2_late : public THebiAphd_base {
|
||||
// _00 = VTBL
|
||||
// _00-_1C = THebiAphd_base
|
||||
};
|
||||
|
||||
struct THebiAphd_dive : public THebiAphd_base {
|
||||
// _00 = VTBL
|
||||
// _00-_1C = THebiAphd_base
|
||||
};
|
||||
|
||||
struct THebiAphd_kkabuto_appear : public THebiAphd_base {
|
||||
// _00 = VTBL
|
||||
// _00-_1C = THebiAphd_base
|
||||
};
|
||||
|
||||
struct THebiAphd_kkabuto_dive : public THebiAphd_base {
|
||||
// _00 = VTBL
|
||||
// _00-_1C = THebiAphd_base
|
||||
};
|
||||
|
||||
struct THebiDead : public TChaseMtxT4 {
|
||||
// _00 = VTBL
|
||||
// _00-_54 = TChaseMtxT4
|
||||
};
|
||||
|
||||
struct THebiDeadHane_ver01 : public TSimple1 {
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
|
||||
struct THebiRot : public TForever {
|
||||
virtual ~THebiRot(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TForever
|
||||
};
|
||||
|
||||
struct THebiWait : public TForever {
|
||||
virtual ~THebiWait(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TForever
|
||||
};
|
||||
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
15
include/efx/THibaFire.h
Normal file
15
include/efx/THibaFire.h
Normal file
@ -0,0 +1,15 @@
|
||||
#ifndef _EFX_THIBAFIRE_H
|
||||
#define _EFX_THIBAFIRE_H
|
||||
|
||||
#include "efx/TForever.h"
|
||||
|
||||
namespace efx {
|
||||
struct THibaFire : public TForever4 {
|
||||
void setRateLOD(int);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_44 = TForever4
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
23
include/efx/THoneydown.h
Normal file
23
include/efx/THoneydown.h
Normal file
@ -0,0 +1,23 @@
|
||||
#ifndef _EFX_THONEYDOWN_H
|
||||
#define _EFX_THONEYDOWN_H
|
||||
|
||||
#include "efx/TSimple.h"
|
||||
|
||||
namespace efx {
|
||||
struct THoneydownB : public TSimple1 {
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
|
||||
struct THoneydownR : public TSimple1 {
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
|
||||
struct THoneydownY : public TSimple1 {
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
25
include/efx/TImo.h
Normal file
25
include/efx/TImo.h
Normal file
@ -0,0 +1,25 @@
|
||||
#ifndef _EFX_TIMO_H
|
||||
#define _EFX_TIMO_H
|
||||
|
||||
#include "efx/TChasePos.h"
|
||||
#include "efx/TChaseMtx.h"
|
||||
|
||||
namespace efx {
|
||||
struct TImoEat : public TChaseMtx {
|
||||
virtual void create(Arg*); // _08
|
||||
virtual ~TImoEat(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtx
|
||||
};
|
||||
|
||||
struct TImoSmoke : public TChasePos {
|
||||
virtual void create(Arg*); // _08
|
||||
virtual ~TImoSmoke(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChasePos
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
45
include/efx/TJgm.h
Normal file
45
include/efx/TJgm.h
Normal file
@ -0,0 +1,45 @@
|
||||
#ifndef _EFX_TJGM_H
|
||||
#define _EFX_TJGM_H
|
||||
|
||||
#include "efx/TChasePos.h"
|
||||
#include "efx/TChaseMtx.h"
|
||||
#include "efx/TSimple.h"
|
||||
|
||||
namespace efx {
|
||||
struct TJgmAttack : public TChasePos2 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_2C = TChasePos2
|
||||
};
|
||||
|
||||
struct TJgmAttackW : public TChasePosYRot3 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_4C = TChasePosYRot3
|
||||
};
|
||||
|
||||
struct TJgmBack : public TChasePos {
|
||||
virtual void create(Arg*); // _08
|
||||
virtual ~TJgmBack(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChasePos
|
||||
};
|
||||
|
||||
struct TJgmBackW : public TChasePosYRot2 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_34 = TChasePosYRot2
|
||||
};
|
||||
|
||||
struct TJgmBubble : public TSimple1 {
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
13
include/efx/TKabutoAttack.h
Normal file
13
include/efx/TKabutoAttack.h
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef _EFX_TKABUTOATTACK_H
|
||||
#define _EFX_TKABUTOATTACK_H
|
||||
|
||||
#include "efx/TSimpleMtx.h"
|
||||
|
||||
namespace efx {
|
||||
struct TKabutoAttack : public TSimpleMtx1 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimpleMtx1
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
80
include/efx/TKage.h
Normal file
80
include/efx/TKage.h
Normal file
@ -0,0 +1,80 @@
|
||||
#ifndef _EFX_TKAGE_H
|
||||
#define _EFX_TKAGE_H
|
||||
|
||||
#include "Color4.h"
|
||||
#include "efx/TSimple.h"
|
||||
#include "efx/TChasePos.h"
|
||||
#include "efx/TSimpleMtx.h"
|
||||
#include "efx/TChaseMtx.h"
|
||||
|
||||
namespace efx {
|
||||
struct TKageBend1 : public TSimpleMtx2 {
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TSimpleMtx2
|
||||
};
|
||||
|
||||
struct TKageDead1 : public TChaseMtx {
|
||||
virtual ~TKageDead1(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtx
|
||||
};
|
||||
|
||||
struct TKageDead2 : public TSimple1 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
|
||||
struct TKageFlick : public TChasePos {
|
||||
virtual ~TKageFlick(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChasePos
|
||||
};
|
||||
|
||||
struct TKageMove : public TChasePosYRot {
|
||||
virtual ~TKageMove(); // _48 (weak)
|
||||
|
||||
void setGlobalPrmColor(Color4&);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TChasePosYRot
|
||||
};
|
||||
|
||||
struct TKageRecov : public TSimple2 {
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimple2
|
||||
};
|
||||
|
||||
struct TKageRun : public TChasePosYRot {
|
||||
virtual ~TKageRun(); // _48 (weak)
|
||||
|
||||
void setGlobalPrmColor(Color4&);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TChasePosYRot
|
||||
};
|
||||
|
||||
struct TKageTyreDead : public TSimple3 {
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TSimple3
|
||||
};
|
||||
|
||||
struct TKageTyresmoke : public TChasePosYRot {
|
||||
virtual ~TKageTyresmoke(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TChasePosYRot
|
||||
};
|
||||
|
||||
struct TKageTyreup : public TChasePosYRot {
|
||||
virtual ~TKageTyreup(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TChasePosYRot
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
146
include/efx/TKch.h
Normal file
146
include/efx/TKch.h
Normal file
@ -0,0 +1,146 @@
|
||||
#ifndef _EFX_TKCH_H
|
||||
#define _EFX_TKCH_H
|
||||
|
||||
#include "efx/TSimple.h"
|
||||
#include "efx/TChasePos.h"
|
||||
#include "efx/TChaseMtx.h"
|
||||
|
||||
namespace efx {
|
||||
struct TKchApSand : public TSimple3 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TSimple3
|
||||
};
|
||||
|
||||
struct TKchApWat : public TSimple5 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_24 = TSimple5
|
||||
};
|
||||
|
||||
struct TKchCryAB : public TChasePos2 {
|
||||
void setGlobalScale(f32);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_2C = TChasePos2
|
||||
};
|
||||
|
||||
struct TKchCryInd : public TChasePos2 {
|
||||
virtual ~TKchCryInd(); // _48 (weak)
|
||||
|
||||
void setGlobalScale(f32);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtxT
|
||||
};
|
||||
|
||||
struct TKchDamage : public TSimple4 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_1C = TSimple4
|
||||
};
|
||||
|
||||
struct TKchDeadHana : public TChaseMtx2 {
|
||||
void setGlobalScale(f32);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_2C = TChaseMtx2
|
||||
};
|
||||
|
||||
struct TKchDiveSand : public TChasePosYRot3 {
|
||||
void setGlobalScale(f32);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_4C = TChasePosYRot3
|
||||
};
|
||||
|
||||
struct TKchDiveWat : public TChasePosYRot3 {
|
||||
void setGlobalScale(f32);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_4C = TChasePosYRot3
|
||||
};
|
||||
|
||||
struct TKchDownsmoke : public TSimple1 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_0C = TSimple1
|
||||
};
|
||||
|
||||
struct TKchFlickSand : public TSimple2 {
|
||||
virtual void create(Arg*); // _08
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_10 = TSimple2
|
||||
};
|
||||
|
||||
struct TKchSmokeHana : public TChaseMtx {
|
||||
virtual ~TKchSmokeHana(); // _48 (weak)
|
||||
|
||||
void setGlobalScale(f32);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtx
|
||||
};
|
||||
|
||||
struct TKchYodareBaseChaseMtx : public TChaseMtx {
|
||||
virtual void create(Arg*); // _08
|
||||
virtual void forceKill(); // _0C (weak)
|
||||
virtual void fade(); // _10 (weak)
|
||||
virtual void startDemoDrawOff(); // _40 (weak)
|
||||
virtual void endDemoDrawOn(); // _44 (weak)
|
||||
virtual ~TKchYodareBaseChaseMtx(); // _48 (weak)
|
||||
|
||||
void setGlobalScale(f32);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TChaseMtx
|
||||
};
|
||||
|
||||
struct TKchAttackYodare : public TKchYodareBaseChaseMtx {
|
||||
TKchAttackYodare(f32 (*)[4]);
|
||||
|
||||
virtual ~TKchAttackYodare(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TKchYodareBaseChaseMtx
|
||||
};
|
||||
|
||||
struct TKchDeadYodare : public TKchYodareBaseChaseMtx {
|
||||
TKchDeadYodare(f32 (*)[4]);
|
||||
|
||||
virtual ~TKchDeadYodare(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TKchYodareBaseChaseMtx
|
||||
};
|
||||
|
||||
struct TKchYodare : public TKchYodareBaseChaseMtx {
|
||||
TKchYodare(f32 (*)[4]);
|
||||
|
||||
virtual ~TKchYodare(); // _48 (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_14 = TKchYodareBaseChaseMtx
|
||||
};
|
||||
|
||||
struct TKchYodareHitGr : public TOneEmitterSimple {
|
||||
virtual ~TKchYodareHitGr(); // _3C (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TOneEmitterSimple
|
||||
};
|
||||
|
||||
struct TKchYodareHitWat : public TOneEmitterSimple {
|
||||
virtual ~TKchYodareHitWat(); // _3C (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_18 = TOneEmitterSimple
|
||||
};
|
||||
} // namespace efx
|
||||
|
||||
#endif
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user