More kando, link seConstants.cpp, updateMgr.cpp
Some checks failed
Build / build (GPIE01_01) (push) Failing after 0s

This commit is contained in:
Dean Southwood 2024-09-17 17:34:27 +10:00
parent 0640134c29
commit 952246f512
45 changed files with 940 additions and 2943 deletions

View File

@ -443,9 +443,9 @@ config.libs = [
Object(NonMatching, "plugPikiKando/workObject.cpp"),
Object(NonMatching, "plugPikiKando/routeMgr.cpp"),
Object(NonMatching, "plugPikiKando/seMgr.cpp"),
Object(NonMatching, "plugPikiKando/seConstants.cpp"),
Object(Matching, "plugPikiKando/seConstants.cpp"),
Object(NonMatching, "plugPikiKando/soundMgr.cpp"),
Object(NonMatching, "plugPikiKando/updateMgr.cpp"),
Object(Matching, "plugPikiKando/updateMgr.cpp"),
Object(NonMatching, "plugPikiKando/cPlate.cpp"),
Object(NonMatching, "plugPikiKando/aiStone.cpp"),
Object(NonMatching, "plugPikiKando/aiActions.cpp"),

61
include/CPlate.h Normal file
View File

@ -0,0 +1,61 @@
#ifndef _CPLATE_H
#define _CPLATE_H
#include "types.h"
#include "Traversable.h"
#include "Node.h"
struct MapMgr;
struct Piki;
struct SlotChangeListner;
/**
* @brief TODO
*/
struct CPlate : public Traversable, public Node {
/**
* @brief TODO
*/
struct Slot {
Slot();
// TODO: members
};
CPlate(MapMgr*);
virtual Creature* getCreature(int); // _08
virtual int getFirst(); // _0C
virtual int getNext(int); // _10
virtual bool isDone(int); // _14
virtual void read(RandomAccessStream&); // _48
virtual void update(); // _4C
virtual void render(Graphics&); // _50
bool canNaviRunFast();
void init(Vector3f&);
void setPos(Vector3f&, f32, Vector3f&);
void setPosGray(Vector3f&, f32, Vector3f&);
void getSlot(Creature*, SlotChangeListner*);
void changeFlower(Piki*);
void releaseSlot(Creature*, int);
void validSlot(int);
void sortByColor(Piki*);
void rearrangeSlot(Vector3f&, f32, Vector3f&);
void refresh(int, f32);
void refreshSlot();
// unused/inlined:
void setPosNeutral(Vector3f&, f32, Vector3f&);
void swapSlot(int, int);
void postUpdate(f32);
// _00 = VTBL 1
// _08 = VTBL 2
// _00-_08 = Traversable
// _08-_28 = Node
// TODO: members
};
#endif

78
include/GoalItem.h Normal file
View File

@ -0,0 +1,78 @@
#ifndef _GOALITEM_H
#define _GOALITEM_H
#include "types.h"
#include "Suckable.h"
#include "zen/CallBack.h"
#include "zen/particle.h"
#include "CreatureProp.h"
namespace zen {
struct particleGenerator;
struct particleMdl;
} // namespace zen
struct ItemShapeObject;
struct Piki;
struct SimpleAI;
/**
* @brief TODO
*/
struct GoalItemProp : public CreatureProp {
// _54 = VTBL
// _00-_58 = CreatureProp
// TODO: members
};
/**
* @brief TODO
*/
struct GoalItem : public Suckable, public zen::CallBack2<zen::particleGenerator*, zen::particleMdl*> {
GoalItem(CreatureProp*, ItemShapeObject*, ItemShapeObject*, ItemShapeObject*, SimpleAI*);
virtual bool insideSafeArea(Vector3f&); // _10
virtual void startAI(int); // _34
virtual f32 getiMass(); // _38
virtual f32 getSize(); // _3C
virtual bool isVisible(); // _74
virtual bool isAlive(); // _88
virtual bool needShadow(); // _90
virtual bool ignoreAtari(Creature*); // _98
virtual void update(); // _E0
virtual void refresh(Graphics&); // _EC
virtual void playEffect(int); // _12C
virtual void getGoalPos(); // _15C
virtual void getGoalPosRadius(); // _160
virtual void getSuckPos(); // _164
virtual void suckMe(Pellet*); // _168
virtual void getRouteIndex(); // _170
virtual bool invoke(zen::particleGenerator*, zen::particleMdl*); // _180
void setFlowEffect(bool);
void setSpotActive(bool);
void setFlightLight(bool);
void enterGoal(Piki*);
void exitPikis(int);
void exitPiki();
void setColorType(int);
void startTakeoff();
void startLand();
void startConeShrink();
void startConeEmit();
void startBoot();
void emitPiki();
// unused/inlined:
void updateConeShrink();
void updateConeEmit();
static u8 demoHideFlag;
// _00 = VTBL
// _00-_3C8 = Suckable
// TODO: members
};
#endif

View File

@ -57,6 +57,16 @@ struct ItemObject : public ItemCreature {
* @brief TODO.
*/
struct ItemMgr : public PolyObjectMgr {
/**
* @brief TODO.
*/
struct UseNode : public CoreNode {
// _00 = VTBL
// _00-_14 = CoreNode
// TODO: members
};
ItemMgr();
virtual ~ItemMgr(); // _48 (weak)

View File

@ -62,9 +62,14 @@ struct PaniItemAnimator : public PaniAnimator {
* @brief TODO
*/
struct PaniPelletAnimator : public PaniAnimator {
PaniPelletAnimator();
PaniMotionTable* createMotionTable();
// _30 = VTBL
// _00-_34 = PaniAnimator
// TODO: members
u8 _34[0x54 - 0x34]; // _34, unknown
// TODO: members
};
/**
@ -128,4 +133,42 @@ struct PaniPikiAnimMgr {
// TODO: members
};
/**
* @brief TODO
*/
struct PaniMotionInfo {
PaniMotionInfo(int);
PaniMotionInfo(int, PaniAnimKeyListener*);
void init(int, PaniAnimKeyListener*);
// TODO: members
};
/**
* @brief TODO
*
* @note Size: 0x8.
*/
struct PaniMotion {
PaniMotion(int);
void init(int, int);
int _00; // _00
int _04; // _04
};
/**
* @brief TODO
*
* @note Size: 0x8.
*/
struct PaniMotionTable {
PaniMotionTable(int);
int _00; // _00
PaniMotion** _04; // _04
};
#endif

View File

@ -1,40 +0,0 @@
#ifndef _PANIMOTION_H
#define _PANIMOTION_H
#include "types.h"
struct PaniAnimKeyListener;
/**
* @brief TODO
*/
struct PaniMotionInfo {
PaniMotionInfo(int);
PaniMotionInfo(int, PaniAnimKeyListener*);
void init(int, PaniAnimKeyListener*);
// TODO: members
};
/**
* @brief TODO
*/
struct PaniMotionTable {
PaniMotionTable(int);
// TODO: members
};
/**
* @brief TODO
*/
struct PaniMotion {
PaniMotion(int);
void init(int, int);
// TODO: members
};
#endif

View File

@ -9,6 +9,7 @@
struct PaniAnimKeyEvent;
struct PelletShapeObject;
struct PelletView;
struct Shape;
/**
* @brief TODO
@ -138,4 +139,11 @@ struct PelletMgr : public MonoObjectMgr {
// TODO: members
};
/**
* @brief TODO
*/
struct PelletShapeObject {
PelletShapeObject(char*, Shape*, char*, char*, int);
};
#endif

55
include/PelletAnimator.h Normal file
View File

@ -0,0 +1,55 @@
#ifndef _PELLETANIMATOR_H
#define _PELLETANIMATOR_H
#include "types.h"
#include "CoreNode.h"
#include "Parameters.h"
#include "PaniAnimator.h"
#include "String.h"
struct PaniAnimKeyListener;
struct PaniMotionInfo;
struct PaniMotionTable;
/**
* @brief TODO
*
* @note Size: 0x5C.
*/
struct PelletAnimInfo : public Parameters, public CoreNode {
PelletAnimInfo();
void createShapeObject();
// _04 = VTBL 1
// _58 = VTBL 2
// _00-_04 = Parameters
// _04-_18 = CoreNode
ID32 mID; // _18
u8 _24[0x58 - 0x24]; // _24, unknown
virtual void read(RandomAccessStream&); // _18
};
/**
* @brief TODO
*/
struct PelletAnimator {
PelletAnimator();
void init(AnimContext*, AnimContext*, AnimMgr*, PaniMotionTable*);
void finishMotion(PaniMotionInfo*, PaniMotionInfo*);
void startMotion(PaniMotionInfo&, PaniMotionInfo&);
void startMotion(PaniMotionInfo&);
void updateAnimation(f32, f32);
void updateContext();
// unused/inlined:
void startMotion(PaniMotionInfo*, PaniMotionInfo*);
void finishMotion(PaniAnimKeyListener*);
PaniPelletAnimator _00; // _00
PaniPelletAnimator _54; // _54
};
#endif

148
include/PelletState.h Normal file
View File

@ -0,0 +1,148 @@
#ifndef _PELLETSTATE_H
#define _PELLETSTATE_H
#include "types.h"
#include "StateMachine.h"
#include "Vector.h"
struct Pellet;
enum PelletStateID {
PELSTATE_Normal = 0,
PELSTATE_Goal = 1,
PELSTATE_Appear = 2,
PELSTATE_Swallowed = 3,
PELSTATE_Dead = 4,
PELSTATE_UfoLoad = 5,
PELSTATE_StateCount, // 6
};
/**
* @brief TODO
*/
struct PelletStateMachine : public StateMachine<Pellet> {
virtual void init(Pellet*); // _08
// _00 = VTBL
// _00-_1C = StateMachine
// TODO: members
};
/**
* @brief TODO
*/
struct PelletState : public AState<Pellet> {
inline PelletState(int stateID, const char* name)
: AState(stateID)
, mName(name)
{
}
// _00 = VTBL
// _00-_0C = AState
const char* mName; // _0C, probably
};
/**
* @brief TODO
*
* @note Size: 0x18.
*/
struct PelletAppearState : public PelletState {
PelletAppearState();
virtual void procBounceMsg(Pellet*, MsgBounce*); // _0C
virtual void init(Pellet*); // _38
virtual void exec(Pellet*); // _3C
virtual void cleanup(Pellet*); // _40
// _00 = VTBL
// _00-_10 = PelletState
u8 _10[0x8]; // _10, unknown
};
/**
* @brief TODO
*
* @note Size: 0x10.
*/
struct PelletDeadState : public PelletState {
PelletDeadState();
virtual void init(Pellet*); // _38
virtual void exec(Pellet*); // _3C
virtual void cleanup(Pellet*); // _40
// _00 = VTBL
// _00-_10 = PelletState
};
/**
* @brief TODO
*
* @note Size: 0x38.
*/
struct PelletGoalState : public PelletState {
PelletGoalState();
virtual void init(Pellet*); // _38
virtual void exec(Pellet*); // _3C
virtual void cleanup(Pellet*); // _40
// _00 = VTBL
// _00-_10 = PelletState
u8 _10[0x24 - 0x10]; // _10, unknown
Vector3f _24; // _24
u8 _30[0x8]; // _30, unknown
};
/**
* @brief TODO
*
* @note Size: 0x10.
*/
struct PelletNormalState : public PelletState {
PelletNormalState();
virtual void init(Pellet*); // _38
virtual void exec(Pellet*); // _3C
virtual void cleanup(Pellet*); // _40
// _00 = VTBL
// _00-_10 = PelletState
};
/**
* @brief TODO
*
* @note Size: 0x10.
*/
struct PelletSwallowedState : public PelletState {
PelletSwallowedState();
virtual void init(Pellet*); // _38
virtual void exec(Pellet*); // _3C
virtual void cleanup(Pellet*); // _40
// _00 = VTBL
// _00-_10 = PelletState
};
/**
* @brief TODO
*
* @note Size: 0x14.
*/
struct PelletUfoLoadState : public PelletState {
PelletUfoLoadState();
virtual void init(Pellet*); // _38
virtual void exec(Pellet*); // _3C
virtual void cleanup(Pellet*); // _40
// _00 = VTBL
// _00-_10 = PelletState
u8 _10; // _10
};
#endif

170
include/SoundMgr.h Normal file
View File

@ -0,0 +1,170 @@
#ifndef _SOUNDMGR_H
#define _SOUNDMGR_H
#include "types.h"
#include "Node.h"
#include "Parameters.h"
#include "Ayu.h"
#include "Win.h"
struct Creature;
/**
* @brief TODO
*/
struct SVector_ {
// TODO: members
};
/**
* @brief TODO
*/
struct SeConstant : public Node {
/**
* @brief TODO
*
* @note Fabricated. Offsets are relative to SeConstant for convenience.
*/
struct SeParms : public Parameters {
SeParms()
: _24(this, 700.0f, 0.0f, 0.0f, "p00", nullptr)
, _34(this, 400.0f, 0.0f, 0.0f, "p01", nullptr)
, _44(this, 800.0f, 0.0f, 0.0f, "p02", nullptr)
{
}
// _20-_24 = Parameters
Parm<f32> _24; // _24, p00
Parm<f32> _34; // _34, p01
Parm<f32> _44; // _44, p02
};
SeConstant();
virtual void read(RandomAccessStream& input) // _0C (weak)
{
mParms.read(input);
}
// _00 = VTBL
// _00-_20 = Node
SeParms mParms; // _20
};
/*
* @brief TODO
*/
struct SeContext {
SeContext();
SeContext(Creature*, int);
void setContext(Creature*, int);
void playSound(int);
void stopSound(int);
void update();
void releaseEvent();
// unused/inlined:
void getPos();
void getObjType();
void createEvent(int);
void dump();
// TODO: members
u32 _00; // _00, unknown
Creature* _04; // _04, unknown
int _08; // _08, could be s32 or u32
u16 _0C; // _0C, could be s16
Vector3f _10; // _10
Vector3f _1C; // _1C
};
/*
* @brief TODO
*/
struct SeMgr : public Node {
SeMgr();
virtual void update(); // _10
void playNaviSound(s32, s32);
void addInfo(int, char*);
void joinBattle();
void leaveBattle();
void setPikiNum(int);
// unused/inlined:
void findInfo(int);
void play(u32);
void stop(u32);
void playBGM(u32);
void stopBGM();
void stopSoundAll();
// _00 = VTBL
// _00-_20 = Node
// TODO: members
};
/**
* @brief TODO
*/
struct SeWin : public GmWin {
virtual void open(); // _10
virtual void close(); // _14
virtual void update(); // _18
virtual void doRender(Graphics&); // _1C
// _00 = VTBL
// _00-_14 = GmWin?
// TODO: members
};
/*
* @brief TODO
*/
struct SeSystem {
/*
* @brief TODO
*/
struct Event {
Event();
// TODO: members
};
SeSystem();
void initEvent();
void resetSystem();
void createEvent(SeContext*, int, SVector_*);
void playPikiSound(int, Vector3f&);
void playSoundDirect(int, int, Vector3f&);
void destroyEvent(SeContext*, s32);
void getEvent(SeContext*);
void draw3d(Graphics&);
void draw2d(Graphics&);
void dumpEvents();
void update(Graphics&, Vector3f&);
void calcCameraPos(Vector3f&, Vector3f&);
void getJacID(int);
void exitCourse();
void playSysSe(int);
void stopSysSe(int);
void playPlayerSe(int);
void stopPlayerSe(int);
// unused/inlined:
void getEvent(s32);
void getSoundName(int);
void getEventType(int);
void isLoopType(int);
// TODO: members
};
extern SeSystem* sySystem;
#endif

27
include/Suckable.h Normal file
View File

@ -0,0 +1,27 @@
#ifndef _SUCKABLE_H
#define _SUCKABLE_H
#include "types.h"
#include "ItemMgr.h"
/**
* @brief TODO
*
* @note Size: 0x3C8.
*/
struct Suckable : public ItemCreature {
inline Suckable(); // TODO: need to make this
virtual void getGoalPos() = 0; // _15C
virtual void getGoalPosRadius() = 0; // _160
virtual void getSuckPos() = 0; // _164
virtual void suckMe(Pellet*) = 0; // _168
virtual void finishSuck(Pellet*); // _16C (weak)
virtual void getRouteIndex() = 0; // _170
// _00 = VTBL
// _00-_304 = ItemCreature?
u8 _304[0x3C8 - sizeof(ItemCreature)]; // _304, unknown
};
#endif

98
include/UfoItem.h Normal file
View File

@ -0,0 +1,98 @@
#ifndef _UFOITEM_H
#define _UFOITEM_H
#include "types.h"
#include "Suckable.h"
#include "CreatureProp.h"
struct UfoShapeObject;
struct Piki;
struct SimpleAI;
/**
* @brief TODO
*/
struct UfoItemProp : public CreatureProp {
// _54 = VTBL
// _00-_58 = CreatureProp
// TODO: members
};
/**
* @brief TODO
*/
struct UfoItem : public Suckable {
/**
* @brief TODO
*/
struct LightAnimator {
LightAnimator();
void start(int);
// unused/inlined:
void update();
// TODO: members
};
/**
* @brief TODO
*/
struct Spot {
Spot();
// TODO: members
};
UfoItem(CreatureProp*, UfoShapeObject*);
virtual bool insideSafeArea(Vector3f&); // _10
virtual void startAI(int); // _34
virtual f32 getiMass(); // _38
virtual f32 getSize(); // _3C
virtual bool isVisible(); // _74
virtual bool isAlive(); // _88
virtual bool needShadow(); // _90
virtual bool ignoreAtari(Creature*); // _98
virtual void update(); // _E0
virtual void refresh(Graphics&); // _EC
virtual void demoDraw(Graphics&, Matrix4f*); // _FC
virtual void animationKeyUpdated(PaniAnimKeyEvent&); // _154
virtual void getGoalPos(); // _15C
virtual void getGoalPosRadius(); // _160
virtual void getSuckPos(); // _164
virtual void suckMe(Pellet*); // _168
virtual void finishSuck(Pellet*); // _16C
virtual void getRouteIndex(); // _170
void setSpotTurn(bool);
void setSpotActive(bool);
void setTroubleEffect(bool);
void startTroubleEffectOne(int);
void updateTroubleEffect();
void startConeEffect(int);
void finishConeEffect();
void startLevelFlag(int);
void lightLevelFlag(int);
void setJetEffect(int, bool);
void startYozora();
void startGalaxy();
void startTakeoff();
void accessible();
void startAccess();
void finishAccess();
void setPca1Effect(bool);
void setPca2Effect(bool);
// unused/inlined:
void initLevelFlag(int);
// _00 = VTBL
// _00-_3C8 = Suckable
// TODO: members
};
#endif

54
include/UpdateMgr.h Normal file
View File

@ -0,0 +1,54 @@
#ifndef _UPDATEMGR_H
#define _UPDATEMGR_H
#include "types.h"
struct Graphics;
struct UpdateMgr;
/**
* @brief TODO
*/
struct UpdateContext {
UpdateContext();
bool updatable();
void init(UpdateMgr*);
void exit();
UpdateMgr* mMgr; // _00
int mMgrSlotIndex; // _04, what slot is client in in mMgr?
bool mIsActive; // _08
};
/**
* @brief TODO
*/
struct UpdateMgr {
UpdateMgr();
void update();
bool updatable(UpdateContext*);
void create(int);
void addClient(UpdateContext*);
void removeClient(UpdateContext*);
// unused/inlined:
void balanceClient(UpdateContext*);
void showInfo(Graphics&, int, int);
int mSlotCount; // _00, max possible client slots
int mClientCount; // _04, current client count
int* mClientSlotList; // _08, each slot holds up to 10000 clients
int* mActiveClientSlotList; // _0C, each slot holds up to 10000 clients
int mCurrentIndex; // _10
u32 mUnused14; // _14, just gets zeroed by create
};
extern UpdateMgr* pikiUpdateMgr;
extern UpdateMgr* searchUpdateMgr;
extern UpdateMgr* pikiLookUpdateMgr;
extern UpdateMgr* pikiOptUpdateMgr;
extern UpdateMgr* tekiOptUpdateMgr;
#endif

View File

@ -68,18 +68,4 @@ struct ContainerWin {
// TODO: members
};
/**
* @brief TODO
*/
struct SeWin : public GmWin {
virtual void open(); // _10
virtual void close(); // _14
virtual void update(); // _18
virtual void doRender(Graphics&); // _1C
// _00 = VTBL
// _00-_14 = GmWin?
// TODO: members
};
#endif

View File

@ -2,11 +2,13 @@
#define _STRING_H
#include "types.h"
#include "Stream.h"
// definitely not the right place for this
void sscanf(char*, char*, void*);
#include "stl/stdio.h"
/**
* @brief TODO
*
* @note Size: 0x8.
*/
struct String {
String() { init(64); }
String(char* str, int length) { init(str, length); }
@ -27,6 +29,7 @@ struct String {
void calcHash(char*);
void calcHash();
void toInt(char*);
void init(int length)
{
mString = length ? new char[length + 1] : nullptr;

View File

@ -1,4 +1,6 @@
#include "types.h"
#include "PelletAnimator.h"
#include "Pellet.h"
#include "sysNew.h"
/*
* --INFO--
@ -354,64 +356,17 @@ PelletShapeObject::PelletShapeObject(char*, Shape*, char*, char*, int)
* Address: 8009996C
* Size: 000038
*/
PelletAnimator::PelletAnimator()
{
/*
.loc_0x0:
mflr r0
stw r0, 0x4(r1)
stwu r1, -0x18(r1)
stw r31, 0x14(r1)
mr r31, r3
bl 0x358
addi r3, r31, 0x54
bl 0x350
mr r3, r31
lwz r0, 0x1C(r1)
lwz r31, 0x14(r1)
addi r1, r1, 0x18
mtlr r0
blr
*/
}
PelletAnimator::PelletAnimator() { }
/*
* --INFO--
* Address: 800999A4
* Size: 00006C
*/
void PelletAnimator::init(AnimContext*, AnimContext*, AnimMgr*, PaniMotionTable*)
void PelletAnimator::init(AnimContext* context1, AnimContext* context2, AnimMgr* mgr, PaniMotionTable* motionTable)
{
/*
.loc_0x0:
mflr r0
stw r0, 0x4(r1)
stwu r1, -0x30(r1)
stw r31, 0x2C(r1)
addi r31, r7, 0
stw r30, 0x28(r1)
addi r30, r6, 0
addi r6, r31, 0
stw r29, 0x24(r1)
addi r29, r5, 0
addi r5, r30, 0
stw r28, 0x20(r1)
addi r28, r3, 0
bl 0x8574C
addi r4, r29, 0
addi r5, r30, 0
addi r6, r31, 0
addi r3, r28, 0x54
bl 0x85738
lwz r0, 0x34(r1)
lwz r31, 0x2C(r1)
lwz r30, 0x28(r1)
lwz r29, 0x24(r1)
lwz r28, 0x20(r1)
addi r1, r1, 0x30
mtlr r0
blr
*/
_00.init(context1, mgr, motionTable);
_54.init(context2, mgr, motionTable);
}
/*
@ -419,8 +374,14 @@ void PelletAnimator::init(AnimContext*, AnimContext*, AnimMgr*, PaniMotionTable*
* Address: ........
* Size: 000058
*/
void PelletAnimator::startMotion(PaniMotionInfo*, PaniMotionInfo*)
void PelletAnimator::startMotion(PaniMotionInfo* motionInfo1, PaniMotionInfo* motionInfo2)
{
if (motionInfo1) {
_00.startMotion(*motionInfo1);
}
if (motionInfo2) {
_54.startMotion(*motionInfo2);
}
// UNUSED FUNCTION
}
@ -429,37 +390,14 @@ void PelletAnimator::startMotion(PaniMotionInfo*, PaniMotionInfo*)
* Address: 80099A10
* Size: 000058
*/
void PelletAnimator::finishMotion(PaniMotionInfo*, PaniMotionInfo*)
void PelletAnimator::finishMotion(PaniMotionInfo* motionInfo1, PaniMotionInfo* motionInfo2)
{
/*
.loc_0x0:
mflr r0
cmplwi r4, 0
stw r0, 0x4(r1)
stwu r1, -0x20(r1)
stw r31, 0x1C(r1)
addi r31, r5, 0
stw r30, 0x18(r1)
addi r30, r3, 0
beq- .loc_0x2C
mr r3, r30
bl 0x857F8
.loc_0x2C:
cmplwi r31, 0
beq- .loc_0x40
addi r3, r30, 0x54
addi r4, r31, 0
bl 0x857E4
.loc_0x40:
lwz r0, 0x24(r1)
lwz r31, 0x1C(r1)
lwz r30, 0x18(r1)
addi r1, r1, 0x20
mtlr r0
blr
*/
if (motionInfo1) {
_00.finishMotion(*motionInfo1);
}
if (motionInfo2) {
_54.finishMotion(*motionInfo2);
}
}
/*
@ -467,62 +405,14 @@ void PelletAnimator::finishMotion(PaniMotionInfo*, PaniMotionInfo*)
* Address: 80099A68
* Size: 000058
*/
void PelletAnimator::startMotion(PaniMotionInfo&, PaniMotionInfo&)
{
/*
.loc_0x0:
mflr r0
cmplwi r4, 0
stw r0, 0x4(r1)
stwu r1, -0x20(r1)
stw r31, 0x1C(r1)
addi r31, r5, 0
stw r30, 0x18(r1)
addi r30, r3, 0
beq- .loc_0x2C
mr r3, r30
bl 0x85730
.loc_0x2C:
cmplwi r31, 0
beq- .loc_0x40
addi r3, r30, 0x54
addi r4, r31, 0
bl 0x8571C
.loc_0x40:
lwz r0, 0x24(r1)
lwz r31, 0x1C(r1)
lwz r30, 0x18(r1)
addi r1, r1, 0x20
mtlr r0
blr
*/
}
void PelletAnimator::startMotion(PaniMotionInfo& motionInfo1, PaniMotionInfo& motionInfo2) { startMotion(&motionInfo1, &motionInfo2); }
/*
* --INFO--
* Address: 80099AC0
* Size: 000028
*/
void PelletAnimator::startMotion(PaniMotionInfo&)
{
/*
.loc_0x0:
mflr r0
cmplwi r4, 0
stw r0, 0x4(r1)
stwu r1, -0x8(r1)
beq- .loc_0x18
bl 0x856EC
.loc_0x18:
lwz r0, 0xC(r1)
addi r1, r1, 0x8
mtlr r0
blr
*/
}
void PelletAnimator::startMotion(PaniMotionInfo& motionInfo) { startMotion(&motionInfo, nullptr); }
/*
* --INFO--
@ -539,34 +429,10 @@ void PelletAnimator::finishMotion(PaniAnimKeyListener*)
* Address: 80099AE8
* Size: 00005C
*/
void PelletAnimator::updateAnimation(f32, f32)
void PelletAnimator::updateAnimation(f32 p1, f32 p2)
{
/*
.loc_0x0:
mflr r0
stw r0, 0x4(r1)
stwu r1, -0x28(r1)
stfd f31, 0x20(r1)
fmr f31, f2
stw r31, 0x1C(r1)
mr r31, r3
lwz r12, 0x30(r31)
lwz r12, 0xC(r12)
mtlr r12
blrl
addi r3, r31, 0x54
fmr f1, f31
lwz r12, 0x84(r31)
lwz r12, 0xC(r12)
mtlr r12
blrl
lwz r0, 0x2C(r1)
lfd f31, 0x20(r1)
lwz r31, 0x1C(r1)
addi r1, r1, 0x28
mtlr r0
blr
*/
_00.animate(p1);
_54.animate(p2);
}
/*
@ -576,28 +442,8 @@ void PelletAnimator::updateAnimation(f32, f32)
*/
void PelletAnimator::updateContext()
{
/*
.loc_0x0:
mflr r0
stw r0, 0x4(r1)
stwu r1, -0x18(r1)
stw r31, 0x14(r1)
mr r31, r3
lwz r12, 0x30(r31)
lwz r12, 0x18(r12)
mtlr r12
blrl
addi r3, r31, 0x54
lwz r12, 0x84(r31)
lwz r12, 0x18(r12)
mtlr r12
blrl
lwz r0, 0x1C(r1)
lwz r31, 0x14(r1)
addi r1, r1, 0x18
mtlr r0
blr
*/
_00.updateContext();
_54.updateContext();
}
/*
@ -605,109 +451,17 @@ void PelletAnimator::updateContext()
* Address: 80099B90
* Size: 000148
*/
void PaniPelletAnimator::createMotionTable()
PaniMotionTable* PaniPelletAnimator::createMotionTable()
{
/*
.loc_0x0:
mflr r0
li r3, 0x8
stw r0, 0x4(r1)
stwu r1, -0x18(r1)
stw r31, 0x14(r1)
stw r30, 0x10(r1)
bl -0x52BA4
addi r31, r3, 0
mr. r3, r31
beq- .loc_0x30
li r4, 0x7
bl 0x8544C
.loc_0x30:
li r3, 0x8
bl -0x52BC0
addi r30, r3, 0
mr. r3, r30
beq- .loc_0x4C
li r4, 0
bl 0x853F0
.loc_0x4C:
lwz r4, 0x4(r31)
li r3, 0x8
stw r30, 0x0(r4)
bl -0x52BE4
addi r30, r3, 0
mr. r3, r30
beq- .loc_0x70
li r4, 0x1
bl 0x853CC
.loc_0x70:
lwz r4, 0x4(r31)
li r3, 0x8
stw r30, 0x4(r4)
bl -0x52C08
addi r30, r3, 0
mr. r3, r30
beq- .loc_0x94
li r4, 0x2
bl 0x853A8
.loc_0x94:
lwz r4, 0x4(r31)
li r3, 0x8
stw r30, 0x8(r4)
bl -0x52C2C
addi r30, r3, 0
mr. r3, r30
beq- .loc_0xB8
li r4, 0x3
bl 0x85384
.loc_0xB8:
lwz r4, 0x4(r31)
li r3, 0x8
stw r30, 0xC(r4)
bl -0x52C50
addi r30, r3, 0
mr. r3, r30
beq- .loc_0xDC
li r4, 0x4
bl 0x85360
.loc_0xDC:
lwz r4, 0x4(r31)
li r3, 0x8
stw r30, 0x10(r4)
bl -0x52C74
addi r30, r3, 0
mr. r3, r30
beq- .loc_0x100
li r4, 0x5
bl 0x8533C
.loc_0x100:
lwz r4, 0x4(r31)
li r3, 0x8
stw r30, 0x14(r4)
bl -0x52C98
addi r30, r3, 0
mr. r3, r30
beq- .loc_0x124
li r4, 0x6
bl 0x85318
.loc_0x124:
lwz r4, 0x4(r31)
mr r3, r31
stw r30, 0x18(r4)
lwz r0, 0x1C(r1)
lwz r31, 0x14(r1)
lwz r30, 0x10(r1)
addi r1, r1, 0x18
mtlr r0
blr
*/
PaniMotionTable* table = new PaniMotionTable(7);
table->_04[0] = new PaniMotion(0);
table->_04[1] = new PaniMotion(1);
table->_04[2] = new PaniMotion(2);
table->_04[3] = new PaniMotion(3);
table->_04[4] = new PaniMotion(4);
table->_04[5] = new PaniMotion(5);
table->_04[6] = new PaniMotion(6);
return table;
}
/*
@ -715,38 +469,4 @@ void PaniPelletAnimator::createMotionTable()
* Address: 80099CD8
* Size: 00003C
*/
PaniPelletAnimator::PaniPelletAnimator()
{
/*
.loc_0x0:
mflr r0
stw r0, 0x4(r1)
stwu r1, -0x18(r1)
stw r31, 0x14(r1)
mr r31, r3
bl 0x853F4
lis r3, 0x802B
addi r0, r3, 0x810
stw r0, 0x30(r31)
mr r3, r31
lwz r0, 0x1C(r1)
lwz r31, 0x14(r1)
addi r1, r1, 0x18
mtlr r0
blr
*/
}
/*
* --INFO--
* Address: 80099D14
* Size: 000008
*/
void PelletAnimInfo::@4 @read(RandomAccessStream&)
{
/*
.loc_0x0:
subi r3, r3, 0x4
b -0x57C
*/
}
PaniPelletAnimator::PaniPelletAnimator() { }

View File

@ -1,4 +1,4 @@
#include "types.h"
#include "CPlate.h"
/*
* --INFO--
@ -25,7 +25,7 @@ static void _Print(char*, ...)
* Address: 800A5710
* Size: 000014
*/
void CPlate::getCreature(int)
Creature* CPlate::getCreature(int)
{
/*
.loc_0x0:
@ -217,7 +217,7 @@ CPlate::Slot::Slot()
* Address: 800A5980
* Size: 000008
*/
u32 CPlate::canNaviRunFast() { return 0x1; }
bool CPlate::canNaviRunFast() { return true; }
/*
* --INFO--
@ -1832,15 +1832,16 @@ void CPlate::render(Graphics&)
* Address: 800A6D30
* Size: 000008
*/
u32 CPlate::getFirst() { return 0x0; }
int CPlate::getFirst() { return 0; }
/*
* --INFO--
* Address: 800A6D38
* Size: 000008
*/
void CPlate::getNext(int)
int CPlate::getNext(int idx)
{
return idx + 1;
/*
.loc_0x0:
addi r3, r4, 0x1
@ -1853,7 +1854,7 @@ void CPlate::getNext(int)
* Address: 800A6D40
* Size: 000018
*/
void CPlate::isDone(int)
bool CPlate::isDone(int)
{
/*
.loc_0x0:
@ -1886,45 +1887,3 @@ void CPlate::read(RandomAccessStream&)
blr
*/
}
/*
* --INFO--
* Address: 800A6D7C
* Size: 000008
*/
void CPlate::@8 @read(RandomAccessStream&)
{
/*
.loc_0x0:
subi r3, r3, 0x8
b -0x28
*/
}
/*
* --INFO--
* Address: 800A6D84
* Size: 000008
*/
void CPlate::@8 @render(Graphics&)
{
/*
.loc_0x0:
subi r3, r3, 0x8
b -0x324
*/
}
/*
* --INFO--
* Address: 800A6D8C
* Size: 000008
*/
void CPlate::@8 @update()
{
/*
.loc_0x0:
subi r3, r3, 0x8
b -0x364
*/
}

View File

@ -1,4 +1,4 @@
#include "types.h"
#include "GoalItem.h"
/*
* --INFO--
@ -35,7 +35,7 @@ void printMatrix(char*, Matrix4f&)
* Address: 800EA714
* Size: 000040
*/
void GoalItem::insideSafeArea(Vector3f&)
bool GoalItem::insideSafeArea(Vector3f&)
{
/*
.loc_0x0:
@ -784,7 +784,7 @@ void GoalItem::setSpotActive(bool)
* Address: 800EB0E0
* Size: 000058
*/
void GoalItem::invoke(zen::particleGenerator*, zen::particleMdl*)
bool GoalItem::invoke(zen::particleGenerator*, zen::particleMdl*)
{
/*
.loc_0x0:
@ -823,7 +823,7 @@ void GoalItem::invoke(zen::particleGenerator*, zen::particleMdl*)
void GoalItem::setFlightLight(bool a1)
{
// Generated from stb r4, 0x3EC(r3)
_3EC = a1;
// _3EC = a1;
}
/*
@ -1201,7 +1201,7 @@ void GoalItem::exitPiki()
* Address: 800EB5B8
* Size: 000008
*/
u32 GoalItem::needShadow() { return 0x0; }
bool GoalItem::needShadow() { return false; }
/*
* --INFO--
@ -1290,7 +1290,7 @@ GoalItem::GoalItem(CreatureProp*, ItemShapeObject*, ItemShapeObject*, ItemShapeO
* Address: 800EB6D0
* Size: 00001C
*/
void GoalItem::ignoreAtari(Creature*)
bool GoalItem::ignoreAtari(Creature*)
{
/*
.loc_0x0:
@ -1908,7 +1908,7 @@ void GoalItem::emitPiki()
* Address: 800EBE28
* Size: 000008
*/
void GoalItem::getSize()
f32 GoalItem::getSize()
{
/*
.loc_0x0:
@ -1922,7 +1922,7 @@ void GoalItem::getSize()
* Address: 800EBE30
* Size: 000008
*/
void GoalItem::getiMass()
f32 GoalItem::getiMass()
{
/*
.loc_0x0:
@ -2440,25 +2440,11 @@ void GoalItem::getRouteIndex()
* Address: 800EC4B0
* Size: 000008
*/
u32 GoalItem::isVisible() { return 0x1; }
bool GoalItem::isVisible() { return true; }
/*
* --INFO--
* Address: 800EC4B8
* Size: 000008
*/
u32 GoalItem::isAlive() { return 0x1; }
/*
* --INFO--
* Address: 800EC4C0
* Size: 000008
*/
void GoalItem::@968 @invoke(zen::particleGenerator*, zen::particleMdl*)
{
/*
.loc_0x0:
subi r3, r3, 0x3C8
b -0x13E4
*/
}
bool GoalItem::isAlive() { return true; }

View File

@ -1,14 +1,13 @@
#include "types.h"
#include "PelletState.h"
#include "Suckable.h"
#include "Dolphin/os.h"
/*
* --INFO--
* Address: ........
* Size: 00009C
*/
static void _Error(char*, ...)
{
// UNUSED FUNCTION
}
static void _Error(char* fmt, ...) { OSPanic(__FILE__, __LINE__, fmt, "pelletState"); }
/*
* --INFO--
@ -356,29 +355,8 @@ void PelletStateMachine::init(Pellet*)
* Size: 00004C
*/
PelletUfoLoadState::PelletUfoLoadState()
: PelletState(PELSTATE_UfoLoad, "UFOLOAD")
{
/*
.loc_0x0:
lis r4, 0x802B
addi r0, r4, 0xDD4
lis r4, 0x802B
stw r0, 0x0(r3)
addi r0, r4, 0xD84
stw r0, 0x0(r3)
li r0, 0x5
lis r5, 0x802B
stw r0, 0x4(r3)
li r0, 0
lis r4, 0x802B
stw r0, 0x8(r3)
addi r0, r5, 0xD34
subi r5, r13, 0x55F8
stw r0, 0x0(r3)
addi r0, r4, 0xCE4
stw r5, 0xC(r3)
stw r0, 0x0(r3)
blr
*/
}
/*
@ -386,11 +364,7 @@ PelletUfoLoadState::PelletUfoLoadState()
* Address: 8009A478
* Size: 00000C
*/
void PelletUfoLoadState::init(Pellet*)
{
// Generated from stb r0, 0x10(r3)
_10 = 8;
}
void PelletUfoLoadState::init(Pellet*) { _10 = 8; }
/*
* --INFO--
@ -485,29 +459,8 @@ void PelletUfoLoadState::cleanup(Pellet*)
* Size: 00004C
*/
PelletDeadState::PelletDeadState()
: PelletState(PELSTATE_Dead, "DEAD")
{
/*
.loc_0x0:
lis r4, 0x802B
addi r0, r4, 0xDD4
lis r4, 0x802B
stw r0, 0x0(r3)
addi r0, r4, 0xD84
stw r0, 0x0(r3)
li r0, 0x4
lis r5, 0x802B
stw r0, 0x4(r3)
li r0, 0
lis r4, 0x802B
stw r0, 0x8(r3)
addi r0, r5, 0xD34
subi r5, r13, 0x55F0
stw r0, 0x0(r3)
addi r0, r4, 0xC64
stw r5, 0xC(r3)
stw r0, 0x0(r3)
blr
*/
}
/*
@ -537,28 +490,8 @@ void PelletDeadState::cleanup(Pellet*) { }
* Size: 000048
*/
PelletNormalState::PelletNormalState()
: PelletState(PELSTATE_Normal, "NORMAL")
{
/*
.loc_0x0:
lis r4, 0x802B
addi r0, r4, 0xDD4
lis r4, 0x802B
stw r0, 0x0(r3)
addi r0, r4, 0xD84
stw r0, 0x0(r3)
li r0, 0
lis r5, 0x802B
stw r0, 0x4(r3)
addi r6, r5, 0xD34
subi r5, r13, 0x55E8
stw r0, 0x8(r3)
lis r4, 0x802B
addi r0, r4, 0xBE8
stw r6, 0x0(r3)
stw r5, 0xC(r3)
stw r0, 0x0(r3)
blr
*/
}
/*
@ -588,30 +521,8 @@ void PelletNormalState::cleanup(Pellet*) { }
* Size: 000050
*/
PelletSwallowedState::PelletSwallowedState()
: PelletState(PELSTATE_Swallowed, "SWALLOWED")
{
/*
.loc_0x0:
lis r4, 0x802B
addi r0, r4, 0xDD4
lis r4, 0x802B
stw r0, 0x0(r3)
addi r0, r4, 0xD84
stw r0, 0x0(r3)
li r0, 0x3
lis r5, 0x802B
stw r0, 0x4(r3)
li r0, 0
lis r4, 0x802B
stw r0, 0x8(r3)
addi r0, r4, 0xD34
addi r5, r5, 0x9DC
stw r0, 0x0(r3)
lis r4, 0x802B
addi r0, r4, 0xB68
stw r5, 0xC(r3)
stw r0, 0x0(r3)
blr
*/
}
/*
@ -677,29 +588,8 @@ void PelletSwallowedState::cleanup(Pellet*)
* Size: 00004C
*/
PelletAppearState::PelletAppearState()
: PelletState(PELSTATE_Appear, "APPEAR")
{
/*
.loc_0x0:
lis r4, 0x802B
addi r0, r4, 0xDD4
lis r4, 0x802B
stw r0, 0x0(r3)
addi r0, r4, 0xD84
stw r0, 0x0(r3)
li r0, 0x2
lis r5, 0x802B
stw r0, 0x4(r3)
li r0, 0
lis r4, 0x802B
stw r0, 0x8(r3)
addi r0, r5, 0xD34
subi r5, r13, 0x55E0
stw r0, 0x0(r3)
addi r0, r4, 0xAE4
stw r5, 0xC(r3)
stw r0, 0x0(r3)
blr
*/
}
/*
@ -832,33 +722,8 @@ void PelletAppearState::cleanup(Pellet*) { }
* Size: 00005C
*/
PelletGoalState::PelletGoalState()
: PelletState(PELSTATE_Goal, "GOAL")
{
/*
.loc_0x0:
lis r4, 0x802B
addi r0, r4, 0xDD4
lis r4, 0x802B
stw r0, 0x0(r3)
addi r0, r4, 0xD84
stw r0, 0x0(r3)
li r0, 0x1
lis r5, 0x802B
stw r0, 0x4(r3)
li r0, 0
lis r4, 0x802B
stw r0, 0x8(r3)
addi r0, r5, 0xD34
subi r5, r13, 0x55D8
stw r0, 0x0(r3)
addi r0, r4, 0xA64
stw r5, 0xC(r3)
stw r0, 0x0(r3)
lfs f0, -0x7358(r2)
stfs f0, 0x2C(r3)
stfs f0, 0x28(r3)
stfs f0, 0x24(r3)
blr
*/
}
/*

View File

@ -1,12 +1,14 @@
#include "types.h"
#include "SoundMgr.h"
#include "Dolphin/os.h"
/*
* --INFO--
* Address: ........
* Size: 00009C
*/
static void _Error(char*, ...)
static void _Error(char* fmt, ...)
{
OSPanic(__FILE__, __LINE__, fmt, "seConstant");
// UNUSED FUNCTION
}
@ -25,107 +27,4 @@ static void _Print(char*, ...)
* Address: 800A3B04
* Size: 000134
*/
SeConstant::SeConstant()
{
/*
.loc_0x0:
mflr r0
lis r4, 0x8022
stw r0, 0x4(r1)
addi r0, r4, 0x738C
subi r4, r13, 0x52F8
stwu r1, -0x48(r1)
stw r31, 0x44(r1)
addi r31, r3, 0
lis r3, 0x8022
stw r30, 0x40(r1)
li r30, 0
stw r0, 0x0(r31)
addi r0, r3, 0x737C
addi r3, r31, 0
stw r0, 0x0(r31)
stw r30, 0x10(r31)
stw r30, 0xC(r31)
stw r30, 0x8(r31)
bl -0x7EC78
lis r3, 0x8023
subi r0, r3, 0x71E0
stw r0, 0x0(r31)
addi r3, r31, 0
subi r4, r13, 0x52F8
bl -0x63428
lis r3, 0x802B
addi r0, r3, 0x1DC4
stw r0, 0x0(r31)
addi r5, r1, 0x20
addi r3, r31, 0x24
stw r30, 0x20(r31)
addi r4, r31, 0x20
lwz r0, -0x52F0(r13)
stw r0, 0x28(r1)
lwz r0, 0x28(r1)
stw r0, 0x20(r1)
bl -0x45114
lis r3, 0x802A
addi r30, r3, 0x6098
stw r30, 0x2C(r31)
addi r5, r1, 0x1C
addi r3, r31, 0x34
lfs f0, -0x7278(r2)
addi r4, r31, 0x20
stfs f0, 0x30(r31)
lwz r0, -0x52EC(r13)
stw r0, 0x30(r1)
lwz r0, 0x30(r1)
stw r0, 0x1C(r1)
bl -0x45148
stw r30, 0x3C(r31)
addi r5, r1, 0x18
addi r3, r31, 0x44
lfs f0, -0x7274(r2)
addi r4, r31, 0x20
stfs f0, 0x40(r31)
lwz r0, -0x52E8(r13)
stw r0, 0x38(r1)
lwz r0, 0x38(r1)
stw r0, 0x18(r1)
bl -0x45174
stw r30, 0x4C(r31)
lis r3, 0x802B
addi r5, r3, 0x1D2C
lfs f0, -0x7270(r2)
mr r3, r31
subi r4, r13, 0x52E4
stfs f0, 0x50(r31)
li r6, 0x1
bl -0x63578
mr r3, r31
lwz r0, 0x4C(r1)
lwz r31, 0x44(r1)
lwz r30, 0x40(r1)
addi r1, r1, 0x48
mtlr r0
blr
*/
}
/*
* --INFO--
* Address: 800A3C38
* Size: 000024
*/
void SeConstant::read(RandomAccessStream&)
{
/*
.loc_0x0:
mflr r0
addi r3, r3, 0x20
stw r0, 0x4(r1)
stwu r1, -0x8(r1)
bl -0x450B0
lwz r0, 0xC(r1)
addi r1, r1, 0x8
mtlr r0
blr
*/
}
SeConstant::SeConstant() { load("parms/", "sound.bin", 1); }

View File

@ -1,4 +1,4 @@
#include "types.h"
#include "SoundMgr.h"
/*
* --INFO--

View File

@ -1,4 +1,5 @@
#include "types.h"
#include "SoundMgr.h"
#include "Boss.h"
/*
* --INFO--
@ -1872,7 +1873,7 @@ void SeSystem::update(Graphics&, Vector3f&)
* Address: 800A51C0
* Size: 000008
*/
u32 Boss::isBossBgm() { return 0x0; }
bool Boss::isBossBgm() { return false; }
/*
* --INFO--

View File

@ -1,4 +1,4 @@
#include "types.h"
#include "UfoItem.h"
/*
* --INFO--
@ -25,7 +25,7 @@ static void _Print(char*, ...)
* Address: 800E7018
* Size: 0000B4
*/
void UfoItem::insideSafeArea(Vector3f&)
bool UfoItem::insideSafeArea(Vector3f&)
{
/*
.loc_0x0:
@ -1928,7 +1928,7 @@ void UfoItem::animationKeyUpdated(PaniAnimKeyEvent&)
* Address: 800E86FC
* Size: 000008
*/
u32 UfoItem::needShadow() { return 0x0; }
bool UfoItem::needShadow() { return false; }
/*
* --INFO--
@ -2089,7 +2089,7 @@ UfoItem::Spot::Spot()
* Address: 800E890C
* Size: 000008
*/
u32 UfoItem::ignoreAtari(Creature*) { return 0x0; }
bool UfoItem::ignoreAtari(Creature*) { return false; }
/*
* --INFO--
@ -2361,7 +2361,7 @@ void UfoItem::startAI(int)
* Address: 800E8C90
* Size: 000008
*/
void UfoItem::getSize()
f32 UfoItem::getSize()
{
/*
.loc_0x0:
@ -2375,7 +2375,7 @@ void UfoItem::getSize()
* Address: 800E8C98
* Size: 000008
*/
void UfoItem::getiMass()
f32 UfoItem::getiMass()
{
/*
.loc_0x0:
@ -3242,25 +3242,11 @@ void UfoItem::getRouteIndex()
* Address: 800E9794
* Size: 000008
*/
u32 UfoItem::isVisible() { return 0x1; }
bool UfoItem::isVisible() { return true; }
/*
* --INFO--
* Address: 800E979C
* Size: 000008
*/
u32 UfoItem::isAlive() { return 0x1; }
/*
* --INFO--
* Address: 800E97A4
* Size: 000008
*/
void UfoItem::@696 @animationKeyUpdated(PaniAnimKeyEvent&)
{
/*
.loc_0x0:
subi r3, r3, 0x2B8
b -0x1500
*/
}
bool UfoItem::isAlive() { return true; }

View File

@ -1,4 +1,11 @@
#include "types.h"
#include "UpdateMgr.h"
#include "sysNew.h"
UpdateMgr* pikiUpdateMgr;
UpdateMgr* searchUpdateMgr;
UpdateMgr* pikiLookUpdateMgr;
UpdateMgr* pikiOptUpdateMgr;
UpdateMgr* tekiOptUpdateMgr;
/*
* --INFO--
@ -27,14 +34,8 @@ static void _Print(char*, ...)
*/
UpdateContext::UpdateContext()
{
/*
.loc_0x0:
li r0, 0
stw r0, 0x0(r3)
li r0, -0x1
stw r0, 0x4(r3)
blr
*/
mMgr = nullptr;
mMgrSlotIndex = -1;
}
/*
@ -42,36 +43,17 @@ UpdateContext::UpdateContext()
* Address: 800A5458
* Size: 00004C
*/
void UpdateContext::updatable()
bool UpdateContext::updatable()
{
/*
.loc_0x0:
mflr r0
mr r4, r3
stw r0, 0x4(r1)
stwu r1, -0x8(r1)
lwz r3, 0x0(r3)
cmplwi r3, 0
bne- .loc_0x24
li r3, 0
b .loc_0x3C
if (!mMgr) {
return false;
}
.loc_0x24:
bl 0xE4
rlwinm. r0,r3,0,24,31
beq- .loc_0x38
li r3, 0x1
b .loc_0x3C
if (mMgr->updatable(this)) {
return true;
}
.loc_0x38:
li r3, 0
.loc_0x3C:
lwz r0, 0xC(r1)
addi r1, r1, 0x8
mtlr r0
blr
*/
return false;
}
/*
@ -79,23 +61,10 @@ void UpdateContext::updatable()
* Address: 800A54A4
* Size: 000030
*/
void UpdateContext::init(UpdateMgr*)
void UpdateContext::init(UpdateMgr* mgr)
{
/*
.loc_0x0:
mflr r0
mr r5, r3
stw r0, 0x4(r1)
stwu r1, -0x8(r1)
stw r4, 0x0(r3)
addi r3, r4, 0
addi r4, r5, 0
bl 0x164
lwz r0, 0xC(r1)
addi r1, r1, 0x8
mtlr r0
blr
*/
mMgr = mgr;
mgr->addClient(this);
}
/*
@ -105,30 +74,11 @@ void UpdateContext::init(UpdateMgr*)
*/
void UpdateContext::exit()
{
/*
.loc_0x0:
mflr r0
stw r0, 0x4(r1)
stwu r1, -0x18(r1)
stw r31, 0x14(r1)
mr r31, r3
lwz r3, 0x0(r3)
cmplwi r3, 0
beq- .loc_0x30
mr r4, r31
bl 0x1BC
li r0, 0
stw r0, 0x0(r31)
.loc_0x30:
li r0, 0
stb r0, 0x8(r31)
lwz r0, 0x1C(r1)
lwz r31, 0x14(r1)
addi r1, r1, 0x18
mtlr r0
blr
*/
if (mMgr) {
mMgr->removeClient(this);
mMgr = nullptr;
}
mIsActive = false;
}
/*
@ -138,16 +88,11 @@ void UpdateContext::exit()
*/
UpdateMgr::UpdateMgr()
{
/*
.loc_0x0:
li r0, 0
stw r0, 0x8(r3)
stw r0, 0xC(r3)
stw r0, 0x0(r3)
stw r0, 0x4(r3)
stw r0, 0x10(r3)
blr
*/
mClientSlotList = nullptr;
mActiveClientSlotList = nullptr;
mSlotCount = 0;
mClientCount = 0;
mCurrentIndex = 0;
}
/*
@ -157,18 +102,9 @@ UpdateMgr::UpdateMgr()
*/
void UpdateMgr::update()
{
/*
.loc_0x0:
lwz r4, 0x10(r3)
addi r4, r4, 0x1
stw r4, 0x10(r3)
lwz r0, 0x0(r3)
cmpw r4, r0
bltlr-
li r0, 0
stw r0, 0x10(r3)
blr
*/
if (++mCurrentIndex >= mSlotCount) {
mCurrentIndex = 0;
}
}
/*
@ -176,27 +112,17 @@ void UpdateMgr::update()
* Address: 800A5560
* Size: 000030
*/
void UpdateMgr::updatable(UpdateContext*)
bool UpdateMgr::updatable(UpdateContext* client)
{
/*
.loc_0x0:
cmplwi r4, 0
bne- .loc_0x10
li r3, 0
blr
if (!client) {
return false;
}
.loc_0x10:
lwz r4, 0x4(r4)
lwz r0, 0x10(r3)
cmpw r4, r0
bne- .loc_0x28
li r3, 0x1
blr
if (client->mMgrSlotIndex == mCurrentIndex) {
return true;
}
.loc_0x28:
li r3, 0
blr
*/
return false;
}
/*
@ -204,52 +130,22 @@ void UpdateMgr::updatable(UpdateContext*)
* Address: 800A5590
* Size: 000094
*/
void UpdateMgr::create(int)
void UpdateMgr::create(int slotCount)
{
/*
.loc_0x0:
mflr r0
stw r0, 0x4(r1)
stwu r1, -0x18(r1)
stw r31, 0x14(r1)
rlwinm r31,r4,2,0,29
stw r30, 0x10(r1)
addi r30, r3, 0
stw r4, 0x0(r3)
mr r3, r31
bl -0x5E5B0
stw r3, 0x8(r30)
mr r3, r31
bl -0x5E5BC
stw r3, 0xC(r30)
li r4, 0
addi r5, r4, 0
stw r4, 0x4(r30)
li r6, 0
stw r4, 0x10(r30)
b .loc_0x68
mSlotCount = slotCount;
mClientSlotList = new int[slotCount];
mActiveClientSlotList = new int[slotCount];
mClientCount = 0;
mCurrentIndex = 0;
.loc_0x50:
lwz r3, 0x8(r30)
addi r6, r6, 0x1
stwx r4, r3, r5
lwz r3, 0xC(r30)
stwx r4, r3, r5
addi r5, r5, 0x4
// zero all client slot counts
for (int i = 0; i < mSlotCount; i++) {
mClientSlotList[i] = 0;
mActiveClientSlotList[i] = 0;
}
.loc_0x68:
lwz r0, 0x0(r30)
cmpw r6, r0
blt+ .loc_0x50
li r0, 0
stw r0, 0x14(r30)
lwz r0, 0x1C(r1)
lwz r31, 0x14(r1)
lwz r30, 0x10(r1)
addi r1, r1, 0x18
mtlr r0
blr
*/
// no idea what this is
mUnused14 = 0;
}
/*
@ -257,55 +153,34 @@ void UpdateMgr::create(int)
* Address: 800A5624
* Size: 000090
*/
void UpdateMgr::addClient(UpdateContext*)
void UpdateMgr::addClient(UpdateContext* client)
{
/*
.loc_0x0:
lwz r0, 0x0(r3)
li r7, -0x1
li r8, 0x2710
cmpwi r0, 0
mtctr r0
li r9, 0
li r6, 0
ble- .loc_0x44
int slotIdx = -1;
int slotClientNum = 10000;
.loc_0x20:
lwz r5, 0x8(r3)
lwzx r0, r5, r6
cmpw r0, r8
bge- .loc_0x38
addi r7, r9, 0
mr r8, r0
// find index of slot with lowest number of clients
for (int i = 0; i < mSlotCount; i++) {
if (mClientSlotList[i] < slotClientNum) {
slotIdx = i;
slotClientNum = mClientSlotList[i];
}
}
.loc_0x38:
addi r6, r6, 0x4
addi r9, r9, 0x1
bdnz+ .loc_0x20
// no 'free' slot (all >= 10000 clients, or 0 slots)
if (slotIdx == -1) {
return;
}
.loc_0x44:
cmpwi r7, -0x1
beqlr-
stw r7, 0x4(r4)
rlwinm r7,r7,2,0,29
lwz r6, 0x8(r3)
lwzx r5, r6, r7
addi r0, r5, 0x1
stwx r0, r6, r7
lbz r0, 0x8(r4)
cmplwi r0, 0
beq- .loc_0x80
lwz r5, 0xC(r3)
lwzx r4, r5, r7
addi r0, r4, 0x1
stwx r0, r5, r7
// assign client to slot
client->mMgrSlotIndex = slotIdx;
mClientSlotList[slotIdx]++;
.loc_0x80:
lwz r4, 0x4(r3)
addi r0, r4, 0x1
stw r0, 0x4(r3)
blr
*/
// if client is active, assign to active slot as well
if (client->mIsActive) {
mActiveClientSlotList[slotIdx]++;
}
mClientCount++;
}
/*
@ -313,38 +188,24 @@ void UpdateMgr::addClient(UpdateContext*)
* Address: 800A56B4
* Size: 00005C
*/
void UpdateMgr::removeClient(UpdateContext*)
void UpdateMgr::removeClient(UpdateContext* client)
{
/*
.loc_0x0:
lwz r5, 0x4(r4)
cmpwi r5, 0
blt- .loc_0x14
lwz r0, 0x0(r3)
cmpw r5, r0
if (client->mMgrSlotIndex >= 0) {
// this is probably a leftover from some debug assert
if (client->mMgrSlotIndex > mSlotCount) {
// this is just to force the comparison above to spawn
if (client->mIsActive) {
;
}
}
}
.loc_0x14:
lwz r7, 0x8(r3)
rlwinm r6,r5,2,0,29
lwzx r5, r7, r6
subi r0, r5, 0x1
stwx r0, r7, r6
lbz r0, 0x8(r4)
cmplwi r0, 0
beq- .loc_0x4C
lwz r0, 0x4(r4)
lwz r6, 0xC(r3)
rlwinm r5,r0,2,0,29
lwzx r4, r6, r5
subi r0, r4, 0x1
stwx r0, r6, r5
mClientSlotList[client->mMgrSlotIndex]--;
if (client->mIsActive) {
mActiveClientSlotList[client->mMgrSlotIndex]--;
}
.loc_0x4C:
lwz r4, 0x4(r3)
subi r0, r4, 0x1
stw r0, 0x4(r3)
blr
*/
mClientCount--;
}
/*

View File

@ -1,6 +1,6 @@
#include "King.h"
#include "NsMathF.h"
#include "PaniMotion.h"
#include "PaniAnimator.h"
#include "Collision.h"
#include "Dolphin/rand.h"

View File

@ -1,71 +0,0 @@
#ifndef _CPLATE_H
#define _CPLATE_H
/**
* .obj __vt__6CPlate, global
* .4byte __RTTI__6CPlate
* .4byte 0
* .4byte getCreature__6CPlateFi
* .4byte getFirst__6CPlateFv
* .4byte getNext__6CPlateFi
* .4byte isDone__6CPlateFi
* .4byte __RTTI__6CPlate
* .4byte 0xFFFFFFF8
* .4byte getAgeNodeType__5ANodeFv
* .4byte "@8@read__6CPlateFR18RandomAccessStream"
* .4byte "@8@update__6CPlateFv"
* .4byte draw__4NodeFR8Graphics
* .4byte "@8@render__6CPlateFR8Graphics"
* .4byte concat__4NodeFv
* .4byte concat__4NodeFR3VQS
* .4byte concat__4NodeFR3SRT
* .4byte concat__4NodeFR8Matrix4f
* .4byte getModelMatrix__4NodeFv
* .4byte read__6CPlateFR18RandomAccessStream
* .4byte update__6CPlateFv
* .4byte render__6CPlateFR8Graphics
*/
struct ANode {
virtual void getCreature(int); // _08
virtual void getFirst(); // _0C
virtual void getNext(int); // _10
virtual void isDone(int); // _14
virtual void _18() = 0; // _18
virtual void _1C() = 0; // _1C
virtual void getAgeNodeType(); // _20 (weak)
};
struct Node {
virtual void getCreature(int); // _08
virtual void getFirst(); // _0C
virtual void getNext(int); // _10
virtual void isDone(int); // _14
virtual void _18() = 0; // _18
virtual void _1C() = 0; // _1C
virtual void _20() = 0; // _20
virtual void _24() = 0; // _24
virtual void _28() = 0; // _28
virtual void draw(Graphics&); // _2C
virtual void _30() = 0; // _30
virtual void concat(); // _34 (weak)
virtual void concat(VQS&); // _38 (weak)
virtual void concat(SRT&); // _3C (weak)
virtual void concat(Matrix4f&); // _40 (weak)
virtual void getModelMatrix(); // _44 (weak)
};
/**
* @brief TODO
*/
struct CPlate : public ANode, public Node {
virtual void getCreature(int); // _08
virtual void getFirst(); // _0C
virtual void getNext(int); // _10
virtual void isDone(int); // _14
virtual void read(RandomAccessStream&); // _48
virtual void update(); // _4C
virtual void render(Graphics&); // _50
};
#endif

View File

@ -1,471 +0,0 @@
#ifndef _GOALITEM_H
#define _GOALITEM_H
/**
* .obj __vt__8GoalItem, global
* .4byte __RTTI__8GoalItem
* .4byte 0
* .4byte addCntCallback__12RefCountableFv
* .4byte subCntCallback__12RefCountableFv
* .4byte insideSafeArea__8GoalItemFR8Vector3f
* .4byte platAttachable__8CreatureFv
* .4byte alwaysUpdatePlatform__8CreatureFv
* .4byte doDoAI__8CreatureFv
* .4byte setRouteTracer__8CreatureFP11RouteTracer
* .4byte init__8CreatureFv
* .4byte init__12ItemCreatureFR8Vector3f
* .4byte resetPosition__8CreatureFR8Vector3f
* .4byte initParam__8CreatureFi
* .4byte startAI__8GoalItemFi
* .4byte getiMass__8GoalItemFv
* .4byte getSize__8GoalItemFv
* .4byte getHeight__12ItemCreatureFv
* .4byte getCylinderHeight__8CreatureFv
* .4byte doStore__8CreatureFP11CreatureInf
* .4byte doRestore__8CreatureFP11CreatureInf
* .4byte doSave__8CreatureFR18RandomAccessStream
* .4byte doLoad__8CreatureFR18RandomAccessStream
* .4byte getCentre__8CreatureFv
* .4byte getCentreSize__8CreatureFv
* .4byte getBoundingSphereCentre__8CreatureFv
* .4byte getBoundingSphereRadius__8CreatureFv
* .4byte getShadowPos__8CreatureFv
* .4byte setCentre__8CreatureFR8Vector3f
* .4byte getShadowSize__8CreatureFv
* .4byte isVisible__8GoalItemFv
* .4byte isOrganic__8CreatureFv
* .4byte isTerrible__8CreatureFv
* .4byte isBuried__8CreatureFv
* .4byte isAtari__8CreatureFv
* .4byte isAlive__8GoalItemFv
* .4byte isFixed__8CreatureFv
* .4byte needShadow__8GoalItemFv
* .4byte needFlick__8CreatureFP8Creature
* .4byte ignoreAtari__8GoalItemFP8Creature
* .4byte isFree__8CreatureFv
* .4byte stimulate__12ItemCreatureFR11Interaction
* .4byte sendMsg__8CreatureFP3Msg
* .4byte collisionCallback__10AICreatureFR9CollEvent
* .4byte bounceCallback__10AICreatureFv
* .4byte jumpCallback__8CreatureFv
* .4byte wallCallback__8CreatureFR5PlaneP13DynCollObject
* .4byte offwallCallback__8CreatureFP13DynCollObject
* .4byte stickCallback__8CreatureFP8Creature
* .4byte offstickCallback__8CreatureFP8Creature
* .4byte stickToCallback__8CreatureFP8Creature
* .4byte dump__8CreatureFv
* .4byte startWaterEffect__8CreatureFv
* .4byte finishWaterEffect__8CreatureFv
* .4byte isRopable__8CreatureFv
* .4byte mayIstick__8CreatureFv
* .4byte getFormationPri__8CreatureFv
* .4byte update__8GoalItemFv
* .4byte postUpdate__8CreatureFif
* .4byte stickUpdate__8CreatureFv
* .4byte refresh__8GoalItemFR8Graphics
* .4byte refresh2d__8CreatureFR8Graphics
* .4byte renderAtari__8CreatureFR8Graphics
* .4byte drawShadow__8CreatureFR8Graphics
* .4byte demoDraw__8CreatureFR8GraphicsP8Matrix4f
* .4byte getCatchPos__8CreatureFP8Creature
* .4byte doAI__12ItemCreatureFv
* .4byte doAnimation__12ItemCreatureFv
* .4byte doKill__12ItemCreatureFv
* .4byte exitCourse__8CreatureFv
* .4byte __RTTI__8GoalItem
* .4byte 0xFFFFFD48
* .4byte "@696@animationKeyUpdated__10AICreatureFR16PaniAnimKeyEvent"
* .4byte getCurrState__10AICreatureFv
* .4byte "setCurrState__10AICreatureFP20AState<10AICreature>"
* .4byte playSound__10AICreatureFi
* .4byte playEffect__8GoalItemFi
* .4byte startMotion__12ItemCreatureFi
* .4byte finishMotion__12ItemCreatureFv
* .4byte finishMotion__12ItemCreatureFf
* .4byte startMotion__12ItemCreatureFif
* .4byte getCurrentMotionName__12ItemCreatureFv
* .4byte getCurrentMotionCounter__12ItemCreatureFv
* .4byte getMotionSpeed__12ItemCreatureFv
* .4byte setMotionSpeed__12ItemCreatureFf
* .4byte stopMotion__12ItemCreatureFv
* .4byte animationKeyUpdated__10AICreatureFR16PaniAnimKeyEvent
* .4byte finalSetup__12ItemCreatureFv
* .4byte getGoalPos__8GoalItemFv
* .4byte getGoalPosRadius__8GoalItemFv
* .4byte getSuckPos__8GoalItemFv
* .4byte suckMe__8GoalItemFP6Pellet
* .4byte finishSuck__8SuckableFP6Pellet
* .4byte getRouteIndex__8GoalItemFv
* .4byte __RTTI__8GoalItem
* .4byte 0xFFFFFC38
* .4byte "@968@invoke__8GoalItemFPQ23zen17particleGeneratorPQ23zen11particleMdl"
* .4byte invoke__8GoalItemFPQ23zen17particleGeneratorPQ23zen11particleMdl
*/
struct RefCountable {
virtual void addCntCallback(); // _08 (weak)
virtual void subCntCallback(); // _0C (weak)
};
struct Creature {
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
virtual void insideSafeArea(Vector3f&); // _10
virtual void platAttachable(); // _14 (weak)
virtual void alwaysUpdatePlatform(); // _18
virtual void doDoAI(); // _1C (weak)
virtual void setRouteTracer(RouteTracer*); // _20 (weak)
virtual void init(); // _24
virtual void _28() = 0; // _28
virtual void resetPosition(Vector3f&); // _2C
virtual void initParam(int); // _30 (weak)
virtual void startAI(int); // _34
virtual f32 getiMass(); // _38
virtual void getSize(); // _3C
virtual void _40() = 0; // _40
virtual void getCylinderHeight(); // _44 (weak)
virtual void doStore(CreatureInf*); // _48 (weak)
virtual void doRestore(CreatureInf*); // _4C (weak)
virtual void doSave(RandomAccessStream&); // _50 (weak)
virtual void doLoad(RandomAccessStream&); // _54 (weak)
virtual void getCentre(); // _58
virtual f32 getCentreSize(); // _5C
virtual void getBoundingSphereCentre(); // _60
virtual void getBoundingSphereRadius(); // _64
virtual void getShadowPos(); // _68 (weak)
virtual void setCentre(Vector3f&); // _6C (weak)
virtual void getShadowSize(); // _70
virtual void isVisible(); // _74
virtual void isOrganic(); // _78 (weak)
virtual void isTerrible(); // _7C
virtual void isBuried(); // _80 (weak)
virtual void isAtari(); // _84 (weak)
virtual void isAlive(); // _88
virtual void isFixed(); // _8C (weak)
virtual void needShadow(); // _90
virtual void needFlick(Creature*); // _94 (weak)
virtual void ignoreAtari(Creature*); // _98
virtual void isFree(); // _9C (weak)
virtual void _A0() = 0; // _A0
virtual void sendMsg(Msg*); // _A4 (weak)
virtual void _A8() = 0; // _A8
virtual void _AC() = 0; // _AC
virtual void jumpCallback(); // _B0 (weak)
virtual void wallCallback(Plane&, DynCollObject*); // _B4
virtual void offwallCallback(DynCollObject*); // _B8 (weak)
virtual void stickCallback(Creature*); // _BC (weak)
virtual void offstickCallback(Creature*); // _C0 (weak)
virtual void stickToCallback(Creature*); // _C4 (weak)
virtual void dump(); // _C8 (weak)
virtual void startWaterEffect(); // _CC (weak)
virtual void finishWaterEffect(); // _D0 (weak)
virtual void isRopable(); // _D4 (weak)
virtual void mayIstick(); // _D8 (weak)
virtual void getFormationPri(); // _DC (weak)
virtual void update(); // _E0
virtual void postUpdate(int, float); // _E4
virtual void stickUpdate(); // _E8
virtual void refresh(Graphics&); // _EC
virtual void refresh2d(Graphics&); // _F0 (weak)
virtual void renderAtari(Graphics&); // _F4
virtual void drawShadow(Graphics&); // _F8
virtual void demoDraw(Graphics&, Matrix4f*); // _FC
virtual void getCatchPos(Creature*); // _100
virtual void _104() = 0; // _104
virtual void _108() = 0; // _108
virtual void _10C() = 0; // _10C
virtual void exitCourse(); // _110 (weak)
};
struct ItemCreature {
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
virtual void insideSafeArea(Vector3f&); // _10
virtual void _14() = 0; // _14
virtual void _18() = 0; // _18
virtual void _1C() = 0; // _1C
virtual void _20() = 0; // _20
virtual void _24() = 0; // _24
virtual void init(Vector3f&); // _28
virtual void _2C() = 0; // _2C
virtual void _30() = 0; // _30
virtual void startAI(int); // _34
virtual f32 getiMass(); // _38
virtual void getSize(); // _3C
virtual void getHeight(); // _40
virtual void _44() = 0; // _44
virtual void _48() = 0; // _48
virtual void _4C() = 0; // _4C
virtual void _50() = 0; // _50
virtual void _54() = 0; // _54
virtual void _58() = 0; // _58
virtual void _5C() = 0; // _5C
virtual void _60() = 0; // _60
virtual void _64() = 0; // _64
virtual void _68() = 0; // _68
virtual void _6C() = 0; // _6C
virtual void _70() = 0; // _70
virtual void isVisible(); // _74
virtual void _78() = 0; // _78
virtual void _7C() = 0; // _7C
virtual void _80() = 0; // _80
virtual void _84() = 0; // _84
virtual void isAlive(); // _88
virtual void _8C() = 0; // _8C
virtual void needShadow(); // _90
virtual void _94() = 0; // _94
virtual void ignoreAtari(Creature*); // _98
virtual void _9C() = 0; // _9C
virtual void stimulate(Interaction&); // _A0
virtual void _A4() = 0; // _A4
virtual void _A8() = 0; // _A8
virtual void _AC() = 0; // _AC
virtual void _B0() = 0; // _B0
virtual void _B4() = 0; // _B4
virtual void _B8() = 0; // _B8
virtual void _BC() = 0; // _BC
virtual void _C0() = 0; // _C0
virtual void _C4() = 0; // _C4
virtual void _C8() = 0; // _C8
virtual void _CC() = 0; // _CC
virtual void _D0() = 0; // _D0
virtual void _D4() = 0; // _D4
virtual void _D8() = 0; // _D8
virtual void _DC() = 0; // _DC
virtual void update(); // _E0
virtual void _E4() = 0; // _E4
virtual void _E8() = 0; // _E8
virtual void refresh(Graphics&); // _EC
virtual void _F0() = 0; // _F0
virtual void _F4() = 0; // _F4
virtual void _F8() = 0; // _F8
virtual void _FC() = 0; // _FC
virtual void _100() = 0; // _100
virtual void doAI(); // _104
virtual void doAnimation(); // _108
virtual void doKill(); // _10C
virtual void _110() = 0; // _110
virtual void _114() = 0; // _114
virtual void _118() = 0; // _118
virtual void _11C() = 0; // _11C
virtual void _120() = 0; // _120
virtual void _124() = 0; // _124
virtual void _128() = 0; // _128
virtual void playEffect(int); // _12C
virtual void startMotion(int); // _130
virtual void finishMotion(); // _134
virtual void finishMotion(float); // _138
virtual void startMotion(int, float); // _13C
virtual void getCurrentMotionName(); // _140
virtual void getCurrentMotionCounter(); // _144
virtual void getMotionSpeed(); // _148
virtual void setMotionSpeed(float); // _14C
virtual void stopMotion(); // _150
virtual void _154() = 0; // _154
virtual void finalSetup(); // _158 (weak)
};
struct AICreature {
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
virtual void insideSafeArea(Vector3f&); // _10
virtual void _14() = 0; // _14
virtual void _18() = 0; // _18
virtual void _1C() = 0; // _1C
virtual void _20() = 0; // _20
virtual void _24() = 0; // _24
virtual void _28() = 0; // _28
virtual void _2C() = 0; // _2C
virtual void _30() = 0; // _30
virtual void startAI(int); // _34
virtual f32 getiMass(); // _38
virtual void getSize(); // _3C
virtual void _40() = 0; // _40
virtual void _44() = 0; // _44
virtual void _48() = 0; // _48
virtual void _4C() = 0; // _4C
virtual void _50() = 0; // _50
virtual void _54() = 0; // _54
virtual void _58() = 0; // _58
virtual void _5C() = 0; // _5C
virtual void _60() = 0; // _60
virtual void _64() = 0; // _64
virtual void _68() = 0; // _68
virtual void _6C() = 0; // _6C
virtual void _70() = 0; // _70
virtual void isVisible(); // _74
virtual void _78() = 0; // _78
virtual void _7C() = 0; // _7C
virtual void _80() = 0; // _80
virtual void _84() = 0; // _84
virtual void isAlive(); // _88
virtual void _8C() = 0; // _8C
virtual void needShadow(); // _90
virtual void _94() = 0; // _94
virtual void ignoreAtari(Creature*); // _98
virtual void _9C() = 0; // _9C
virtual void _A0() = 0; // _A0
virtual void _A4() = 0; // _A4
virtual void collisionCallback(CollEvent&); // _A8
virtual void bounceCallback(); // _AC
virtual void _B0() = 0; // _B0
virtual void _B4() = 0; // _B4
virtual void _B8() = 0; // _B8
virtual void _BC() = 0; // _BC
virtual void _C0() = 0; // _C0
virtual void _C4() = 0; // _C4
virtual void _C8() = 0; // _C8
virtual void _CC() = 0; // _CC
virtual void _D0() = 0; // _D0
virtual void _D4() = 0; // _D4
virtual void _D8() = 0; // _D8
virtual void _DC() = 0; // _DC
virtual void update(); // _E0
virtual void _E4() = 0; // _E4
virtual void _E8() = 0; // _E8
virtual void refresh(Graphics&); // _EC
virtual void _F0() = 0; // _F0
virtual void _F4() = 0; // _F4
virtual void _F8() = 0; // _F8
virtual void _FC() = 0; // _FC
virtual void _100() = 0; // _100
virtual void _104() = 0; // _104
virtual void _108() = 0; // _108
virtual void _10C() = 0; // _10C
virtual void _110() = 0; // _110
virtual void _114() = 0; // _114
virtual void _118() = 0; // _118
virtual void _11C() = 0; // _11C
virtual void getCurrState(); // _120 (weak)
virtual void setCurrState(AState<AICreature>*); // _124 (weak)
virtual void playSound(int); // _128 (weak)
virtual void playEffect(int); // _12C
virtual void _130() = 0; // _130
virtual void _134() = 0; // _134
virtual void _138() = 0; // _138
virtual void _13C() = 0; // _13C
virtual void _140() = 0; // _140
virtual void _144() = 0; // _144
virtual void _148() = 0; // _148
virtual void _14C() = 0; // _14C
virtual void _150() = 0; // _150
virtual void animationKeyUpdated(PaniAnimKeyEvent&); // _154 (weak)
};
struct Suckable {
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
virtual void insideSafeArea(Vector3f&); // _10
virtual void _14() = 0; // _14
virtual void _18() = 0; // _18
virtual void _1C() = 0; // _1C
virtual void _20() = 0; // _20
virtual void _24() = 0; // _24
virtual void _28() = 0; // _28
virtual void _2C() = 0; // _2C
virtual void _30() = 0; // _30
virtual void startAI(int); // _34
virtual f32 getiMass(); // _38
virtual void getSize(); // _3C
virtual void _40() = 0; // _40
virtual void _44() = 0; // _44
virtual void _48() = 0; // _48
virtual void _4C() = 0; // _4C
virtual void _50() = 0; // _50
virtual void _54() = 0; // _54
virtual void _58() = 0; // _58
virtual void _5C() = 0; // _5C
virtual void _60() = 0; // _60
virtual void _64() = 0; // _64
virtual void _68() = 0; // _68
virtual void _6C() = 0; // _6C
virtual void _70() = 0; // _70
virtual void isVisible(); // _74
virtual void _78() = 0; // _78
virtual void _7C() = 0; // _7C
virtual void _80() = 0; // _80
virtual void _84() = 0; // _84
virtual void isAlive(); // _88
virtual void _8C() = 0; // _8C
virtual void needShadow(); // _90
virtual void _94() = 0; // _94
virtual void ignoreAtari(Creature*); // _98
virtual void _9C() = 0; // _9C
virtual void _A0() = 0; // _A0
virtual void _A4() = 0; // _A4
virtual void _A8() = 0; // _A8
virtual void _AC() = 0; // _AC
virtual void _B0() = 0; // _B0
virtual void _B4() = 0; // _B4
virtual void _B8() = 0; // _B8
virtual void _BC() = 0; // _BC
virtual void _C0() = 0; // _C0
virtual void _C4() = 0; // _C4
virtual void _C8() = 0; // _C8
virtual void _CC() = 0; // _CC
virtual void _D0() = 0; // _D0
virtual void _D4() = 0; // _D4
virtual void _D8() = 0; // _D8
virtual void _DC() = 0; // _DC
virtual void update(); // _E0
virtual void _E4() = 0; // _E4
virtual void _E8() = 0; // _E8
virtual void refresh(Graphics&); // _EC
virtual void _F0() = 0; // _F0
virtual void _F4() = 0; // _F4
virtual void _F8() = 0; // _F8
virtual void _FC() = 0; // _FC
virtual void _100() = 0; // _100
virtual void _104() = 0; // _104
virtual void _108() = 0; // _108
virtual void _10C() = 0; // _10C
virtual void _110() = 0; // _110
virtual void _114() = 0; // _114
virtual void _118() = 0; // _118
virtual void _11C() = 0; // _11C
virtual void _120() = 0; // _120
virtual void _124() = 0; // _124
virtual void _128() = 0; // _128
virtual void playEffect(int); // _12C
virtual void _130() = 0; // _130
virtual void _134() = 0; // _134
virtual void _138() = 0; // _138
virtual void _13C() = 0; // _13C
virtual void _140() = 0; // _140
virtual void _144() = 0; // _144
virtual void _148() = 0; // _148
virtual void _14C() = 0; // _14C
virtual void _150() = 0; // _150
virtual void _154() = 0; // _154
virtual void _158() = 0; // _158
virtual void getGoalPos(); // _15C
virtual void getGoalPosRadius(); // _160
virtual void getSuckPos(); // _164
virtual void suckMe(Pellet*); // _168
virtual void finishSuck(Pellet*); // _16C (weak)
};
/**
* @brief TODO
*/
struct GoalItem : public RefCountable, public Creature, public ItemCreature, public AICreature, public Suckable {
virtual void insideSafeArea(Vector3f&); // _10
virtual void startAI(int); // _34
virtual f32 getiMass(); // _38
virtual void getSize(); // _3C
virtual void isVisible(); // _74
virtual void isAlive(); // _88
virtual void needShadow(); // _90
virtual void ignoreAtari(Creature*); // _98
virtual void update(); // _E0
virtual void refresh(Graphics&); // _EC
virtual void playEffect(int); // _12C
virtual void getGoalPos(); // _15C
virtual void getGoalPosRadius(); // _160
virtual void getSuckPos(); // _164
virtual void suckMe(Pellet*); // _168
virtual void getRouteIndex(); // _170
virtual void invoke(zen::particleGenerator*, zen::particleMdl*); // _180
};
#endif

View File

@ -1,21 +0,0 @@
#ifndef _GOALITEMPROP_H
#define _GOALITEMPROP_H
/**
* .obj __vt__12GoalItemProp, weak
* .4byte __RTTI__12GoalItemProp
* .4byte 0
* .4byte read__12CreaturePropFR18RandomAccessStream
*/
struct CreatureProp {
virtual void read(RandomAccessStream&); // _08
};
/**
* @brief TODO
*/
struct GoalItemProp : public CreatureProp {
};
#endif

View File

@ -1,29 +0,0 @@
#ifndef _ITEMMGR_USENODE_H
#define _ITEMMGR_USENODE_H
/**
* .obj __vt__Q27ItemMgr7UseNode, weak
* .4byte __RTTI__Q27ItemMgr7UseNode
* .4byte 0
* .4byte getAgeNodeType__5ANodeFv
* .4byte read__8CoreNodeFR18RandomAccessStream
*/
struct ANode {
virtual void getAgeNodeType(); // _08 (weak)
};
struct CoreNode {
virtual void _08() = 0; // _08
virtual void read(RandomAccessStream&); // _0C (weak)
};
namespace ItemMgr {
/**
* @brief TODO
*/
struct UseNode : public ANode, public CoreNode {
};
} // namespace ItemMgr
#endif

View File

@ -1,28 +0,0 @@
#ifndef _PELLETANIMINFO_H
#define _PELLETANIMINFO_H
/**
* .obj __vt__14PelletAnimInfo, global
* .4byte __RTTI__14PelletAnimInfo
* .4byte 0
* .4byte __RTTI__14PelletAnimInfo
* .4byte 0xFFFFFFFC
* .4byte getAgeNodeType__5ANodeFv
* .4byte "@4@read__14PelletAnimInfoFR18RandomAccessStream"
* .4byte read__14PelletAnimInfoFR18RandomAccessStream
*/
struct ANode {
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
virtual void getAgeNodeType(); // _10 (weak)
};
/**
* @brief TODO
*/
struct PelletAnimInfo : public ANode {
virtual void read(RandomAccessStream&); // _18
};
#endif

View File

@ -1,76 +0,0 @@
#ifndef _PELLETAPPEARSTATE_H
#define _PELLETAPPEARSTATE_H
/**
* .obj __vt__17PelletAppearState, global
* .4byte __RTTI__17PelletAppearState
* .4byte 0
* .4byte "procMsg__17Receiver<6Pellet>FP6PelletP3Msg"
* .4byte procBounceMsg__17PelletAppearStateFP6PelletP9MsgBounce
* .4byte "procStickMsg__17Receiver<6Pellet>FP6PelletP8MsgStick"
* .4byte "procHangMsg__17Receiver<6Pellet>FP6PelletP7MsgHang"
* .4byte "procTargetMsg__17Receiver<6Pellet>FP6PelletP9MsgTarget"
* .4byte "procCollideMsg__17Receiver<6Pellet>FP6PelletP10MsgCollide"
* .4byte "procAnimMsg__17Receiver<6Pellet>FP6PelletP7MsgAnim"
* .4byte "procDamageMsg__17Receiver<6Pellet>FP6PelletP9MsgDamage"
* .4byte "procWallMsg__17Receiver<6Pellet>FP6PelletP7MsgWall"
* .4byte "procOffWallMsg__17Receiver<6Pellet>FP6PelletP10MsgOffWall"
* .4byte "procUserMsg__17Receiver<6Pellet>FP6PelletP7MsgUser"
* .4byte "procGroundMsg__17Receiver<6Pellet>FP6PelletP9MsgGround"
* .4byte init__17PelletAppearStateFP6Pellet
* .4byte exec__17PelletAppearStateFP6Pellet
* .4byte cleanup__17PelletAppearStateFP6Pellet
* .4byte "resume__15AState<6Pellet>FP6Pellet"
* .4byte "restart__15AState<6Pellet>FP6Pellet"
* .4byte "transit__15AState<6Pellet>FP6Pelleti"
*/
struct Receiver<Pellet> {
virtual void procMsg(Pellet*, Msg*); // _08 (weak)
virtual void procBounceMsg(Pellet*, MsgBounce*); // _0C
virtual void procStickMsg(Pellet*, MsgStick*); // _10 (weak)
virtual void procHangMsg(Pellet*, MsgHang*); // _14 (weak)
virtual void procTargetMsg(Pellet*, MsgTarget*); // _18 (weak)
virtual void procCollideMsg(Pellet*, MsgCollide*); // _1C (weak)
virtual void procAnimMsg(Pellet*, MsgAnim*); // _20 (weak)
virtual void procDamageMsg(Pellet*, MsgDamage*); // _24 (weak)
virtual void procWallMsg(Pellet*, MsgWall*); // _28 (weak)
virtual void procOffWallMsg(Pellet*, MsgOffWall*); // _2C (weak)
virtual void procUserMsg(Pellet*, MsgUser*); // _30 (weak)
virtual void procGroundMsg(Pellet*, MsgGround*); // _34 (weak)
};
struct AState<Pellet> {
virtual void _08() = 0; // _08
virtual void procBounceMsg(Pellet*, MsgBounce*); // _0C
virtual void _10() = 0; // _10
virtual void _14() = 0; // _14
virtual void _18() = 0; // _18
virtual void _1C() = 0; // _1C
virtual void _20() = 0; // _20
virtual void _24() = 0; // _24
virtual void _28() = 0; // _28
virtual void _2C() = 0; // _2C
virtual void _30() = 0; // _30
virtual void _34() = 0; // _34
virtual void init(Pellet*); // _38
virtual void exec(Pellet*); // _3C
virtual void cleanup(Pellet*); // _40
virtual void resume(Pellet*); // _44 (weak)
virtual void restart(Pellet*); // _48 (weak)
virtual void transit(Pellet*, int); // _4C (weak)
};
/**
* @brief TODO
*/
struct PelletAppearState : public Receiver<Pellet>, public AState<Pellet> {
virtual void procBounceMsg(Pellet*, MsgBounce*); // _0C
virtual void init(Pellet*); // _38
virtual void exec(Pellet*); // _3C
virtual void cleanup(Pellet*); // _40
PelletAppearState();
};
#endif

View File

@ -1,75 +0,0 @@
#ifndef _PELLETDEADSTATE_H
#define _PELLETDEADSTATE_H
/**
* .obj __vt__15PelletDeadState, global
* .4byte __RTTI__15PelletDeadState
* .4byte 0
* .4byte "procMsg__17Receiver<6Pellet>FP6PelletP3Msg"
* .4byte "procBounceMsg__17Receiver<6Pellet>FP6PelletP9MsgBounce"
* .4byte "procStickMsg__17Receiver<6Pellet>FP6PelletP8MsgStick"
* .4byte "procHangMsg__17Receiver<6Pellet>FP6PelletP7MsgHang"
* .4byte "procTargetMsg__17Receiver<6Pellet>FP6PelletP9MsgTarget"
* .4byte "procCollideMsg__17Receiver<6Pellet>FP6PelletP10MsgCollide"
* .4byte "procAnimMsg__17Receiver<6Pellet>FP6PelletP7MsgAnim"
* .4byte "procDamageMsg__17Receiver<6Pellet>FP6PelletP9MsgDamage"
* .4byte "procWallMsg__17Receiver<6Pellet>FP6PelletP7MsgWall"
* .4byte "procOffWallMsg__17Receiver<6Pellet>FP6PelletP10MsgOffWall"
* .4byte "procUserMsg__17Receiver<6Pellet>FP6PelletP7MsgUser"
* .4byte "procGroundMsg__17Receiver<6Pellet>FP6PelletP9MsgGround"
* .4byte init__15PelletDeadStateFP6Pellet
* .4byte exec__15PelletDeadStateFP6Pellet
* .4byte cleanup__15PelletDeadStateFP6Pellet
* .4byte "resume__15AState<6Pellet>FP6Pellet"
* .4byte "restart__15AState<6Pellet>FP6Pellet"
* .4byte "transit__15AState<6Pellet>FP6Pelleti"
*/
struct Receiver<Pellet> {
virtual void procMsg(Pellet*, Msg*); // _08 (weak)
virtual void procBounceMsg(Pellet*, MsgBounce*); // _0C (weak)
virtual void procStickMsg(Pellet*, MsgStick*); // _10 (weak)
virtual void procHangMsg(Pellet*, MsgHang*); // _14 (weak)
virtual void procTargetMsg(Pellet*, MsgTarget*); // _18 (weak)
virtual void procCollideMsg(Pellet*, MsgCollide*); // _1C (weak)
virtual void procAnimMsg(Pellet*, MsgAnim*); // _20 (weak)
virtual void procDamageMsg(Pellet*, MsgDamage*); // _24 (weak)
virtual void procWallMsg(Pellet*, MsgWall*); // _28 (weak)
virtual void procOffWallMsg(Pellet*, MsgOffWall*); // _2C (weak)
virtual void procUserMsg(Pellet*, MsgUser*); // _30 (weak)
virtual void procGroundMsg(Pellet*, MsgGround*); // _34 (weak)
};
struct AState<Pellet> {
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
virtual void _10() = 0; // _10
virtual void _14() = 0; // _14
virtual void _18() = 0; // _18
virtual void _1C() = 0; // _1C
virtual void _20() = 0; // _20
virtual void _24() = 0; // _24
virtual void _28() = 0; // _28
virtual void _2C() = 0; // _2C
virtual void _30() = 0; // _30
virtual void _34() = 0; // _34
virtual void init(Pellet*); // _38
virtual void exec(Pellet*); // _3C
virtual void cleanup(Pellet*); // _40
virtual void resume(Pellet*); // _44 (weak)
virtual void restart(Pellet*); // _48 (weak)
virtual void transit(Pellet*, int); // _4C (weak)
};
/**
* @brief TODO
*/
struct PelletDeadState : public Receiver<Pellet>, public AState<Pellet> {
virtual void init(Pellet*); // _38
virtual void exec(Pellet*); // _3C
virtual void cleanup(Pellet*); // _40
PelletDeadState();
};
#endif

View File

@ -1,75 +0,0 @@
#ifndef _PELLETGOALSTATE_H
#define _PELLETGOALSTATE_H
/**
* .obj __vt__15PelletGoalState, global
* .4byte __RTTI__15PelletGoalState
* .4byte 0
* .4byte "procMsg__17Receiver<6Pellet>FP6PelletP3Msg"
* .4byte "procBounceMsg__17Receiver<6Pellet>FP6PelletP9MsgBounce"
* .4byte "procStickMsg__17Receiver<6Pellet>FP6PelletP8MsgStick"
* .4byte "procHangMsg__17Receiver<6Pellet>FP6PelletP7MsgHang"
* .4byte "procTargetMsg__17Receiver<6Pellet>FP6PelletP9MsgTarget"
* .4byte "procCollideMsg__17Receiver<6Pellet>FP6PelletP10MsgCollide"
* .4byte "procAnimMsg__17Receiver<6Pellet>FP6PelletP7MsgAnim"
* .4byte "procDamageMsg__17Receiver<6Pellet>FP6PelletP9MsgDamage"
* .4byte "procWallMsg__17Receiver<6Pellet>FP6PelletP7MsgWall"
* .4byte "procOffWallMsg__17Receiver<6Pellet>FP6PelletP10MsgOffWall"
* .4byte "procUserMsg__17Receiver<6Pellet>FP6PelletP7MsgUser"
* .4byte "procGroundMsg__17Receiver<6Pellet>FP6PelletP9MsgGround"
* .4byte init__15PelletGoalStateFP6Pellet
* .4byte exec__15PelletGoalStateFP6Pellet
* .4byte cleanup__15PelletGoalStateFP6Pellet
* .4byte "resume__15AState<6Pellet>FP6Pellet"
* .4byte "restart__15AState<6Pellet>FP6Pellet"
* .4byte "transit__15AState<6Pellet>FP6Pelleti"
*/
struct Receiver<Pellet> {
virtual void procMsg(Pellet*, Msg*); // _08 (weak)
virtual void procBounceMsg(Pellet*, MsgBounce*); // _0C (weak)
virtual void procStickMsg(Pellet*, MsgStick*); // _10 (weak)
virtual void procHangMsg(Pellet*, MsgHang*); // _14 (weak)
virtual void procTargetMsg(Pellet*, MsgTarget*); // _18 (weak)
virtual void procCollideMsg(Pellet*, MsgCollide*); // _1C (weak)
virtual void procAnimMsg(Pellet*, MsgAnim*); // _20 (weak)
virtual void procDamageMsg(Pellet*, MsgDamage*); // _24 (weak)
virtual void procWallMsg(Pellet*, MsgWall*); // _28 (weak)
virtual void procOffWallMsg(Pellet*, MsgOffWall*); // _2C (weak)
virtual void procUserMsg(Pellet*, MsgUser*); // _30 (weak)
virtual void procGroundMsg(Pellet*, MsgGround*); // _34 (weak)
};
struct AState<Pellet> {
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
virtual void _10() = 0; // _10
virtual void _14() = 0; // _14
virtual void _18() = 0; // _18
virtual void _1C() = 0; // _1C
virtual void _20() = 0; // _20
virtual void _24() = 0; // _24
virtual void _28() = 0; // _28
virtual void _2C() = 0; // _2C
virtual void _30() = 0; // _30
virtual void _34() = 0; // _34
virtual void init(Pellet*); // _38
virtual void exec(Pellet*); // _3C
virtual void cleanup(Pellet*); // _40
virtual void resume(Pellet*); // _44 (weak)
virtual void restart(Pellet*); // _48 (weak)
virtual void transit(Pellet*, int); // _4C (weak)
};
/**
* @brief TODO
*/
struct PelletGoalState : public Receiver<Pellet>, public AState<Pellet> {
virtual void init(Pellet*); // _38
virtual void exec(Pellet*); // _3C
virtual void cleanup(Pellet*); // _40
PelletGoalState();
};
#endif

View File

@ -1,75 +0,0 @@
#ifndef _PELLETNORMALSTATE_H
#define _PELLETNORMALSTATE_H
/**
* .obj __vt__17PelletNormalState, global
* .4byte __RTTI__17PelletNormalState
* .4byte 0
* .4byte "procMsg__17Receiver<6Pellet>FP6PelletP3Msg"
* .4byte "procBounceMsg__17Receiver<6Pellet>FP6PelletP9MsgBounce"
* .4byte "procStickMsg__17Receiver<6Pellet>FP6PelletP8MsgStick"
* .4byte "procHangMsg__17Receiver<6Pellet>FP6PelletP7MsgHang"
* .4byte "procTargetMsg__17Receiver<6Pellet>FP6PelletP9MsgTarget"
* .4byte "procCollideMsg__17Receiver<6Pellet>FP6PelletP10MsgCollide"
* .4byte "procAnimMsg__17Receiver<6Pellet>FP6PelletP7MsgAnim"
* .4byte "procDamageMsg__17Receiver<6Pellet>FP6PelletP9MsgDamage"
* .4byte "procWallMsg__17Receiver<6Pellet>FP6PelletP7MsgWall"
* .4byte "procOffWallMsg__17Receiver<6Pellet>FP6PelletP10MsgOffWall"
* .4byte "procUserMsg__17Receiver<6Pellet>FP6PelletP7MsgUser"
* .4byte "procGroundMsg__17Receiver<6Pellet>FP6PelletP9MsgGround"
* .4byte init__17PelletNormalStateFP6Pellet
* .4byte exec__17PelletNormalStateFP6Pellet
* .4byte cleanup__17PelletNormalStateFP6Pellet
* .4byte "resume__15AState<6Pellet>FP6Pellet"
* .4byte "restart__15AState<6Pellet>FP6Pellet"
* .4byte "transit__15AState<6Pellet>FP6Pelleti"
*/
struct Receiver<Pellet> {
virtual void procMsg(Pellet*, Msg*); // _08 (weak)
virtual void procBounceMsg(Pellet*, MsgBounce*); // _0C (weak)
virtual void procStickMsg(Pellet*, MsgStick*); // _10 (weak)
virtual void procHangMsg(Pellet*, MsgHang*); // _14 (weak)
virtual void procTargetMsg(Pellet*, MsgTarget*); // _18 (weak)
virtual void procCollideMsg(Pellet*, MsgCollide*); // _1C (weak)
virtual void procAnimMsg(Pellet*, MsgAnim*); // _20 (weak)
virtual void procDamageMsg(Pellet*, MsgDamage*); // _24 (weak)
virtual void procWallMsg(Pellet*, MsgWall*); // _28 (weak)
virtual void procOffWallMsg(Pellet*, MsgOffWall*); // _2C (weak)
virtual void procUserMsg(Pellet*, MsgUser*); // _30 (weak)
virtual void procGroundMsg(Pellet*, MsgGround*); // _34 (weak)
};
struct AState<Pellet> {
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
virtual void _10() = 0; // _10
virtual void _14() = 0; // _14
virtual void _18() = 0; // _18
virtual void _1C() = 0; // _1C
virtual void _20() = 0; // _20
virtual void _24() = 0; // _24
virtual void _28() = 0; // _28
virtual void _2C() = 0; // _2C
virtual void _30() = 0; // _30
virtual void _34() = 0; // _34
virtual void init(Pellet*); // _38
virtual void exec(Pellet*); // _3C
virtual void cleanup(Pellet*); // _40
virtual void resume(Pellet*); // _44 (weak)
virtual void restart(Pellet*); // _48 (weak)
virtual void transit(Pellet*, int); // _4C (weak)
};
/**
* @brief TODO
*/
struct PelletNormalState : public Receiver<Pellet>, public AState<Pellet> {
virtual void init(Pellet*); // _38
virtual void exec(Pellet*); // _3C
virtual void cleanup(Pellet*); // _40
PelletNormalState();
};
#endif

View File

@ -1,70 +0,0 @@
#ifndef _PELLETSTATE_H
#define _PELLETSTATE_H
/**
* .obj __vt__11PelletState, weak
* .4byte __RTTI__11PelletState
* .4byte 0
* .4byte "procMsg__17Receiver<6Pellet>FP6PelletP3Msg"
* .4byte "procBounceMsg__17Receiver<6Pellet>FP6PelletP9MsgBounce"
* .4byte "procStickMsg__17Receiver<6Pellet>FP6PelletP8MsgStick"
* .4byte "procHangMsg__17Receiver<6Pellet>FP6PelletP7MsgHang"
* .4byte "procTargetMsg__17Receiver<6Pellet>FP6PelletP9MsgTarget"
* .4byte "procCollideMsg__17Receiver<6Pellet>FP6PelletP10MsgCollide"
* .4byte "procAnimMsg__17Receiver<6Pellet>FP6PelletP7MsgAnim"
* .4byte "procDamageMsg__17Receiver<6Pellet>FP6PelletP9MsgDamage"
* .4byte "procWallMsg__17Receiver<6Pellet>FP6PelletP7MsgWall"
* .4byte "procOffWallMsg__17Receiver<6Pellet>FP6PelletP10MsgOffWall"
* .4byte "procUserMsg__17Receiver<6Pellet>FP6PelletP7MsgUser"
* .4byte "procGroundMsg__17Receiver<6Pellet>FP6PelletP9MsgGround"
* .4byte "init__15AState<6Pellet>FP6Pellet"
* .4byte "exec__15AState<6Pellet>FP6Pellet"
* .4byte "cleanup__15AState<6Pellet>FP6Pellet"
* .4byte "resume__15AState<6Pellet>FP6Pellet"
* .4byte "restart__15AState<6Pellet>FP6Pellet"
* .4byte "transit__15AState<6Pellet>FP6Pelleti"
*/
struct Receiver<Pellet> {
virtual void procMsg(Pellet*, Msg*); // _08 (weak)
virtual void procBounceMsg(Pellet*, MsgBounce*); // _0C (weak)
virtual void procStickMsg(Pellet*, MsgStick*); // _10 (weak)
virtual void procHangMsg(Pellet*, MsgHang*); // _14 (weak)
virtual void procTargetMsg(Pellet*, MsgTarget*); // _18 (weak)
virtual void procCollideMsg(Pellet*, MsgCollide*); // _1C (weak)
virtual void procAnimMsg(Pellet*, MsgAnim*); // _20 (weak)
virtual void procDamageMsg(Pellet*, MsgDamage*); // _24 (weak)
virtual void procWallMsg(Pellet*, MsgWall*); // _28 (weak)
virtual void procOffWallMsg(Pellet*, MsgOffWall*); // _2C (weak)
virtual void procUserMsg(Pellet*, MsgUser*); // _30 (weak)
virtual void procGroundMsg(Pellet*, MsgGround*); // _34 (weak)
};
struct AState<Pellet> {
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
virtual void _10() = 0; // _10
virtual void _14() = 0; // _14
virtual void _18() = 0; // _18
virtual void _1C() = 0; // _1C
virtual void _20() = 0; // _20
virtual void _24() = 0; // _24
virtual void _28() = 0; // _28
virtual void _2C() = 0; // _2C
virtual void _30() = 0; // _30
virtual void _34() = 0; // _34
virtual void init(Pellet*); // _38 (weak)
virtual void exec(Pellet*); // _3C (weak)
virtual void cleanup(Pellet*); // _40 (weak)
virtual void resume(Pellet*); // _44 (weak)
virtual void restart(Pellet*); // _48 (weak)
virtual void transit(Pellet*, int); // _4C (weak)
};
/**
* @brief TODO
*/
struct PelletState : public Receiver<Pellet>, public AState<Pellet> {
};
#endif

View File

@ -1,28 +0,0 @@
#ifndef _PELLETSTATEMACHINE_H
#define _PELLETSTATEMACHINE_H
/**
* .obj __vt__18PelletStateMachine, global
* .4byte __RTTI__18PelletStateMachine
* .4byte 0
* .4byte init__18PelletStateMachineFP6Pellet
* .4byte "exec__21StateMachine<6Pellet>FP6Pellet"
* .4byte "procMsg__21StateMachine<6Pellet>FP6PelletP3Msg"
* .4byte "transit__21StateMachine<6Pellet>FP6Pelleti"
*/
struct StateMachine<Pellet> {
virtual void init(Pellet*); // _08
virtual void exec(Pellet*); // _0C (weak)
virtual void procMsg(Pellet*, Msg*); // _10 (weak)
virtual void transit(Pellet*, int); // _14 (weak)
};
/**
* @brief TODO
*/
struct PelletStateMachine : public StateMachine<Pellet> {
virtual void init(Pellet*); // _08
};
#endif

View File

@ -1,75 +0,0 @@
#ifndef _PELLETSWALLOWEDSTATE_H
#define _PELLETSWALLOWEDSTATE_H
/**
* .obj __vt__20PelletSwallowedState, global
* .4byte __RTTI__20PelletSwallowedState
* .4byte 0
* .4byte "procMsg__17Receiver<6Pellet>FP6PelletP3Msg"
* .4byte "procBounceMsg__17Receiver<6Pellet>FP6PelletP9MsgBounce"
* .4byte "procStickMsg__17Receiver<6Pellet>FP6PelletP8MsgStick"
* .4byte "procHangMsg__17Receiver<6Pellet>FP6PelletP7MsgHang"
* .4byte "procTargetMsg__17Receiver<6Pellet>FP6PelletP9MsgTarget"
* .4byte "procCollideMsg__17Receiver<6Pellet>FP6PelletP10MsgCollide"
* .4byte "procAnimMsg__17Receiver<6Pellet>FP6PelletP7MsgAnim"
* .4byte "procDamageMsg__17Receiver<6Pellet>FP6PelletP9MsgDamage"
* .4byte "procWallMsg__17Receiver<6Pellet>FP6PelletP7MsgWall"
* .4byte "procOffWallMsg__17Receiver<6Pellet>FP6PelletP10MsgOffWall"
* .4byte "procUserMsg__17Receiver<6Pellet>FP6PelletP7MsgUser"
* .4byte "procGroundMsg__17Receiver<6Pellet>FP6PelletP9MsgGround"
* .4byte init__20PelletSwallowedStateFP6Pellet
* .4byte exec__20PelletSwallowedStateFP6Pellet
* .4byte cleanup__20PelletSwallowedStateFP6Pellet
* .4byte "resume__15AState<6Pellet>FP6Pellet"
* .4byte "restart__15AState<6Pellet>FP6Pellet"
* .4byte "transit__15AState<6Pellet>FP6Pelleti"
*/
struct Receiver<Pellet> {
virtual void procMsg(Pellet*, Msg*); // _08 (weak)
virtual void procBounceMsg(Pellet*, MsgBounce*); // _0C (weak)
virtual void procStickMsg(Pellet*, MsgStick*); // _10 (weak)
virtual void procHangMsg(Pellet*, MsgHang*); // _14 (weak)
virtual void procTargetMsg(Pellet*, MsgTarget*); // _18 (weak)
virtual void procCollideMsg(Pellet*, MsgCollide*); // _1C (weak)
virtual void procAnimMsg(Pellet*, MsgAnim*); // _20 (weak)
virtual void procDamageMsg(Pellet*, MsgDamage*); // _24 (weak)
virtual void procWallMsg(Pellet*, MsgWall*); // _28 (weak)
virtual void procOffWallMsg(Pellet*, MsgOffWall*); // _2C (weak)
virtual void procUserMsg(Pellet*, MsgUser*); // _30 (weak)
virtual void procGroundMsg(Pellet*, MsgGround*); // _34 (weak)
};
struct AState<Pellet> {
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
virtual void _10() = 0; // _10
virtual void _14() = 0; // _14
virtual void _18() = 0; // _18
virtual void _1C() = 0; // _1C
virtual void _20() = 0; // _20
virtual void _24() = 0; // _24
virtual void _28() = 0; // _28
virtual void _2C() = 0; // _2C
virtual void _30() = 0; // _30
virtual void _34() = 0; // _34
virtual void init(Pellet*); // _38
virtual void exec(Pellet*); // _3C
virtual void cleanup(Pellet*); // _40
virtual void resume(Pellet*); // _44 (weak)
virtual void restart(Pellet*); // _48 (weak)
virtual void transit(Pellet*, int); // _4C (weak)
};
/**
* @brief TODO
*/
struct PelletSwallowedState : public Receiver<Pellet>, public AState<Pellet> {
virtual void init(Pellet*); // _38
virtual void exec(Pellet*); // _3C
virtual void cleanup(Pellet*); // _40
PelletSwallowedState();
};
#endif

View File

@ -1,46 +0,0 @@
#ifndef _SECONSTANT_H
#define _SECONSTANT_H
/**
* .obj __vt__10SeConstant, weak
* .4byte __RTTI__10SeConstant
* .4byte 0
* .4byte getAgeNodeType__5ANodeFv
* .4byte read__10SeConstantFR18RandomAccessStream
* .4byte update__4NodeFv
* .4byte draw__4NodeFR8Graphics
* .4byte render__4NodeFR8Graphics
* .4byte concat__4NodeFv
* .4byte concat__4NodeFR3VQS
* .4byte concat__4NodeFR3SRT
* .4byte concat__4NodeFR8Matrix4f
* .4byte getModelMatrix__4NodeFv
*/
struct ANode {
virtual void getAgeNodeType(); // _08 (weak)
};
struct Node {
virtual void _08() = 0; // _08
virtual void read(RandomAccessStream&); // _0C (weak)
virtual void update(); // _10
virtual void draw(Graphics&); // _14
virtual void render(Graphics&); // _18
virtual void concat(); // _1C (weak)
virtual void concat(VQS&); // _20 (weak)
virtual void concat(SRT&); // _24 (weak)
virtual void concat(Matrix4f&); // _28 (weak)
virtual void getModelMatrix(); // _2C (weak)
};
/**
* @brief TODO
*/
struct SeConstant : public ANode, public Node {
virtual void read(RandomAccessStream&); // _0C (weak)
SeConstant();
};
#endif

View File

@ -1,11 +0,0 @@
#ifndef _SECONTEXT_H
#define _SECONTEXT_H
/*
* @brief TODO
*/
struct SeContext {
SeContext();
};
#endif

View File

@ -1,51 +0,0 @@
#ifndef _SEMGR_H
#define _SEMGR_H
/**
* .obj __vt__5SeMgr, global
* .4byte __RTTI__5SeMgr
* .4byte 0
* .4byte getAgeNodeType__5ANodeFv
* .4byte read__8CoreNodeFR18RandomAccessStream
* .4byte update__5SeMgrFv
* .4byte draw__4NodeFR8Graphics
* .4byte render__4NodeFR8Graphics
* .4byte concat__4NodeFv
* .4byte concat__4NodeFR3VQS
* .4byte concat__4NodeFR3SRT
* .4byte concat__4NodeFR8Matrix4f
* .4byte getModelMatrix__4NodeFv
*/
struct ANode {
virtual void getAgeNodeType(); // _08 (weak)
};
struct CoreNode {
virtual void _08() = 0; // _08
virtual void read(RandomAccessStream&); // _0C (weak)
};
struct Node {
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
virtual void update(); // _10
virtual void draw(Graphics&); // _14
virtual void render(Graphics&); // _18
virtual void concat(); // _1C (weak)
virtual void concat(VQS&); // _20 (weak)
virtual void concat(SRT&); // _24 (weak)
virtual void concat(Matrix4f&); // _28 (weak)
virtual void getModelMatrix(); // _2C (weak)
};
/**
* @brief TODO
*/
struct SeMgr : public ANode, public CoreNode, public Node {
virtual void update(); // _10
SeMgr();
};
#endif

View File

@ -1,363 +0,0 @@
#ifndef _SUCKABLE_H
#define _SUCKABLE_H
/**
* .obj __vt__8Suckable, weak
* .4byte __RTTI__8Suckable
* .4byte 0
* .4byte addCntCallback__12RefCountableFv
* .4byte subCntCallback__12RefCountableFv
* .4byte insideSafeArea__8CreatureFR8Vector3f
* .4byte platAttachable__8CreatureFv
* .4byte alwaysUpdatePlatform__8CreatureFv
* .4byte doDoAI__8CreatureFv
* .4byte setRouteTracer__8CreatureFP11RouteTracer
* .4byte init__8CreatureFv
* .4byte init__12ItemCreatureFR8Vector3f
* .4byte resetPosition__8CreatureFR8Vector3f
* .4byte initParam__8CreatureFi
* .4byte startAI__8CreatureFi
* .4byte getiMass__8CreatureFv
* .4byte getSize__8CreatureFv
* .4byte getHeight__12ItemCreatureFv
* .4byte getCylinderHeight__8CreatureFv
* .4byte doStore__8CreatureFP11CreatureInf
* .4byte doRestore__8CreatureFP11CreatureInf
* .4byte doSave__8CreatureFR18RandomAccessStream
* .4byte doLoad__8CreatureFR18RandomAccessStream
* .4byte getCentre__8CreatureFv
* .4byte getCentreSize__8CreatureFv
* .4byte getBoundingSphereCentre__8CreatureFv
* .4byte getBoundingSphereRadius__8CreatureFv
* .4byte getShadowPos__8CreatureFv
* .4byte setCentre__8CreatureFR8Vector3f
* .4byte getShadowSize__8CreatureFv
* .4byte isVisible__8CreatureFv
* .4byte isOrganic__8CreatureFv
* .4byte isTerrible__8CreatureFv
* .4byte isBuried__8CreatureFv
* .4byte isAtari__8CreatureFv
* .4byte isAlive__8CreatureFv
* .4byte isFixed__8CreatureFv
* .4byte needShadow__8CreatureFv
* .4byte needFlick__8CreatureFP8Creature
* .4byte ignoreAtari__8CreatureFP8Creature
* .4byte isFree__8CreatureFv
* .4byte stimulate__12ItemCreatureFR11Interaction
* .4byte sendMsg__8CreatureFP3Msg
* .4byte collisionCallback__10AICreatureFR9CollEvent
* .4byte bounceCallback__10AICreatureFv
* .4byte jumpCallback__8CreatureFv
* .4byte wallCallback__8CreatureFR5PlaneP13DynCollObject
* .4byte offwallCallback__8CreatureFP13DynCollObject
* .4byte stickCallback__8CreatureFP8Creature
* .4byte offstickCallback__8CreatureFP8Creature
* .4byte stickToCallback__8CreatureFP8Creature
* .4byte dump__8CreatureFv
* .4byte startWaterEffect__8CreatureFv
* .4byte finishWaterEffect__8CreatureFv
* .4byte isRopable__8CreatureFv
* .4byte mayIstick__8CreatureFv
* .4byte getFormationPri__8CreatureFv
* .4byte update__12ItemCreatureFv
* .4byte postUpdate__8CreatureFif
* .4byte stickUpdate__8CreatureFv
* .4byte refresh__12ItemCreatureFR8Graphics
* .4byte refresh2d__8CreatureFR8Graphics
* .4byte renderAtari__8CreatureFR8Graphics
* .4byte drawShadow__8CreatureFR8Graphics
* .4byte demoDraw__8CreatureFR8GraphicsP8Matrix4f
* .4byte getCatchPos__8CreatureFP8Creature
* .4byte doAI__12ItemCreatureFv
* .4byte doAnimation__12ItemCreatureFv
* .4byte doKill__12ItemCreatureFv
* .4byte exitCourse__8CreatureFv
* .4byte __RTTI__8Suckable
* .4byte 0xFFFFFD48
* .4byte "@696@animationKeyUpdated__10AICreatureFR16PaniAnimKeyEvent"
* .4byte getCurrState__10AICreatureFv
* .4byte "setCurrState__10AICreatureFP20AState<10AICreature>"
* .4byte playSound__10AICreatureFi
* .4byte playEffect__10AICreatureFi
* .4byte startMotion__12ItemCreatureFi
* .4byte finishMotion__12ItemCreatureFv
* .4byte finishMotion__12ItemCreatureFf
* .4byte startMotion__12ItemCreatureFif
* .4byte getCurrentMotionName__12ItemCreatureFv
* .4byte getCurrentMotionCounter__12ItemCreatureFv
* .4byte getMotionSpeed__12ItemCreatureFv
* .4byte setMotionSpeed__12ItemCreatureFf
* .4byte stopMotion__12ItemCreatureFv
* .4byte animationKeyUpdated__10AICreatureFR16PaniAnimKeyEvent
* .4byte finalSetup__12ItemCreatureFv
* .4byte 0
* .4byte 0
* .4byte 0
* .4byte 0
* .4byte finishSuck__8SuckableFP6Pellet
* .4byte 0
*/
struct RefCountable {
virtual void addCntCallback(); // _08 (weak)
virtual void subCntCallback(); // _0C (weak)
};
struct Creature {
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
virtual void insideSafeArea(Vector3f&); // _10 (weak)
virtual void platAttachable(); // _14 (weak)
virtual void alwaysUpdatePlatform(); // _18
virtual void doDoAI(); // _1C (weak)
virtual void setRouteTracer(RouteTracer*); // _20 (weak)
virtual void init(); // _24
virtual void _28() = 0; // _28
virtual void resetPosition(Vector3f&); // _2C
virtual void initParam(int); // _30 (weak)
virtual void startAI(int); // _34 (weak)
virtual f32 getiMass(); // _38 (weak)
virtual void getSize(); // _3C (weak)
virtual void _40() = 0; // _40
virtual void getCylinderHeight(); // _44 (weak)
virtual void doStore(CreatureInf*); // _48 (weak)
virtual void doRestore(CreatureInf*); // _4C (weak)
virtual void doSave(RandomAccessStream&); // _50 (weak)
virtual void doLoad(RandomAccessStream&); // _54 (weak)
virtual void getCentre(); // _58
virtual f32 getCentreSize(); // _5C
virtual void getBoundingSphereCentre(); // _60
virtual void getBoundingSphereRadius(); // _64
virtual void getShadowPos(); // _68 (weak)
virtual void setCentre(Vector3f&); // _6C (weak)
virtual void getShadowSize(); // _70
virtual void isVisible(); // _74
virtual void isOrganic(); // _78 (weak)
virtual void isTerrible(); // _7C
virtual void isBuried(); // _80 (weak)
virtual void isAtari(); // _84 (weak)
virtual void isAlive(); // _88 (weak)
virtual void isFixed(); // _8C (weak)
virtual void needShadow(); // _90
virtual void needFlick(Creature*); // _94 (weak)
virtual void ignoreAtari(Creature*); // _98 (weak)
virtual void isFree(); // _9C (weak)
virtual void _A0() = 0; // _A0
virtual void sendMsg(Msg*); // _A4 (weak)
virtual void _A8() = 0; // _A8
virtual void _AC() = 0; // _AC
virtual void jumpCallback(); // _B0 (weak)
virtual void wallCallback(Plane&, DynCollObject*); // _B4
virtual void offwallCallback(DynCollObject*); // _B8 (weak)
virtual void stickCallback(Creature*); // _BC (weak)
virtual void offstickCallback(Creature*); // _C0 (weak)
virtual void stickToCallback(Creature*); // _C4 (weak)
virtual void dump(); // _C8 (weak)
virtual void startWaterEffect(); // _CC (weak)
virtual void finishWaterEffect(); // _D0 (weak)
virtual void isRopable(); // _D4 (weak)
virtual void mayIstick(); // _D8 (weak)
virtual void getFormationPri(); // _DC (weak)
virtual void _E0() = 0; // _E0
virtual void postUpdate(int, float); // _E4
virtual void stickUpdate(); // _E8
virtual void _EC() = 0; // _EC
virtual void refresh2d(Graphics&); // _F0 (weak)
virtual void renderAtari(Graphics&); // _F4
virtual void drawShadow(Graphics&); // _F8
virtual void demoDraw(Graphics&, Matrix4f*); // _FC
virtual void getCatchPos(Creature*); // _100
virtual void _104() = 0; // _104
virtual void _108() = 0; // _108
virtual void _10C() = 0; // _10C
virtual void exitCourse(); // _110 (weak)
};
struct ItemCreature {
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
virtual void _10() = 0; // _10
virtual void _14() = 0; // _14
virtual void _18() = 0; // _18
virtual void _1C() = 0; // _1C
virtual void _20() = 0; // _20
virtual void _24() = 0; // _24
virtual void init(Vector3f&); // _28
virtual void _2C() = 0; // _2C
virtual void _30() = 0; // _30
virtual void _34() = 0; // _34
virtual void _38() = 0; // _38
virtual void _3C() = 0; // _3C
virtual void getHeight(); // _40
virtual void _44() = 0; // _44
virtual void _48() = 0; // _48
virtual void _4C() = 0; // _4C
virtual void _50() = 0; // _50
virtual void _54() = 0; // _54
virtual void _58() = 0; // _58
virtual void _5C() = 0; // _5C
virtual void _60() = 0; // _60
virtual void _64() = 0; // _64
virtual void _68() = 0; // _68
virtual void _6C() = 0; // _6C
virtual void _70() = 0; // _70
virtual void _74() = 0; // _74
virtual void _78() = 0; // _78
virtual void _7C() = 0; // _7C
virtual void _80() = 0; // _80
virtual void _84() = 0; // _84
virtual void _88() = 0; // _88
virtual void _8C() = 0; // _8C
virtual void _90() = 0; // _90
virtual void _94() = 0; // _94
virtual void _98() = 0; // _98
virtual void _9C() = 0; // _9C
virtual void stimulate(Interaction&); // _A0
virtual void _A4() = 0; // _A4
virtual void _A8() = 0; // _A8
virtual void _AC() = 0; // _AC
virtual void _B0() = 0; // _B0
virtual void _B4() = 0; // _B4
virtual void _B8() = 0; // _B8
virtual void _BC() = 0; // _BC
virtual void _C0() = 0; // _C0
virtual void _C4() = 0; // _C4
virtual void _C8() = 0; // _C8
virtual void _CC() = 0; // _CC
virtual void _D0() = 0; // _D0
virtual void _D4() = 0; // _D4
virtual void _D8() = 0; // _D8
virtual void _DC() = 0; // _DC
virtual void update(); // _E0
virtual void _E4() = 0; // _E4
virtual void _E8() = 0; // _E8
virtual void refresh(Graphics&); // _EC
virtual void _F0() = 0; // _F0
virtual void _F4() = 0; // _F4
virtual void _F8() = 0; // _F8
virtual void _FC() = 0; // _FC
virtual void _100() = 0; // _100
virtual void doAI(); // _104
virtual void doAnimation(); // _108
virtual void doKill(); // _10C
virtual void _110() = 0; // _110
virtual void _114() = 0; // _114
virtual void _118() = 0; // _118
virtual void _11C() = 0; // _11C
virtual void _120() = 0; // _120
virtual void _124() = 0; // _124
virtual void _128() = 0; // _128
virtual void _12C() = 0; // _12C
virtual void startMotion(int); // _130
virtual void finishMotion(); // _134
virtual void finishMotion(float); // _138
virtual void startMotion(int, float); // _13C
virtual void getCurrentMotionName(); // _140
virtual void getCurrentMotionCounter(); // _144
virtual void getMotionSpeed(); // _148
virtual void setMotionSpeed(float); // _14C
virtual void stopMotion(); // _150
virtual void _154() = 0; // _154
virtual void finalSetup(); // _158 (weak)
};
struct AICreature {
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
virtual void _10() = 0; // _10
virtual void _14() = 0; // _14
virtual void _18() = 0; // _18
virtual void _1C() = 0; // _1C
virtual void _20() = 0; // _20
virtual void _24() = 0; // _24
virtual void _28() = 0; // _28
virtual void _2C() = 0; // _2C
virtual void _30() = 0; // _30
virtual void _34() = 0; // _34
virtual void _38() = 0; // _38
virtual void _3C() = 0; // _3C
virtual void _40() = 0; // _40
virtual void _44() = 0; // _44
virtual void _48() = 0; // _48
virtual void _4C() = 0; // _4C
virtual void _50() = 0; // _50
virtual void _54() = 0; // _54
virtual void _58() = 0; // _58
virtual void _5C() = 0; // _5C
virtual void _60() = 0; // _60
virtual void _64() = 0; // _64
virtual void _68() = 0; // _68
virtual void _6C() = 0; // _6C
virtual void _70() = 0; // _70
virtual void _74() = 0; // _74
virtual void _78() = 0; // _78
virtual void _7C() = 0; // _7C
virtual void _80() = 0; // _80
virtual void _84() = 0; // _84
virtual void _88() = 0; // _88
virtual void _8C() = 0; // _8C
virtual void _90() = 0; // _90
virtual void _94() = 0; // _94
virtual void _98() = 0; // _98
virtual void _9C() = 0; // _9C
virtual void _A0() = 0; // _A0
virtual void _A4() = 0; // _A4
virtual void collisionCallback(CollEvent&); // _A8
virtual void bounceCallback(); // _AC
virtual void _B0() = 0; // _B0
virtual void _B4() = 0; // _B4
virtual void _B8() = 0; // _B8
virtual void _BC() = 0; // _BC
virtual void _C0() = 0; // _C0
virtual void _C4() = 0; // _C4
virtual void _C8() = 0; // _C8
virtual void _CC() = 0; // _CC
virtual void _D0() = 0; // _D0
virtual void _D4() = 0; // _D4
virtual void _D8() = 0; // _D8
virtual void _DC() = 0; // _DC
virtual void _E0() = 0; // _E0
virtual void _E4() = 0; // _E4
virtual void _E8() = 0; // _E8
virtual void _EC() = 0; // _EC
virtual void _F0() = 0; // _F0
virtual void _F4() = 0; // _F4
virtual void _F8() = 0; // _F8
virtual void _FC() = 0; // _FC
virtual void _100() = 0; // _100
virtual void _104() = 0; // _104
virtual void _108() = 0; // _108
virtual void _10C() = 0; // _10C
virtual void _110() = 0; // _110
virtual void _114() = 0; // _114
virtual void _118() = 0; // _118
virtual void _11C() = 0; // _11C
virtual void getCurrState(); // _120 (weak)
virtual void setCurrState(AState<AICreature>*); // _124 (weak)
virtual void playSound(int); // _128 (weak)
virtual void playEffect(int); // _12C (weak)
virtual void _130() = 0; // _130
virtual void _134() = 0; // _134
virtual void _138() = 0; // _138
virtual void _13C() = 0; // _13C
virtual void _140() = 0; // _140
virtual void _144() = 0; // _144
virtual void _148() = 0; // _148
virtual void _14C() = 0; // _14C
virtual void _150() = 0; // _150
virtual void animationKeyUpdated(PaniAnimKeyEvent&); // _154 (weak)
};
/**
* @brief TODO
*/
struct Suckable : public RefCountable, public Creature, public ItemCreature, public AICreature {
virtual void _15C() = 0; // _15C
virtual void _160() = 0; // _160
virtual void _164() = 0; // _164
virtual void _168() = 0; // _168
virtual void finishSuck(Pellet*); // _16C (weak)
virtual void _170() = 0; // _170
};
#endif

View File

@ -1,365 +0,0 @@
#ifndef _UFOITEM_H
#define _UFOITEM_H
/**
* .obj __vt__7UfoItem, global
* .4byte __RTTI__7UfoItem
* .4byte 0
* .4byte addCntCallback__12RefCountableFv
* .4byte subCntCallback__12RefCountableFv
* .4byte insideSafeArea__7UfoItemFR8Vector3f
* .4byte platAttachable__8CreatureFv
* .4byte alwaysUpdatePlatform__8CreatureFv
* .4byte doDoAI__8CreatureFv
* .4byte setRouteTracer__8CreatureFP11RouteTracer
* .4byte init__8CreatureFv
* .4byte init__12ItemCreatureFR8Vector3f
* .4byte resetPosition__8CreatureFR8Vector3f
* .4byte initParam__8CreatureFi
* .4byte startAI__7UfoItemFi
* .4byte getiMass__7UfoItemFv
* .4byte getSize__7UfoItemFv
* .4byte getHeight__12ItemCreatureFv
* .4byte getCylinderHeight__8CreatureFv
* .4byte doStore__8CreatureFP11CreatureInf
* .4byte doRestore__8CreatureFP11CreatureInf
* .4byte doSave__8CreatureFR18RandomAccessStream
* .4byte doLoad__8CreatureFR18RandomAccessStream
* .4byte getCentre__8CreatureFv
* .4byte getCentreSize__8CreatureFv
* .4byte getBoundingSphereCentre__8CreatureFv
* .4byte getBoundingSphereRadius__8CreatureFv
* .4byte getShadowPos__8CreatureFv
* .4byte setCentre__8CreatureFR8Vector3f
* .4byte getShadowSize__8CreatureFv
* .4byte isVisible__7UfoItemFv
* .4byte isOrganic__8CreatureFv
* .4byte isTerrible__8CreatureFv
* .4byte isBuried__8CreatureFv
* .4byte isAtari__8CreatureFv
* .4byte isAlive__7UfoItemFv
* .4byte isFixed__8CreatureFv
* .4byte needShadow__7UfoItemFv
* .4byte needFlick__8CreatureFP8Creature
* .4byte ignoreAtari__7UfoItemFP8Creature
* .4byte isFree__8CreatureFv
* .4byte stimulate__12ItemCreatureFR11Interaction
* .4byte sendMsg__8CreatureFP3Msg
* .4byte collisionCallback__10AICreatureFR9CollEvent
* .4byte bounceCallback__10AICreatureFv
* .4byte jumpCallback__8CreatureFv
* .4byte wallCallback__8CreatureFR5PlaneP13DynCollObject
* .4byte offwallCallback__8CreatureFP13DynCollObject
* .4byte stickCallback__8CreatureFP8Creature
* .4byte offstickCallback__8CreatureFP8Creature
* .4byte stickToCallback__8CreatureFP8Creature
* .4byte dump__8CreatureFv
* .4byte startWaterEffect__8CreatureFv
* .4byte finishWaterEffect__8CreatureFv
* .4byte isRopable__8CreatureFv
* .4byte mayIstick__8CreatureFv
* .4byte getFormationPri__8CreatureFv
* .4byte update__7UfoItemFv
* .4byte postUpdate__8CreatureFif
* .4byte stickUpdate__8CreatureFv
* .4byte refresh__7UfoItemFR8Graphics
* .4byte refresh2d__8CreatureFR8Graphics
* .4byte renderAtari__8CreatureFR8Graphics
* .4byte drawShadow__8CreatureFR8Graphics
* .4byte demoDraw__7UfoItemFR8GraphicsP8Matrix4f
* .4byte getCatchPos__8CreatureFP8Creature
* .4byte doAI__12ItemCreatureFv
* .4byte doAnimation__12ItemCreatureFv
* .4byte doKill__12ItemCreatureFv
* .4byte exitCourse__8CreatureFv
* .4byte __RTTI__7UfoItem
* .4byte 0xFFFFFD48
* .4byte "@696@animationKeyUpdated__7UfoItemFR16PaniAnimKeyEvent"
* .4byte getCurrState__10AICreatureFv
* .4byte "setCurrState__10AICreatureFP20AState<10AICreature>"
* .4byte playSound__10AICreatureFi
* .4byte playEffect__10AICreatureFi
* .4byte startMotion__12ItemCreatureFi
* .4byte finishMotion__12ItemCreatureFv
* .4byte finishMotion__12ItemCreatureFf
* .4byte startMotion__12ItemCreatureFif
* .4byte getCurrentMotionName__12ItemCreatureFv
* .4byte getCurrentMotionCounter__12ItemCreatureFv
* .4byte getMotionSpeed__12ItemCreatureFv
* .4byte setMotionSpeed__12ItemCreatureFf
* .4byte stopMotion__12ItemCreatureFv
* .4byte animationKeyUpdated__7UfoItemFR16PaniAnimKeyEvent
* .4byte finalSetup__12ItemCreatureFv
* .4byte getGoalPos__7UfoItemFv
* .4byte getGoalPosRadius__7UfoItemFv
* .4byte getSuckPos__7UfoItemFv
* .4byte suckMe__7UfoItemFP6Pellet
* .4byte finishSuck__7UfoItemFP6Pellet
* .4byte getRouteIndex__7UfoItemFv
*/
struct RefCountable {
virtual void addCntCallback(); // _08 (weak)
virtual void subCntCallback(); // _0C (weak)
};
struct Creature {
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
virtual void insideSafeArea(Vector3f&); // _10
virtual void platAttachable(); // _14 (weak)
virtual void alwaysUpdatePlatform(); // _18
virtual void doDoAI(); // _1C (weak)
virtual void setRouteTracer(RouteTracer*); // _20 (weak)
virtual void init(); // _24
virtual void _28() = 0; // _28
virtual void resetPosition(Vector3f&); // _2C
virtual void initParam(int); // _30 (weak)
virtual void startAI(int); // _34
virtual f32 getiMass(); // _38
virtual void getSize(); // _3C
virtual void _40() = 0; // _40
virtual void getCylinderHeight(); // _44 (weak)
virtual void doStore(CreatureInf*); // _48 (weak)
virtual void doRestore(CreatureInf*); // _4C (weak)
virtual void doSave(RandomAccessStream&); // _50 (weak)
virtual void doLoad(RandomAccessStream&); // _54 (weak)
virtual void getCentre(); // _58
virtual f32 getCentreSize(); // _5C
virtual void getBoundingSphereCentre(); // _60
virtual void getBoundingSphereRadius(); // _64
virtual void getShadowPos(); // _68 (weak)
virtual void setCentre(Vector3f&); // _6C (weak)
virtual void getShadowSize(); // _70
virtual void isVisible(); // _74
virtual void isOrganic(); // _78 (weak)
virtual void isTerrible(); // _7C
virtual void isBuried(); // _80 (weak)
virtual void isAtari(); // _84 (weak)
virtual void isAlive(); // _88
virtual void isFixed(); // _8C (weak)
virtual void needShadow(); // _90
virtual void needFlick(Creature*); // _94 (weak)
virtual void ignoreAtari(Creature*); // _98
virtual void isFree(); // _9C (weak)
virtual void _A0() = 0; // _A0
virtual void sendMsg(Msg*); // _A4 (weak)
virtual void _A8() = 0; // _A8
virtual void _AC() = 0; // _AC
virtual void jumpCallback(); // _B0 (weak)
virtual void wallCallback(Plane&, DynCollObject*); // _B4
virtual void offwallCallback(DynCollObject*); // _B8 (weak)
virtual void stickCallback(Creature*); // _BC (weak)
virtual void offstickCallback(Creature*); // _C0 (weak)
virtual void stickToCallback(Creature*); // _C4 (weak)
virtual void dump(); // _C8 (weak)
virtual void startWaterEffect(); // _CC (weak)
virtual void finishWaterEffect(); // _D0 (weak)
virtual void isRopable(); // _D4 (weak)
virtual void mayIstick(); // _D8 (weak)
virtual void getFormationPri(); // _DC (weak)
virtual void update(); // _E0
virtual void postUpdate(int, float); // _E4
virtual void stickUpdate(); // _E8
virtual void refresh(Graphics&); // _EC
virtual void refresh2d(Graphics&); // _F0 (weak)
virtual void renderAtari(Graphics&); // _F4
virtual void drawShadow(Graphics&); // _F8
virtual void demoDraw(Graphics&, Matrix4f*); // _FC
virtual void getCatchPos(Creature*); // _100
virtual void _104() = 0; // _104
virtual void _108() = 0; // _108
virtual void _10C() = 0; // _10C
virtual void exitCourse(); // _110 (weak)
};
struct ItemCreature {
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
virtual void insideSafeArea(Vector3f&); // _10
virtual void _14() = 0; // _14
virtual void _18() = 0; // _18
virtual void _1C() = 0; // _1C
virtual void _20() = 0; // _20
virtual void _24() = 0; // _24
virtual void init(Vector3f&); // _28
virtual void _2C() = 0; // _2C
virtual void _30() = 0; // _30
virtual void startAI(int); // _34
virtual f32 getiMass(); // _38
virtual void getSize(); // _3C
virtual void getHeight(); // _40
virtual void _44() = 0; // _44
virtual void _48() = 0; // _48
virtual void _4C() = 0; // _4C
virtual void _50() = 0; // _50
virtual void _54() = 0; // _54
virtual void _58() = 0; // _58
virtual void _5C() = 0; // _5C
virtual void _60() = 0; // _60
virtual void _64() = 0; // _64
virtual void _68() = 0; // _68
virtual void _6C() = 0; // _6C
virtual void _70() = 0; // _70
virtual void isVisible(); // _74
virtual void _78() = 0; // _78
virtual void _7C() = 0; // _7C
virtual void _80() = 0; // _80
virtual void _84() = 0; // _84
virtual void isAlive(); // _88
virtual void _8C() = 0; // _8C
virtual void needShadow(); // _90
virtual void _94() = 0; // _94
virtual void ignoreAtari(Creature*); // _98
virtual void _9C() = 0; // _9C
virtual void stimulate(Interaction&); // _A0
virtual void _A4() = 0; // _A4
virtual void _A8() = 0; // _A8
virtual void _AC() = 0; // _AC
virtual void _B0() = 0; // _B0
virtual void _B4() = 0; // _B4
virtual void _B8() = 0; // _B8
virtual void _BC() = 0; // _BC
virtual void _C0() = 0; // _C0
virtual void _C4() = 0; // _C4
virtual void _C8() = 0; // _C8
virtual void _CC() = 0; // _CC
virtual void _D0() = 0; // _D0
virtual void _D4() = 0; // _D4
virtual void _D8() = 0; // _D8
virtual void _DC() = 0; // _DC
virtual void update(); // _E0
virtual void _E4() = 0; // _E4
virtual void _E8() = 0; // _E8
virtual void refresh(Graphics&); // _EC
virtual void _F0() = 0; // _F0
virtual void _F4() = 0; // _F4
virtual void _F8() = 0; // _F8
virtual void demoDraw(Graphics&, Matrix4f*); // _FC
virtual void _100() = 0; // _100
virtual void doAI(); // _104
virtual void doAnimation(); // _108
virtual void doKill(); // _10C
virtual void _110() = 0; // _110
virtual void _114() = 0; // _114
virtual void _118() = 0; // _118
virtual void _11C() = 0; // _11C
virtual void _120() = 0; // _120
virtual void _124() = 0; // _124
virtual void _128() = 0; // _128
virtual void _12C() = 0; // _12C
virtual void startMotion(int); // _130
virtual void finishMotion(); // _134
virtual void finishMotion(float); // _138
virtual void startMotion(int, float); // _13C
virtual void getCurrentMotionName(); // _140
virtual void getCurrentMotionCounter(); // _144
virtual void getMotionSpeed(); // _148
virtual void setMotionSpeed(float); // _14C
virtual void stopMotion(); // _150
virtual void animationKeyUpdated(PaniAnimKeyEvent&); // _154
virtual void finalSetup(); // _158 (weak)
};
struct AICreature {
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
virtual void insideSafeArea(Vector3f&); // _10
virtual void _14() = 0; // _14
virtual void _18() = 0; // _18
virtual void _1C() = 0; // _1C
virtual void _20() = 0; // _20
virtual void _24() = 0; // _24
virtual void _28() = 0; // _28
virtual void _2C() = 0; // _2C
virtual void _30() = 0; // _30
virtual void startAI(int); // _34
virtual f32 getiMass(); // _38
virtual void getSize(); // _3C
virtual void _40() = 0; // _40
virtual void _44() = 0; // _44
virtual void _48() = 0; // _48
virtual void _4C() = 0; // _4C
virtual void _50() = 0; // _50
virtual void _54() = 0; // _54
virtual void _58() = 0; // _58
virtual void _5C() = 0; // _5C
virtual void _60() = 0; // _60
virtual void _64() = 0; // _64
virtual void _68() = 0; // _68
virtual void _6C() = 0; // _6C
virtual void _70() = 0; // _70
virtual void isVisible(); // _74
virtual void _78() = 0; // _78
virtual void _7C() = 0; // _7C
virtual void _80() = 0; // _80
virtual void _84() = 0; // _84
virtual void isAlive(); // _88
virtual void _8C() = 0; // _8C
virtual void needShadow(); // _90
virtual void _94() = 0; // _94
virtual void ignoreAtari(Creature*); // _98
virtual void _9C() = 0; // _9C
virtual void _A0() = 0; // _A0
virtual void _A4() = 0; // _A4
virtual void collisionCallback(CollEvent&); // _A8
virtual void bounceCallback(); // _AC
virtual void _B0() = 0; // _B0
virtual void _B4() = 0; // _B4
virtual void _B8() = 0; // _B8
virtual void _BC() = 0; // _BC
virtual void _C0() = 0; // _C0
virtual void _C4() = 0; // _C4
virtual void _C8() = 0; // _C8
virtual void _CC() = 0; // _CC
virtual void _D0() = 0; // _D0
virtual void _D4() = 0; // _D4
virtual void _D8() = 0; // _D8
virtual void _DC() = 0; // _DC
virtual void update(); // _E0
virtual void _E4() = 0; // _E4
virtual void _E8() = 0; // _E8
virtual void refresh(Graphics&); // _EC
virtual void _F0() = 0; // _F0
virtual void _F4() = 0; // _F4
virtual void _F8() = 0; // _F8
virtual void demoDraw(Graphics&, Matrix4f*); // _FC
virtual void _100() = 0; // _100
virtual void _104() = 0; // _104
virtual void _108() = 0; // _108
virtual void _10C() = 0; // _10C
virtual void _110() = 0; // _110
virtual void _114() = 0; // _114
virtual void _118() = 0; // _118
virtual void _11C() = 0; // _11C
virtual void getCurrState(); // _120 (weak)
virtual void setCurrState(AState<AICreature>*); // _124 (weak)
virtual void playSound(int); // _128 (weak)
virtual void playEffect(int); // _12C (weak)
};
/**
* @brief TODO
*/
struct UfoItem : public RefCountable, public Creature, public ItemCreature, public AICreature {
virtual void insideSafeArea(Vector3f&); // _10
virtual void startAI(int); // _34
virtual f32 getiMass(); // _38
virtual void getSize(); // _3C
virtual void isVisible(); // _74
virtual void isAlive(); // _88
virtual void needShadow(); // _90
virtual void ignoreAtari(Creature*); // _98
virtual void update(); // _E0
virtual void refresh(Graphics&); // _EC
virtual void demoDraw(Graphics&, Matrix4f*); // _FC
virtual void animationKeyUpdated(PaniAnimKeyEvent&); // _154
virtual void getGoalPos(); // _15C
virtual void getGoalPosRadius(); // _160
virtual void getSuckPos(); // _164
virtual void suckMe(Pellet*); // _168
virtual void finishSuck(Pellet*); // _16C
virtual void getRouteIndex(); // _170
};
#endif

View File

@ -1,21 +0,0 @@
#ifndef _UFOITEMPROP_H
#define _UFOITEMPROP_H
/**
* .obj __vt__11UfoItemProp, weak
* .4byte __RTTI__11UfoItemProp
* .4byte 0
* .4byte read__12CreaturePropFR18RandomAccessStream
*/
struct CreatureProp {
virtual void read(RandomAccessStream&); // _08
};
/**
* @brief TODO
*/
struct UfoItemProp : public CreatureProp {
};
#endif

View File

@ -1,14 +0,0 @@
#ifndef _UPDATECONTEXT_H
#define _UPDATECONTEXT_H
/*
* @brief TODO
*/
struct UpdateContext {
UpdateContext();
void updatable();
void init(UpdateMgr*);
void exit();
};
#endif

View File

@ -1,16 +0,0 @@
#ifndef _UPDATEMGR_H
#define _UPDATEMGR_H
/*
* @brief TODO
*/
struct UpdateMgr {
UpdateMgr();
void update();
void updatable(UpdateContext*);
void create(int);
void addClient(UpdateContext*);
void removeClient(UpdateContext*);
};
#endif