mirror of
https://github.com/zeldaret/tp
synced 2026-07-07 22:22:05 -04:00
move / fix bunch of stuff (#133)
* fix some class structures / d_event wip * d_event wip * move gamepad stuff * move m_Do_main * move d_bomb / partial m_Do_reset * format * remove asm * add Z2SoundID enum * move some Z2 classes * fix * move more Z2 stuff * fix fopAc_ac_c more
This commit is contained in:
@@ -1,6 +1,29 @@
|
||||
#ifndef J3DSTRUCT_H
|
||||
#define J3DSTRUCT_H
|
||||
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "dolphin/gx/GXTexture.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct J3DLightInfo {
|
||||
/* 803256C4 */ void operator=(J3DLightInfo const&);
|
||||
|
||||
/* 0x00 */ cXyz mLightPosition;
|
||||
/* 0x0C */ cXyz mLightDirection;
|
||||
/* 0x18 */ _GXColor mColor;
|
||||
/* 0x1C */ f32 mA0;
|
||||
/* 0x20 */ f32 mA1;
|
||||
/* 0x24 */ f32 mA2;
|
||||
/* 0x28 */ f32 mK0;
|
||||
/* 0x2C */ f32 mK1;
|
||||
/* 0x30 */ f32 mK2;
|
||||
}; // Size = 0x34
|
||||
|
||||
struct J3DLightObj {
|
||||
/* 80018C0C */ J3DLightObj();
|
||||
|
||||
/* 0x00 */ J3DLightInfo mInfo;
|
||||
/* 0x34 */ u8 field_0x34[64];
|
||||
}; // Size = 0x74
|
||||
|
||||
#endif /* J3DSTRUCT_H */
|
||||
|
||||
@@ -8,8 +8,9 @@
|
||||
class JAISoundID {
|
||||
public:
|
||||
operator u32() const { return this->mId; }
|
||||
void operator=(JAISoundID const&);
|
||||
|
||||
JAISoundID(u32 pId) : mId(pId) {}
|
||||
JAISoundID(u32 pId);
|
||||
|
||||
JAISoundID(JAISoundID const& other);
|
||||
|
||||
@@ -62,7 +63,7 @@ public:
|
||||
/* 802A26B8 */ void calc_JAISound_();
|
||||
/* 802A29DC */ void initTrack_JAISound_(JASTrack*);
|
||||
|
||||
JAISoundID getID() const { return JAISoundID((u32)this->sound_id); }
|
||||
JAISoundID getID() const;
|
||||
u32 getUserData() const { return user_data; }
|
||||
|
||||
// TODO: do proper struct later
|
||||
@@ -167,4 +168,19 @@ private:
|
||||
JAISound* mSound;
|
||||
};
|
||||
|
||||
class JAISoundHandles {
|
||||
public:
|
||||
JAISoundHandles(JAISoundHandle* pHandle, int param_1) {
|
||||
mSoundHandle = pHandle;
|
||||
field_0x04 = param_1;
|
||||
};
|
||||
|
||||
void getHandleSoundID(JAISoundID);
|
||||
void getFreeHandle();
|
||||
|
||||
private:
|
||||
JAISoundHandle* mSoundHandle;
|
||||
int field_0x04;
|
||||
};
|
||||
|
||||
#endif /* JAISOUND_H */
|
||||
|
||||
@@ -20,6 +20,98 @@ struct TVec3<f32> {
|
||||
};
|
||||
*/
|
||||
|
||||
template <typename T>
|
||||
struct TVec2 {
|
||||
TVec2() {}
|
||||
TVec2(T x, T y) { set(x, y); }
|
||||
|
||||
void set(T x, T y) {
|
||||
this->x = x;
|
||||
this->y = y;
|
||||
}
|
||||
|
||||
void set(const TVec2& other) {
|
||||
x = other.x;
|
||||
y = other.y;
|
||||
}
|
||||
|
||||
void setMin(const TVec2<f32>& min) {
|
||||
if (min.x <= x)
|
||||
x = min.x;
|
||||
if (min.y <= y)
|
||||
y = min.y;
|
||||
}
|
||||
|
||||
void setMax(const TVec2<f32>& max) {
|
||||
if (x <= max.x)
|
||||
x = max.x;
|
||||
if (y <= max.y)
|
||||
y = max.y;
|
||||
}
|
||||
|
||||
void add(const TVec2<T>& other) {
|
||||
x += other.x;
|
||||
y += other.y;
|
||||
}
|
||||
|
||||
bool isAbove(const TVec2<T>& other) const {
|
||||
return (other.x <= x) && (other.y <= y) ? true : false;
|
||||
}
|
||||
|
||||
T x;
|
||||
T y;
|
||||
};
|
||||
|
||||
template <class T>
|
||||
struct TBox {
|
||||
TBox() : i(), f() {}
|
||||
TBox(const TBox& other) : i(other.f), f(other.y) {}
|
||||
|
||||
T i, f;
|
||||
};
|
||||
|
||||
// clang-format off
|
||||
template<> struct TBox<TVec2<f32> > {
|
||||
f32 getWidth() const { return f.x - i.x; }
|
||||
f32 getHeight() const { return f.y - i.y; }
|
||||
|
||||
inline void operator= (const TBox<TVec2<f32> >& rhs) {
|
||||
// ???
|
||||
*(u32*)&i.x = *(u32*)&rhs.i.x;
|
||||
*(u32*)&i.y = *(u32*)&rhs.i.y;
|
||||
*(u32*)&f.x = *(u32*)&rhs.f.x;
|
||||
*(u32*)&f.y = *(u32*)&rhs.f.y;
|
||||
}
|
||||
|
||||
bool isValid() const { return f.isAbove(i); }
|
||||
|
||||
void addPos(const TVec2<f32>& pos) {
|
||||
i.add(pos);
|
||||
f.add(pos);
|
||||
}
|
||||
|
||||
bool intersect(const TBox<TVec2<f32> >& other) {
|
||||
i.setMax(other.i);
|
||||
f.setMin(other.f);
|
||||
return isValid();
|
||||
}
|
||||
|
||||
TVec2<f32> i, f;
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
struct TBox2 : TBox<TVec2<T> > {
|
||||
TBox2() {}
|
||||
TBox2(f32 x0, f32 y0, f32 x1, f32 y1) { set(x0, y0, x1, y1); }
|
||||
|
||||
inline const TBox2& operator=(const TBox2& rhs) { *(TBox<TVec2<T> >*)this = rhs; }
|
||||
void set(const TBox2& other) { set(other.i, other.f); }
|
||||
void set(const TVec2<f32>& i, const TVec2<f32> f) { this->i.set(i), this->f.set(f); }
|
||||
void set(f32 x0, f32 y0, f32 x1, f32 y1) { i.set(x0, y0); f.set(x1, y1); }
|
||||
};
|
||||
|
||||
// clang-format on
|
||||
|
||||
} // namespace JGeometry
|
||||
|
||||
#endif
|
||||
@@ -4,32 +4,32 @@
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct interface_of_controller_pad {
|
||||
f32 mMainStickPosX;
|
||||
f32 mMainStickPosY;
|
||||
f32 mMainStickValue;
|
||||
s16 mMainStickAngle;
|
||||
u8 field_0xe;
|
||||
u8 field_0xf;
|
||||
f32 mCStickPosX;
|
||||
f32 mCStickPosY;
|
||||
f32 mCStickValue;
|
||||
s16 mCStickAngle;
|
||||
u8 field_0x1e;
|
||||
u8 field_0x1f;
|
||||
f32 mAnalogA;
|
||||
f32 mAnalogB;
|
||||
f32 mTriggerLeft;
|
||||
f32 mTriggerRight;
|
||||
u32 mButtonFlags;
|
||||
u32 mPressedButtonFlags;
|
||||
s8 mGamepadErrorFlags;
|
||||
u8 field_0x39;
|
||||
u8 field_0x3a;
|
||||
u8 field_0x3b;
|
||||
u8 field_0x3c;
|
||||
u8 field_0x3d;
|
||||
u8 field_0x3e;
|
||||
u8 field_0x3f;
|
||||
/* 0x00 */ f32 mMainStickPosX;
|
||||
/* 0x04 */ f32 mMainStickPosY;
|
||||
/* 0x08 */ f32 mMainStickValue;
|
||||
/* 0x0C */ s16 mMainStickAngle;
|
||||
/* 0x0E */ u8 field_0xe;
|
||||
/* 0x0F */ u8 field_0xf;
|
||||
/* 0x10 */ f32 mCStickPosX;
|
||||
/* 0x14 */ f32 mCStickPosY;
|
||||
/* 0x18 */ f32 mCStickValue;
|
||||
/* 0x1C */ s16 mCStickAngle;
|
||||
/* 0x1E */ u8 field_0x1e;
|
||||
/* 0x1F */ u8 field_0x1f;
|
||||
/* 0x20 */ f32 mAnalogA;
|
||||
/* 0x24 */ f32 mAnalogB;
|
||||
/* 0x28 */ f32 mTriggerLeft;
|
||||
/* 0x2C */ f32 mTriggerRight;
|
||||
/* 0x30 */ u32 mButtonFlags;
|
||||
/* 0x34 */ u32 mPressedButtonFlags;
|
||||
/* 0x38 */ s8 mGamepadErrorFlags;
|
||||
/* 0x39 */ u8 mHoldLockL;
|
||||
/* 0x3A */ u8 mTrigLockL;
|
||||
/* 0x3B */ u8 mHoldLockR;
|
||||
/* 0x3C */ u8 mTrigLockR;
|
||||
/* 0x3D */ u8 field_0x3d;
|
||||
/* 0x3E */ u8 field_0x3e;
|
||||
/* 0x3F */ u8 field_0x3f;
|
||||
};
|
||||
|
||||
void cAPICPad_recalibrate(void);
|
||||
|
||||
@@ -1,6 +1,43 @@
|
||||
#ifndef Z2AUDIOMGR_H
|
||||
#define Z2AUDIOMGR_H
|
||||
|
||||
#include "JSystem/JAudio2/JAISound.h"
|
||||
#include "JSystem/JKernel/JKRArchive.h"
|
||||
#include "JSystem/JKernel/JKRSolidHeap.h"
|
||||
#include "Z2AudioLib/Z2SceneMgr.h"
|
||||
#include "Z2AudioLib/Z2SeMgr.h"
|
||||
#include "Z2AudioLib/Z2SeqMgr.h"
|
||||
#include "Z2AudioLib/Z2SoundStarter.h"
|
||||
#include "Z2AudioLib/Z2StatusMgr.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class Z2AudioMgr {
|
||||
public:
|
||||
Z2AudioMgr();
|
||||
void init(JKRSolidHeap*, u32, void*, JKRArchive*);
|
||||
void setOutputMode(u32);
|
||||
void zeldaGFrameWork();
|
||||
void gframeProcess();
|
||||
void resetProcess(u32, bool);
|
||||
void resetRecover();
|
||||
void hasReset() const;
|
||||
void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
|
||||
static Z2AudioMgr* mAudioMgrPtr;
|
||||
|
||||
private:
|
||||
/* 0x0000 */ Z2SeMgr mSeMgr;
|
||||
/* 0x03D0 */ Z2SeqMgr mSeqMgr;
|
||||
/* 0x04A4 */ Z2SceneMgr mSceneMgr;
|
||||
/* 0x04C4 */ Z2StatusMgr mStatusMgr;
|
||||
/* 0x04F4 */ // Z2SoundObjMgr mSoundObjMgr;
|
||||
/* 0x051C */ // JASAudioReseter mAudioReseter;
|
||||
/* 0x052C */ Z2SoundStarter mSoundStarter;
|
||||
/* 0x0530 */ // Z2SoundMgr mSoundMgr;
|
||||
/* 0x0D40 */ // JAISoundInfo mSoundInfo;
|
||||
/* 0x0D4C */ // Z2Audience mAudience;
|
||||
/* 0x0F2C */ // Z2SpeechMgr2 mSpeechMgr;
|
||||
/* 0x1370 */ // Z2FxLineMgr mFxLineMgr;
|
||||
};
|
||||
|
||||
#endif /* Z2AUDIOMGR_H */
|
||||
|
||||
@@ -53,12 +53,12 @@ public:
|
||||
void setLinkSwordType(s32, s32);
|
||||
void setLinkShieldType(s32, s32);
|
||||
void setLinkBootsType(s32);
|
||||
void deleteObject();
|
||||
virtual void deleteObject();
|
||||
void init(Vec*, Vec*, Vec*);
|
||||
void initKantera(Vec*);
|
||||
void deleteKantera(void);
|
||||
void setKanteraState(u8);
|
||||
void framework(u32, s8);
|
||||
virtual void framework(u32, s8);
|
||||
void setSinkDepth(s8);
|
||||
void setRiding(bool);
|
||||
void setMagnetized(bool);
|
||||
@@ -68,7 +68,7 @@ public:
|
||||
void startLinkVoice(JAISoundID, s8);
|
||||
void startLinkVoiceLevel(JAISoundID, s8);
|
||||
void startLinkSwordSound(JAISoundID, u32, s8);
|
||||
void startCollisionSE(u32, u32);
|
||||
virtual void startCollisionSE(u32, u32);
|
||||
int startHitItemSE(u32, u32, Z2SoundObjBase*, float);
|
||||
void setResumeAttack(bool);
|
||||
|
||||
@@ -106,4 +106,23 @@ private:
|
||||
/* 0x99 */ u8 padding[3];
|
||||
};
|
||||
|
||||
class Z2CreatureEnemy : public Z2Creature {
|
||||
public:
|
||||
virtual void test(); // temp to build OK, remove later
|
||||
/* 802C0F64 */ Z2CreatureEnemy();
|
||||
/* 802C0FC4 */ virtual void deleteObject();
|
||||
/* 802C1094 */ void init(Vec*, Vec*, u8, u8);
|
||||
/* 802C10B4 */ void init(Vec*, Vec*, Vec*, u8, u8, u8);
|
||||
/* 802C10D4 */ virtual void framework(u32, s8);
|
||||
/* 802C110C */ virtual void startCreatureSound(JAISoundID, u32, s8);
|
||||
/* 802C136C */ virtual void startCreatureSoundLevel(JAISoundID, u32, s8);
|
||||
/* 802C168C */ virtual void startCreatureVoice(JAISoundID, s8);
|
||||
/* 802C1948 */ virtual void startCreatureVoiceLevel(JAISoundID, s8);
|
||||
/* 802C199C */ virtual void startCreatureExtraSound(JAISoundID, u32, s8);
|
||||
/* 802C19D8 */ virtual void startCreatureExtraSoundLevel(JAISoundID, u32, s8);
|
||||
/* 802C1A14 */ virtual void startCollisionSE(u32, u32);
|
||||
/* 802C1B7C */ void setLinkSearch(bool);
|
||||
/* 802C1B90 */ void setEnemyName(char const*);
|
||||
};
|
||||
|
||||
#endif /* Z2CREATURE_H */
|
||||
|
||||
@@ -1,6 +1,56 @@
|
||||
#ifndef Z2SCENEMGR_H
|
||||
#define Z2SCENEMGR_H
|
||||
|
||||
#include "JSystem/JAudio2/JAISound.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class Z2SceneMgr {
|
||||
public:
|
||||
Z2SceneMgr();
|
||||
void setInDarkness(bool);
|
||||
void setSceneExist(bool);
|
||||
void setFadeOutStart(u8);
|
||||
void setFadeInStart(u8);
|
||||
void setSceneName(char*, s32, s32);
|
||||
void sceneChange(JAISoundID, u8, u8, u8, u8, u8, bool);
|
||||
void framework();
|
||||
void load1stDynamicWave();
|
||||
void _load1stWaveInner_1();
|
||||
void _load1stWaveInner_2();
|
||||
void check1stDynamicWave();
|
||||
void load2ndDynamicWave();
|
||||
void sceneBgmStart();
|
||||
void loadStaticWaves();
|
||||
bool checkFirstWaves();
|
||||
void eraseSeWave(u32);
|
||||
void eraseBgmWave(u32);
|
||||
void getWaveLoadStatus(u32, u32);
|
||||
void loadSeWave(u32);
|
||||
void loadBgmWave(u32);
|
||||
|
||||
private:
|
||||
/* 0x00 */ long BGM_ID;
|
||||
/* 0x04 */ int sceneNum;
|
||||
/* 0x08 */ int timer;
|
||||
/* 0x0C */ s8 roomNum;
|
||||
/* 0x0D */ u8 SeWave_1;
|
||||
/* 0x0E */ u8 SeWaveToErase_1;
|
||||
/* 0x0F */ u8 SeWave_2;
|
||||
/* 0x10 */ u8 SeWaveToErase_2;
|
||||
/* 0x11 */ u8 BgmWave_1;
|
||||
/* 0x12 */ u8 BgmWaveToErase_1;
|
||||
/* 0x13 */ u8 BgmWave_2;
|
||||
/* 0x14 */ u8 BgmWaveToErase_2;
|
||||
/* 0x15 */ u8 SeWave_3;
|
||||
/* 0x16 */ u8 SeWaveToErase_3;
|
||||
/* 0x17 */ u8 field_0x17;
|
||||
/* 0x18 */ u8 field_0x18;
|
||||
/* 0x19 */ u8 field_0x19;
|
||||
/* 0x1A */ u8 field_0x1a;
|
||||
/* 0x1B */ u8 field_0x1b;
|
||||
/* 0x1C */ bool inGame;
|
||||
/* 0x1D */ bool sceneExist;
|
||||
/* 0x1E */ bool inDarkness;
|
||||
}; // Size = 0x20
|
||||
|
||||
#endif /* Z2SCENEMGR_H */
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,105 @@
|
||||
#ifndef Z2SEQMGR_H
|
||||
#define Z2SEQMGR_H
|
||||
|
||||
#include "JSystem/JAudio2/JAISound.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
// move TTransition / Z2SoundFader ?
|
||||
struct TTransition {
|
||||
/* 0x0 */ float field_0x0;
|
||||
/* 0x4 */ float field_0x4;
|
||||
/* 0x8 */ u32 mCount;
|
||||
}; // Size = 0xC
|
||||
|
||||
struct Z2SoundFader {
|
||||
/* 0x0 */ float mIntensity;
|
||||
/* 0x4 */ TTransition mTransition;
|
||||
}; // Size = 0x10
|
||||
|
||||
class Z2SeqMgr {
|
||||
public:
|
||||
Z2SeqMgr();
|
||||
|
||||
void bgmStart(u32, u32, s32);
|
||||
void bgmStop(u32, s32);
|
||||
void subBgmStart(u32);
|
||||
void subBgmStop();
|
||||
void subBgmStopInner();
|
||||
void bgmStreamPrepare(u32);
|
||||
int bgmStreamCheckReady();
|
||||
void bgmStreamPlay();
|
||||
void bgmStreamStop(u32);
|
||||
void changeBgmStatus(s32);
|
||||
void changeSubBgmStatus(s32);
|
||||
void onVariantBgmJumpEnd(bool);
|
||||
void changeFishingBgm(s32);
|
||||
void talkInBgm();
|
||||
void talkOutBgm();
|
||||
void menuInBgm();
|
||||
void menuOutBgm();
|
||||
void fanfareFramework();
|
||||
void stopWolfHowlSong();
|
||||
void setHeightVolMod(bool, u32);
|
||||
void setTimeProcVolMod(bool, u32);
|
||||
void processBgmFramework();
|
||||
void checkBgmIDPlaying(u32);
|
||||
void getChildTrackVolume(JAISoundHandle*, int);
|
||||
void setChildTrackVolume(JAISoundHandle*, int, float, u32, float, float);
|
||||
void resetBattleBgmParams();
|
||||
void setBattleBgmOff(bool);
|
||||
void setBattleSearched(bool);
|
||||
void setBattleDistIgnore(bool);
|
||||
void setBattleGhostMute(bool);
|
||||
void setBattleDistState(u8);
|
||||
void setBattleSeqState(u8);
|
||||
void setBattleLastHit(u8);
|
||||
void battleBgmFramework();
|
||||
void startBattleBgm(bool);
|
||||
void stopBattleBgm(u8, u8);
|
||||
void fieldBgmStart();
|
||||
void fieldRidingMute();
|
||||
void onFieldBgmJumpStart();
|
||||
void onFieldBgmJumpEnd();
|
||||
void fieldBgmFramework();
|
||||
void mbossBgmMuteProcess();
|
||||
void bgmSetSwordUsing(s32);
|
||||
void bgmNowBattle(float);
|
||||
void taktModeMute();
|
||||
void taktModeMuteOff();
|
||||
void setFieldBgmPlay(bool);
|
||||
|
||||
private:
|
||||
/* 0x00 */ JAISoundHandle mMainBgmHandle;
|
||||
/* 0x04 */ JAISoundHandle mSubBgmHandle;
|
||||
/* 0x08 */ JAISoundHandle field_0x08;
|
||||
/* 0x0C */ JAISoundHandle field_0x0c;
|
||||
/* 0x10 */ JAISoundID field_0x10;
|
||||
/* 0x14 */ Z2SoundFader field_0x14;
|
||||
/* 0x24 */ Z2SoundFader field_0x24;
|
||||
/* 0x34 */ Z2SoundFader field_0x34;
|
||||
/* 0x44 */ Z2SoundFader field_0x44;
|
||||
/* 0x54 */ Z2SoundFader field_0x54;
|
||||
/* 0x64 */ Z2SoundFader field_0x64;
|
||||
/* 0x74 */ Z2SoundFader field_0x74;
|
||||
/* 0x84 */ Z2SoundFader field_0x84;
|
||||
/* 0x94 */ Z2SoundFader field_0x94;
|
||||
/* 0xA4 */ Z2SoundFader field_0xa4;
|
||||
/* 0xB4 */ float mTwilightGateVolume;
|
||||
/* 0xB8 */ u16 field_0xb8;
|
||||
/* 0xBA */ u8 field_0xba;
|
||||
/* 0xBB */ u8 field_0xbb;
|
||||
/* 0xBC */ u8 field_0xbc;
|
||||
/* 0xBD */ u8 field_0xbd;
|
||||
/* 0xBE */ u8 field_0xbe;
|
||||
/* 0xBF */ u8 field_0xbf;
|
||||
/* 0xC0 */ u8 field_0xc0;
|
||||
/* 0xC1 */ u8 field_0xc1;
|
||||
/* 0xC2 */ u8 field_0xc2;
|
||||
/* 0xC3 */ u8 field_0xc3;
|
||||
/* 0xC4 */ u8 field_0xc4;
|
||||
/* 0xC8 */ float field_0xc8;
|
||||
/* 0xCC */ float field_0xcc;
|
||||
/* 0xD0 */ u8 mFlags;
|
||||
}; // Size = 0xD4
|
||||
|
||||
#endif /* Z2SEQMGR_H */
|
||||
|
||||
@@ -1,6 +1,39 @@
|
||||
#ifndef Z2SOUNDOBJMGR_H
|
||||
#define Z2SOUNDOBJMGR_H
|
||||
|
||||
#include "JSystem/JSupport/JSUList.h"
|
||||
#include "Z2AudioLib/Z2Creature.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class Z2SoundObjMgr : protected JSUList<Z2CreatureEnemy> {
|
||||
public:
|
||||
Z2SoundObjMgr();
|
||||
void setForceBattleArea(bool, u16, u16, u16);
|
||||
void searchEnemy();
|
||||
void setGhostEnemyState(u8);
|
||||
void getEnemyID(char const*, JSULink<Z2CreatureEnemy>*);
|
||||
void setBattleInit();
|
||||
void checkBattleFinish();
|
||||
void deleteEnemyAll();
|
||||
void removeEnemy(JSULink<Z2CreatureEnemy>*);
|
||||
bool isTwilightBattle();
|
||||
|
||||
bool isForceBattle() { return mForceBattle; }
|
||||
|
||||
private:
|
||||
/* 0x0C */ u8 field_0xc[2];
|
||||
/* 0x0E */ u16 field_0xe;
|
||||
/* 0x10 */ u16 field_0x10;
|
||||
/* 0x12 */ u16 field_0x12;
|
||||
/* 0x14 */ u8 field_0x14;
|
||||
/* 0x15 */ u8 mEnemyNumNear;
|
||||
/* 0x16 */ u8 field_0x16;
|
||||
/* 0x17 */ u8 mEnemyNumVeryFar;
|
||||
/* 0x18 */ u8 field_0x18;
|
||||
/* 0x19 */ u8 mGhostEnemyState;
|
||||
/* 0x1A */ bool field_0x1a;
|
||||
/* 0x1B */ bool mTwilightBattle;
|
||||
/* 0x1C */ bool mForceBattle;
|
||||
}; // Size = 0x20
|
||||
|
||||
#endif /* Z2SOUNDOBJMGR_H */
|
||||
|
||||
@@ -23,23 +23,20 @@ struct Z2StatusMgr {
|
||||
|
||||
//! @todo there are a number of inlines only called from rels: see CHN_debug
|
||||
|
||||
u8 mHour;
|
||||
u8 mMinute;
|
||||
u8 mWeekday;
|
||||
u8 field_0x03;
|
||||
s16 mTime;
|
||||
u8 field_0x6[2];
|
||||
void* mEventBit;
|
||||
bool mIsMenuIn;
|
||||
u8 field_0xd[3];
|
||||
u32 mCameraMapInfo;
|
||||
u32 field_0x14;
|
||||
float mUnderwaterDepth;
|
||||
float mCameraInWaterDepthRatio;
|
||||
Vec mPolygonPosition;
|
||||
u8 mDemoStatus;
|
||||
u8 mHeartGaugeOn;
|
||||
u8 padding[2];
|
||||
};
|
||||
/* 0x00 */ u8 mHour;
|
||||
/* 0x01 */ u8 mMinute;
|
||||
/* 0x02 */ u8 mWeekday;
|
||||
/* 0x03 */ u8 field_0x03;
|
||||
/* 0x04 */ s16 mTime;
|
||||
/* 0x08 */ void* mEventBit;
|
||||
/* 0x0C */ bool mIsMenuIn;
|
||||
/* 0x10 */ u32 mCameraMapInfo;
|
||||
/* 0x14 */ u32 field_0x14;
|
||||
/* 0x18 */ float mUnderwaterDepth;
|
||||
/* 0x1C */ float mCameraInWaterDepthRatio;
|
||||
/* 0x20 */ Vec mPolygonPosition;
|
||||
/* 0x2C */ u8 mDemoStatus;
|
||||
/* 0x2D */ u8 mHeartGaugeOn;
|
||||
}; // Size = 0x30
|
||||
|
||||
#endif /* Z2STATUSMGR_H */
|
||||
|
||||
@@ -2909,7 +2909,7 @@ public:
|
||||
|
||||
private:
|
||||
/* 0x0000 */ fopAc_ac_c mActor;
|
||||
/* 0x0538 */ u8 field_0x538[0xD1C];
|
||||
/* 0x0570 */ u8 field_0x570[0xCE4];
|
||||
/* 0x1254 */ daPy_actorKeep_c mZeldaActorKeep;
|
||||
};
|
||||
|
||||
@@ -2932,7 +2932,7 @@ public:
|
||||
|
||||
private:
|
||||
/* 0x0000 */ fopAc_ac_c mActor;
|
||||
/* 0x0538 */ u8 field_0x538[0x35C];
|
||||
/* 0x0570 */ u8 field_0x570[0x324];
|
||||
/* 0x0894 */ u32 mStateFlg1;
|
||||
/* 0x0898 */ u32 mEndResetStateFlg0;
|
||||
};
|
||||
|
||||
@@ -126,9 +126,6 @@ private:
|
||||
|
||||
class daPy_py_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 0x0538 */ u8 field_0x538[0x32];
|
||||
/* 0x056A */ u8 field_0x56a;
|
||||
/* 0x056B */ u8 field_0x56b[5];
|
||||
/* 0x0570 */ int mNoResetFlg0;
|
||||
/* 0x0574 */ int mNoResetFlg1;
|
||||
/* 0x0578 */ int mNoResetFlg2;
|
||||
@@ -390,7 +387,7 @@ public:
|
||||
|
||||
inline bool getSumouCameraMode() const {
|
||||
bool sumouCameraMode = false;
|
||||
if (field_0x56a != 0 && field_0x56a < 0x26) {
|
||||
if (field_0x560[0xA] != 0 && field_0x560[0xA] < 0x26) {
|
||||
sumouCameraMode = true;
|
||||
}
|
||||
return sumouCameraMode;
|
||||
|
||||
@@ -43,4 +43,9 @@ class dBgS_ObjLinChk : dBgS_LinChk {
|
||||
/* 80077FB8 */ ~dBgS_ObjLinChk();
|
||||
};
|
||||
|
||||
class dBgS_BombLinChk : dBgS_LinChk {
|
||||
/* 80078104 */ dBgS_BombLinChk();
|
||||
/* 80078160 */ ~dBgS_BombLinChk();
|
||||
};
|
||||
|
||||
#endif /* D_BG_D_BG_S_LIN_CHK_H */
|
||||
|
||||
@@ -137,9 +137,7 @@ public:
|
||||
/* 0x03F8C */ dStage_roomControl_c* mRoomControl;
|
||||
/* 0x03F90 */ dEvt_control_c mEvent;
|
||||
/* 0x040C0 */ dEvent_manager_c mEvtManager;
|
||||
/* 0x0477C */ u8 field_0x477C[4];
|
||||
/* 0x04780 */ dAttention_c mAttention;
|
||||
/* 0x04C88 */ u8 field_0x4c88[0x14];
|
||||
/* 0x04C9C */ dVibration_c mVibration;
|
||||
/* 0x04D2C */ u8 field_0x4d2c[4];
|
||||
/* 0x04D30 */ JKRArchive* mFieldMapArchive2;
|
||||
@@ -258,18 +256,18 @@ public:
|
||||
/* 0x04F07 */ u8 mCStickStatusForce;
|
||||
/* 0x04F08 */ u8 mSButtonStatusForce;
|
||||
/* 0x04F09 */ u8 mZStatusForce;
|
||||
/* 0x04F0A */ u8 mRSetFlag; // related to RStatus
|
||||
/* 0x04F0B */ u8 mASetFlag; // related to AStatus
|
||||
/* 0x04F0A */ u8 mRSetFlag;
|
||||
/* 0x04F0B */ u8 mASetFlag;
|
||||
/* 0x04F0C */ u8 field_0x4f0c;
|
||||
/* 0x04F0D */ u8 mNunSetFlag; // related to NunStatus
|
||||
/* 0x04F0E */ u8 mBottleSetFlag; // related to BottleStatus
|
||||
/* 0x04F0F */ u8 mRemoConSetFlag; // related to RemoConStatus
|
||||
/* 0x04F0D */ u8 mNunSetFlag;
|
||||
/* 0x04F0E */ u8 mBottleSetFlag;
|
||||
/* 0x04F0F */ u8 mRemoConSetFlag;
|
||||
/* 0x04F10 */ u8 field_0x4f10[2];
|
||||
/* 0x04F12 */ u8 mDoSetFlag; // related to DoStatus
|
||||
/* 0x04F13 */ u8 m3DSetFlag; // related to 3DStatus
|
||||
/* 0x04F14 */ u8 mCStickSetFlag; // related to CStickStatus
|
||||
/* 0x04F15 */ u8 mSButtonSetFlag; // related to SButtonStatus
|
||||
/* 0x04F16 */ u8 mZSetFlag; // related to ZStatus
|
||||
/* 0x04F12 */ u8 mDoSetFlag;
|
||||
/* 0x04F13 */ u8 m3DSetFlag;
|
||||
/* 0x04F14 */ u8 mCStickSetFlag;
|
||||
/* 0x04F15 */ u8 mSButtonSetFlag;
|
||||
/* 0x04F16 */ u8 mZSetFlag;
|
||||
/* 0x04F17 */ u8 mRSetFlagForce;
|
||||
/* 0x04F18 */ u8 mASetFlagForce;
|
||||
/* 0x04F19 */ u8 field_0x4f19;
|
||||
@@ -288,14 +286,14 @@ public:
|
||||
/* 0x04F27 */ u8 mXSetFlagForce;
|
||||
/* 0x04F28 */ u8 mYStatus;
|
||||
/* 0x04F29 */ u8 mYStatusForce;
|
||||
/* 0x04F2A */ u8 mYSetFlag; // related to YStatus
|
||||
/* 0x04F2A */ u8 mYSetFlag;
|
||||
/* 0x04F2B */ u8 mYSetFlagForce;
|
||||
/* 0x04F2C */ u8 mNunZStatus;
|
||||
/* 0x04F2D */ u8 mNunZSetFlag; // related to NunZStatus
|
||||
/* 0x04F2D */ u8 mNunZSetFlag;
|
||||
/* 0x04F2E */ u8 field_0x4fc6; // related to NunZStatusForce
|
||||
/* 0x04F2F */ u8 field_0x4fc7; // related to NunZStatusForce
|
||||
/* 0x04F30 */ u8 mNunCStatus;
|
||||
/* 0x04F31 */ u8 mNunCSetFlag; // related to NunCStatus
|
||||
/* 0x04F31 */ u8 mNunCSetFlag;
|
||||
/* 0x04F32 */ u8 field_0x4fca; // related to NunCStatusForce
|
||||
/* 0x04F33 */ u8 field_0x4fcb; // related to NunCStatusForce
|
||||
/* 0x04F34 */ u8 mSelectItem[8];
|
||||
|
||||
+81
-83
@@ -25,10 +25,10 @@ private:
|
||||
|
||||
class dAttCatch_c {
|
||||
public:
|
||||
/* 8007398C */ void convPId(unsigned int);
|
||||
/* 800739BC */ void init();
|
||||
/* 800739DC */ void proc();
|
||||
/* 80073A08 */ void request(fopAc_ac_c*, u8, f32, f32, f32, s16, int);
|
||||
void convPId(unsigned int);
|
||||
void init();
|
||||
void proc();
|
||||
void request(fopAc_ac_c*, u8, f32, f32, f32, s16, int);
|
||||
|
||||
private:
|
||||
void* field_0x0;
|
||||
@@ -38,8 +38,9 @@ private:
|
||||
u8 field_0xd;
|
||||
u8 field_0xe;
|
||||
u8 field_0xf;
|
||||
void* field_0x10;
|
||||
};
|
||||
u32 field_0x10;
|
||||
u8 mChangeItem;
|
||||
}; // Size = 0x14
|
||||
|
||||
class dAttParam_c {
|
||||
public:
|
||||
@@ -47,26 +48,29 @@ public:
|
||||
/* 80070110 */ ~dAttParam_c();
|
||||
|
||||
private:
|
||||
u8 field_0x0;
|
||||
u8 field_0x1;
|
||||
u8 field_0x2;
|
||||
u8 field_0x3;
|
||||
u8 field_0x4;
|
||||
u8 field_0x5;
|
||||
u8 field_0x6;
|
||||
u8 field_0x7;
|
||||
u8 field_0x8;
|
||||
u8 field_0x9;
|
||||
u8 field_0xa;
|
||||
u8 field_0xb;
|
||||
u8 field_0xc;
|
||||
u8 field_0xd;
|
||||
u8 field_0xe;
|
||||
u8 field_0xf;
|
||||
u8 field_0x10;
|
||||
u8 field_0x11;
|
||||
u8 field_0x12;
|
||||
};
|
||||
/* 0x00 */ void* vtable;
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ u8 field_0x5;
|
||||
/* 0x06 */ u16 mFlag;
|
||||
/* 0x08 */ float field_0x8;
|
||||
/* 0x0C */ float field_0xc;
|
||||
/* 0x10 */ float field_0x10;
|
||||
/* 0x14 */ float field_0x14;
|
||||
/* 0x18 */ float field_0x18;
|
||||
/* 0x1C */ float field_0x1c;
|
||||
/* 0x20 */ float field_0x20;
|
||||
/* 0x24 */ float field_0x24;
|
||||
/* 0x28 */ float field_0x28;
|
||||
/* 0x2C */ float field_0x2c;
|
||||
/* 0x30 */ float field_0x30;
|
||||
/* 0x34 */ float field_0x34;
|
||||
/* 0x38 */ u8 field_0x38;
|
||||
/* 0x39 */ u8 field_0x39;
|
||||
/* 0x3C */ float field_0x3c;
|
||||
/* 0x40 */ float field_0x40;
|
||||
/* 0x44 */ u32 field_0x44;
|
||||
/* 0x48 */ u32 field_0x48;
|
||||
}; // Size = 0x4C
|
||||
|
||||
class dAttLook_c {
|
||||
public:
|
||||
@@ -79,7 +83,8 @@ private:
|
||||
u32 field_0x0;
|
||||
u32 field_0x4;
|
||||
float field_0x8;
|
||||
};
|
||||
u32 field_0xc;
|
||||
}; // Size = 0x10
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dAttList_c {
|
||||
@@ -96,7 +101,6 @@ private:
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dAttDraw_c {
|
||||
public:
|
||||
/* 8003054C */ ~dAttDraw_c();
|
||||
@@ -123,7 +127,7 @@ public:
|
||||
/* 0x11C */ mDoExt_bpkAnm bpkAnm2;
|
||||
/* 0x134 */ mDoExt_brkAnm brkAnm3;
|
||||
/* 0x14C */ mDoExt_btkAnm btkAnm2;
|
||||
/* 0x164 */ u8 field_0x164[0xC];
|
||||
/* 0x164 */ cXyz field_0x164;
|
||||
/* 0x170 */ u8 field_0x170;
|
||||
/* 0x171 */ u8 field_0x171;
|
||||
/* 0x172 */ u8 field_0x172;
|
||||
@@ -131,7 +135,6 @@ public:
|
||||
/* 0x174 */ u8 field_0x174;
|
||||
/* 0x175 */ u8 field_0x175;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
class dAttDraw_CallBack_c {
|
||||
public:
|
||||
@@ -187,58 +190,53 @@ public:
|
||||
static u32 chk_type_tbl;
|
||||
static u32 chk_type_num;
|
||||
|
||||
private:
|
||||
u8 field_0x0[4];
|
||||
u32 field_0x4;
|
||||
dAttDraw_CallBack_c dattdraw_callback;
|
||||
u32 field_0xc;
|
||||
u32 field_0x10;
|
||||
u8 field_0x14[8];
|
||||
cXyz field_0x1c;
|
||||
/* 0x028 */ dAttDraw_c attention_draw[2];
|
||||
int field_0x318;
|
||||
cXyz field_0x31c;
|
||||
u8 field_0x328[12];
|
||||
u32 field_0x334;
|
||||
/* 0x0338 */ dAttList_c attention_list1[8];
|
||||
int* field_0x3d8;
|
||||
int* field_0x3dc;
|
||||
/* 0x03E0 */ dAttList_c attention_list2[4];
|
||||
int* field_0x430;
|
||||
int field_0x434;
|
||||
/* 0x0438 */ dAttList_c attention_list3[4];
|
||||
int* field_0x488;
|
||||
int field_0x48c;
|
||||
dAttHint_c attention_hint;
|
||||
dAttCatch_c attention_catch;
|
||||
u8 field_0x4b0[4];
|
||||
dAttLook_c attention_look;
|
||||
u8 field_0x4c0;
|
||||
u8 field_0x4c1;
|
||||
u8 field_0x4c2;
|
||||
u8 field_0x4c3;
|
||||
int* field_0x4c4;
|
||||
u8 field_0x4c8;
|
||||
u8 field_0x4c9;
|
||||
u8 field_0x4ca;
|
||||
u8 field_0x4cb;
|
||||
u8 field_0x4cc;
|
||||
u8 field_0x4cd;
|
||||
u8 field_0x4ce;
|
||||
u8 field_0x4cf;
|
||||
/* 0x04D0 */ dAttParam_c attention_param;
|
||||
u8 field_0x4e3;
|
||||
u8 field_0x4e4;
|
||||
u8 field_0x4e5;
|
||||
int* field_0x4e6;
|
||||
u8 field_0x4ea;
|
||||
u8 field_0x4eb;
|
||||
u8 field_0x4ec;
|
||||
u8 field_0x4ed;
|
||||
u8 field_0x4ee;
|
||||
u8 field_0x4ef;
|
||||
u8 field_0x4f0[0x18];
|
||||
/* 0x0508 */ void* vtable;
|
||||
};
|
||||
public:
|
||||
/* 0x000 */ fopAc_ac_c* field_0x0;
|
||||
/* 0x004 */ u32 field_0x4;
|
||||
/* 0x008 */ dAttDraw_CallBack_c dattdraw_callback;
|
||||
/* 0x00C */ u32 field_0xc;
|
||||
/* 0x010 */ u32 field_0x10;
|
||||
/* 0x014 */ u8 field_0x14[4];
|
||||
/* 0x018 */ JKRSolidHeap* heap;
|
||||
/* 0x01C */ cXyz field_0x1c;
|
||||
/* 0x028 */ dAttDraw_c draw[2];
|
||||
/* 0x318 */ int field_0x318;
|
||||
/* 0x31C */ cXyz field_0x31c;
|
||||
/* 0x328 */ u8 field_0x328;
|
||||
/* 0x329 */ u8 field_0x329;
|
||||
/* 0x32A */ u8 field_0x32a;
|
||||
/* 0x32B */ u8 field_0x32b;
|
||||
/* 0x32C */ u8 field_0x32c;
|
||||
/* 0x32D */ u8 field_0x32d;
|
||||
/* 0x32E */ u8 field_0x32e;
|
||||
/* 0x32F */ u8 field_0x32f;
|
||||
/* 0x330 */ u8 field_0x330;
|
||||
/* 0x331 */ u8 field_0x331;
|
||||
/* 0x332 */ u8 field_0x332;
|
||||
/* 0x333 */ u8 field_0x333;
|
||||
/* 0x334 */ u32 mFlags;
|
||||
/* 0x338 */ dAttList_c mLockOnList[8];
|
||||
/* 0x3D8 */ int mLockonCount;
|
||||
/* 0x3DC */ int field_0x3dc;
|
||||
/* 0x3E0 */ dAttList_c mActionList[4];
|
||||
/* 0x430 */ int mActionCount;
|
||||
/* 0x434 */ int field_0x434;
|
||||
/* 0x438 */ dAttList_c attention_list3[4];
|
||||
/* 0x488 */ int mCheckObjectCount;
|
||||
/* 0x48C */ int field_0x48c;
|
||||
/* 0x490 */ dAttHint_c mZHintTarget;
|
||||
/* 0x49C */ dAttCatch_c mCatghTarget;
|
||||
/* 0x4B4 */ dAttLook_c mLookTarget;
|
||||
/* 0x4C4 */ int field_0x4c4;
|
||||
/* 0x4C8 */ u8 field_0x4c8;
|
||||
/* 0x4C9 */ u8 field_0x4c9;
|
||||
/* 0x4CA */ u8 field_0x4ca;
|
||||
/* 0x4CB */ u8 field_0x4cb;
|
||||
/* 0x4CC */ u8 field_0x4cc;
|
||||
/* 0x4CD */ u8 field_0x4cd;
|
||||
/* 0x4CE */ u8 field_0x4ce;
|
||||
/* 0x4CF */ u8 field_0x4cf;
|
||||
/* 0x4D0 */ dAttParam_c attention_param;
|
||||
}; // Size = 0x51C
|
||||
|
||||
#endif /* D_D_ATTENTION_H */
|
||||
|
||||
+41
-1
@@ -1,6 +1,46 @@
|
||||
#ifndef D_D_BOMB_H
|
||||
#define D_D_BOMB_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "Z2AudioLib/Z2SoundObject.h"
|
||||
#include "d/bg/d_bg_s_acch.h"
|
||||
#include "d/cc/d_cc_d.h"
|
||||
#include "d/kankyo/d_kankyo.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
class daNbomb_c {
|
||||
public:
|
||||
enum daNbomb_FLG0 { WATER_BOMB = 16 };
|
||||
|
||||
u32 checkStateFlg0(daNbomb_FLG0 flag) const { return mStateFlg0 & flag; }
|
||||
u32 checkWaterBomb() const { return checkStateFlg0(WATER_BOMB); }
|
||||
|
||||
/* 0x000 */ fopAc_ac_c mActor;
|
||||
/* 0x570 */ u8 field_0x570[8];
|
||||
/* 0x578 */ dBgS_Acch mAcch;
|
||||
/* 0x750 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x790 */ dCcD_Stts mStts;
|
||||
/* 0x7CC */ dCcD_Sph mSph1;
|
||||
/* 0x904 */ dCcD_Sph mSph2;
|
||||
/* 0xA3C */ u8 field_0xa3c[0x64];
|
||||
/* 0xAA0 */ dBgS_BombLinChk mLinChk;
|
||||
/* 0xB10 */ cBgS_PolyInfo mPolyInfo;
|
||||
/* 0xB20 */ Z2SoundObjSimple mSoundObj;
|
||||
/* 0xB40 */ u8 field_0xb40[0xC];
|
||||
/* 0xB4C */ u32 mStateFlg0;
|
||||
/* 0xB50 */ u8 field_0xb50;
|
||||
/* 0xB51 */ u8 field_0xb51[0x3];
|
||||
/* 0xB54 */ u8 field_0xb54;
|
||||
/* 0xB55 */ u8 field_0xb55[0xB];
|
||||
/* 0xB60 */ LIGHT_INFLUENCE field_0xb60;
|
||||
/* 0xB80 */ WIND_INFLUENCE field_0xb80;
|
||||
};
|
||||
|
||||
class dBomb_c : public daNbomb_c {
|
||||
public:
|
||||
bool checkStateCarry();
|
||||
bool checkFlowerBombWait(fopAc_ac_c*);
|
||||
bool checkWaterBomb(fopAc_ac_c*);
|
||||
bool checkInsectBombMove(fopAc_ac_c*);
|
||||
};
|
||||
|
||||
#endif /* D_D_BOMB_H */
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
|
||||
class dJntColData_c {};
|
||||
|
||||
class fopAc_ac_c;
|
||||
|
||||
class dJntCol_c {
|
||||
public:
|
||||
/* 80035C8C */ dJntCol_c();
|
||||
|
||||
+85
-263
@@ -4,275 +4,94 @@
|
||||
#include "d/a/d_a_itembase.h"
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "d/d_stage.h"
|
||||
#include "d/event/d_event_manager.h"
|
||||
#include "d/save/d_save.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dEvt_order_c {
|
||||
public:
|
||||
/* 80030154 */ ~dEvt_order_c();
|
||||
/* 800415D4 */ dEvt_order_c();
|
||||
~dEvt_order_c();
|
||||
dEvt_order_c();
|
||||
|
||||
private:
|
||||
u8 field_0x0;
|
||||
u8 field_0x1;
|
||||
u8 field_0x2;
|
||||
u8 field_0x3;
|
||||
u8 field_0x4;
|
||||
u8 field_0x5;
|
||||
u8 field_0x6;
|
||||
u8 field_0x7;
|
||||
u8 field_0x8;
|
||||
u8 field_0x9;
|
||||
u8 field_0xa;
|
||||
u8 field_0xb;
|
||||
u8 field_0xc;
|
||||
u8 field_0xd;
|
||||
u8 field_0xe;
|
||||
u8 field_0xf;
|
||||
u8 field_0x10;
|
||||
u8 field_0x11;
|
||||
u8 field_0x12;
|
||||
u8 field_0x13;
|
||||
u8 field_0x14;
|
||||
u8 field_0x15;
|
||||
u8 field_0x16;
|
||||
u8 field_0x17;
|
||||
u8 field_0x18;
|
||||
u8 field_0x19;
|
||||
u8 field_0x1a;
|
||||
u8 field_0x1b;
|
||||
u8 field_0x1c;
|
||||
u8 field_0x1d;
|
||||
u8 field_0x1e;
|
||||
u8 field_0x1f;
|
||||
u8 field_0x20;
|
||||
u8 field_0x21;
|
||||
u8 field_0x22;
|
||||
u8 field_0x23;
|
||||
u8 field_0x24;
|
||||
u8 field_0x25;
|
||||
u8 field_0x26;
|
||||
u8 field_0x27;
|
||||
u8 field_0x28;
|
||||
u8 field_0x29;
|
||||
u8 field_0x2a;
|
||||
u8 field_0x2b;
|
||||
u8 field_0x2c;
|
||||
u8 field_0x2d;
|
||||
u8 field_0x2e;
|
||||
u8 field_0x2f;
|
||||
u8 field_0x30;
|
||||
u8 field_0x31;
|
||||
u8 field_0x32;
|
||||
u8 field_0x33;
|
||||
u8 field_0x34;
|
||||
u8 field_0x35;
|
||||
u8 field_0x36;
|
||||
u8 field_0x37;
|
||||
u8 field_0x38;
|
||||
u8 field_0x39;
|
||||
u8 field_0x3a;
|
||||
u8 field_0x3b;
|
||||
u8 field_0x3c;
|
||||
u8 field_0x3d;
|
||||
u8 field_0x3e;
|
||||
u8 field_0x3f;
|
||||
u8 field_0x40;
|
||||
u8 field_0x41;
|
||||
u8 field_0x42;
|
||||
u8 field_0x43;
|
||||
u8 field_0x44;
|
||||
u8 field_0x45;
|
||||
u8 field_0x46;
|
||||
u8 field_0x47;
|
||||
u8 field_0x48;
|
||||
u8 field_0x49;
|
||||
u8 field_0x4a;
|
||||
u8 field_0x4b;
|
||||
u8 field_0x4c;
|
||||
u8 field_0x4d;
|
||||
u8 field_0x4e;
|
||||
u8 field_0x4f;
|
||||
u8 field_0x50;
|
||||
u8 field_0x51;
|
||||
u8 field_0x52;
|
||||
u8 field_0x53;
|
||||
u8 field_0x54;
|
||||
u8 field_0x55;
|
||||
u8 field_0x56;
|
||||
u8 field_0x57;
|
||||
u8 field_0x58;
|
||||
u8 field_0x59;
|
||||
u8 field_0x5a;
|
||||
u8 field_0x5b;
|
||||
u8 field_0x5c;
|
||||
u8 field_0x5d;
|
||||
u8 field_0x5e;
|
||||
u8 field_0x5f;
|
||||
u8 field_0x60;
|
||||
u8 field_0x61;
|
||||
u8 field_0x62;
|
||||
u8 field_0x63;
|
||||
u8 field_0x64;
|
||||
u8 field_0x65;
|
||||
u8 field_0x66;
|
||||
u8 field_0x67;
|
||||
u8 field_0x68;
|
||||
u8 field_0x69;
|
||||
u8 field_0x6a;
|
||||
u8 field_0x6b;
|
||||
u8 field_0x6c;
|
||||
u8 field_0x6d;
|
||||
u8 field_0x6e;
|
||||
u8 field_0x6f;
|
||||
u8 field_0x70;
|
||||
u8 field_0x71;
|
||||
u8 field_0x72;
|
||||
u8 field_0x73;
|
||||
u8 field_0x74;
|
||||
u8 field_0x75;
|
||||
u8 field_0x76;
|
||||
u8 field_0x77;
|
||||
u8 field_0x78;
|
||||
u8 field_0x79;
|
||||
u8 field_0x7a;
|
||||
u8 field_0x7b;
|
||||
u8 field_0x7c;
|
||||
u8 field_0x7d;
|
||||
u8 field_0x7e;
|
||||
u8 field_0x7f;
|
||||
u8 field_0x80;
|
||||
u8 field_0x81;
|
||||
u8 field_0x82;
|
||||
u8 field_0x83;
|
||||
u8 field_0x84;
|
||||
u8 field_0x85;
|
||||
u8 field_0x86;
|
||||
u8 field_0x87;
|
||||
u8 field_0x88;
|
||||
u8 field_0x89;
|
||||
u8 field_0x8a;
|
||||
u8 field_0x8b;
|
||||
u8 field_0x8c;
|
||||
u8 field_0x8d;
|
||||
u8 field_0x8e;
|
||||
u8 field_0x8f;
|
||||
u8 field_0x90;
|
||||
u8 field_0x91;
|
||||
u8 field_0x92;
|
||||
u8 field_0x93;
|
||||
u8 field_0x94;
|
||||
u8 field_0x95;
|
||||
u8 field_0x96;
|
||||
u8 field_0x97;
|
||||
u8 field_0x98;
|
||||
u8 field_0x99;
|
||||
u8 field_0x9a;
|
||||
u8 field_0x9b;
|
||||
u8 field_0x9c;
|
||||
u8 field_0x9d;
|
||||
u8 field_0x9e;
|
||||
u8 field_0x9f;
|
||||
u8 field_0xa0;
|
||||
u8 field_0xa1;
|
||||
u8 field_0xa2;
|
||||
u8 field_0xa3;
|
||||
u8 field_0xa4;
|
||||
u8 field_0xa5;
|
||||
u8 field_0xa6;
|
||||
u8 field_0xa7;
|
||||
u8 field_0xa8;
|
||||
u8 field_0xa9;
|
||||
u8 field_0xaa;
|
||||
u8 field_0xab;
|
||||
u8 field_0xac;
|
||||
u8 field_0xad;
|
||||
u8 field_0xae;
|
||||
u8 field_0xaf;
|
||||
u8 field_0xb0;
|
||||
u8 field_0xb1;
|
||||
u8 field_0xb2;
|
||||
u8 field_0xb3;
|
||||
u8 field_0xb4;
|
||||
u8 field_0xb5;
|
||||
u8 field_0xb6;
|
||||
u8 field_0xb7;
|
||||
u8 field_0xb8;
|
||||
u8 field_0xb9;
|
||||
u8 field_0xba;
|
||||
u8 field_0xbb;
|
||||
u8 field_0xbc;
|
||||
u8 field_0xbd;
|
||||
u8 field_0xbe;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
/* 0x00 */ u16 mEventType;
|
||||
/* 0x02 */ u16 mFlag;
|
||||
/* 0x04 */ s16 field_0x04;
|
||||
/* 0x08 */ fopAc_ac_c* mActor1;
|
||||
/* 0x0C */ fopAc_ac_c* mActor2;
|
||||
/* 0x10 */ s16 mEventId;
|
||||
/* 0x12 */ s16 mPriority;
|
||||
/* 0x14 */ u8 mNextOrderIdx;
|
||||
/* 0x15 */ u8 mEventInfoIdx;
|
||||
}; // Size = 0x18
|
||||
|
||||
typedef int (*SkipFunc)(void*, int);
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dEvt_control_c {
|
||||
public:
|
||||
/* 80041580 */ dEvt_control_c();
|
||||
/* 800415D8 */ void orderOld(u16, u16, u16, u16, void*, void*, void const*);
|
||||
/* 80041668 */ void order(u16, u16, u16, u16, void*, void*, s16, u8);
|
||||
/* 80041804 */ void setParam(dEvt_order_c*);
|
||||
/* 80041934 */ void beforeFlagProc(dEvt_order_c*);
|
||||
/* 80041964 */ void afterFlagProc(dEvt_order_c*);
|
||||
/* 800419A8 */ void commonCheck(dEvt_order_c*, u16, u16);
|
||||
/* 80041A20 */ void talkCheck(dEvt_order_c*);
|
||||
/* 80041B58 */ void talkXyCheck(dEvt_order_c*);
|
||||
/* 80041C90 */ void catchCheck(dEvt_order_c*);
|
||||
/* 80041D34 */ void talkEnd();
|
||||
/* 80041DDC */ void demoCheck(dEvt_order_c*);
|
||||
/* 80041F18 */ void demoEnd();
|
||||
/* 80041FA0 */ void potentialCheck(dEvt_order_c*);
|
||||
/* 80042014 */ void doorCheck(dEvt_order_c*);
|
||||
/* 8004212C */ void itemCheck(dEvt_order_c*);
|
||||
/* 800421C0 */ void endProc();
|
||||
/* 80042254 */ void change();
|
||||
/* 800422C0 */ void entry();
|
||||
/* 80042518 */ void reset(void*);
|
||||
/* 80042468 */ void reset();
|
||||
/* 800425B4 */ void clearSkipSystem();
|
||||
/* 8004290C */ void getSkipEventName();
|
||||
/* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int);
|
||||
/* 80042958 */ void setSkipZev(void*, char*);
|
||||
/* 800429A8 */ void onSkipFade();
|
||||
/* 800429B4 */ void offSkipFade();
|
||||
/* 800429D4 */ void skipper();
|
||||
/* 80042BBC */ void Step();
|
||||
/* 80042FA8 */ void moveApproval(void*);
|
||||
/* 8004316C */ void compulsory(void*, char const*, u16);
|
||||
/* 800431E8 */ void remove();
|
||||
/* 80043278 */ void getStageEventDt();
|
||||
/* 80043280 */ void sceneChange(int);
|
||||
/* 800432C8 */ void getPId(void*);
|
||||
/* 800432EC */ void convPId(unsigned int);
|
||||
/* 8004331C */ void getStbDemoData(char*);
|
||||
/* 80043500 */ void searchMapEventData(u8, s32);
|
||||
/* 800434D8 */ void searchMapEventData(u8);
|
||||
/* 8004360C */ void runningEventID(s16);
|
||||
/* 8004362C */ void setPt1(void*);
|
||||
/* 8004365C */ void setPt2(void*);
|
||||
/* 8004368C */ void setPtT(void*);
|
||||
/* 800436BC */ void setPtI(void*);
|
||||
/* 800436EC */ void setPtI_Id(unsigned int);
|
||||
/* 800436F4 */ void setPtD(void*);
|
||||
/* 80043724 */ void setGtItm(u8);
|
||||
dEvt_control_c();
|
||||
void orderOld(u16, u16, u16, u16, void*, void*, void const*);
|
||||
void order(u16, u16, u16, u16, void*, void*, s16, u8);
|
||||
void setParam(dEvt_order_c*);
|
||||
s32 beforeFlagProc(dEvt_order_c*);
|
||||
void afterFlagProc(dEvt_order_c*);
|
||||
void commonCheck(dEvt_order_c*, u16, u16);
|
||||
void talkCheck(dEvt_order_c*);
|
||||
void talkXyCheck(dEvt_order_c*);
|
||||
void catchCheck(dEvt_order_c*);
|
||||
void talkEnd();
|
||||
void demoCheck(dEvt_order_c*);
|
||||
void demoEnd();
|
||||
s32 potentialCheck(dEvt_order_c*);
|
||||
void doorCheck(dEvt_order_c*);
|
||||
void itemCheck(dEvt_order_c*);
|
||||
void endProc();
|
||||
void change();
|
||||
void entry();
|
||||
void reset(void*);
|
||||
void reset();
|
||||
void clearSkipSystem();
|
||||
char* getSkipEventName();
|
||||
void setSkipProc(void*, SkipFunc, int);
|
||||
void setSkipZev(void*, char*);
|
||||
void onSkipFade();
|
||||
void offSkipFade();
|
||||
void skipper();
|
||||
void Step();
|
||||
void moveApproval(void*);
|
||||
void compulsory(void*, char const*, u16);
|
||||
void remove();
|
||||
void* getStageEventDt(); // ret type probably wrong, fix later
|
||||
void sceneChange(int);
|
||||
u32 getPId(void*);
|
||||
void convPId(unsigned int);
|
||||
void getStbDemoData(char*);
|
||||
void searchMapEventData(u8, s32);
|
||||
void searchMapEventData(u8);
|
||||
s16 runningEventID(s16);
|
||||
void setPt1(void*);
|
||||
void setPt2(void*);
|
||||
void setPtT(void*);
|
||||
void setPtI(void*);
|
||||
void setPtI_Id(unsigned int);
|
||||
void setPtD(void*);
|
||||
void setGtItm(u8);
|
||||
|
||||
private:
|
||||
u16 chkFlag2(u16 flag) { return flag & mFlag2; }
|
||||
|
||||
public:
|
||||
/* 0x000 */ u8 field_0x0[4];
|
||||
/* 0x004 */ dEvt_order_c event_order;
|
||||
/* 0x0C4 */ int mPt1;
|
||||
/* 0x0C8 */ int mPt2;
|
||||
/* 0x0CC */ int mPtT;
|
||||
/* 0x0D0 */ int mPtI;
|
||||
/* 0x0D4 */ int mPtd;
|
||||
/* 0x004 */ dEvt_order_c mOrder[8];
|
||||
/* 0x0C4 */ u32 mPt1;
|
||||
/* 0x0C8 */ u32 mPt2;
|
||||
/* 0x0CC */ u32 mPtT;
|
||||
/* 0x0D0 */ u32 mPtI;
|
||||
/* 0x0D4 */ u32 mPtd;
|
||||
/* 0x0D8 */ u16 mEventFlag;
|
||||
/* 0x0DA */ u16 mFlag2;
|
||||
/* 0x0DC */ u16 mHindFlag;
|
||||
/* 0x0DE */ u16 field_0xde;
|
||||
/* 0x0E0 */ u16 field_0xe0;
|
||||
/* 0x0E2 */ u8 field_0xe2;
|
||||
/* 0x0DE */ s16 mSpecifiedEvent; // name maybe wrong
|
||||
/* 0x0E0 */ s16 field_0xe0;
|
||||
/* 0x0E2 */ u8 mNum;
|
||||
/* 0x0E3 */ u8 field_0xe3;
|
||||
/* 0x0E4 */ u8 mMode;
|
||||
/* 0x0E5 */ u8 field_0xe5;
|
||||
@@ -287,15 +106,18 @@ private:
|
||||
/* 0x0EE */ u8 mPreItemNo;
|
||||
/* 0x0EF */ u8 mGtItm;
|
||||
/* 0x0F0 */ float mCullRate;
|
||||
/* 0x0F4 */ int mStageEventDt;
|
||||
/* 0x0F8 */ int mChangeOK;
|
||||
/* 0x0FC */ u8 field_0xfc[20];
|
||||
/* 0x110 */ bool mSkipFade;
|
||||
/* 0x114 */ char mSkipEventName[0x14];
|
||||
/* 0x0F4 */ void* mStageEventDt;
|
||||
/* 0x0F8 */ void* mChangeOK;
|
||||
/* 0x0FC */ u8 field_0xfc[4];
|
||||
/* 0x100 */ SkipFunc mSkipFunc;
|
||||
/* 0x104 */ u32 field_0x104;
|
||||
/* 0x108 */ u32 field_0x108;
|
||||
/* 0x10C */ u32 field_0x10c;
|
||||
/* 0x110 */ int mSkipFade;
|
||||
/* 0x114 */ char mSkipEventName[20];
|
||||
/* 0x128 */ u8 mCompulsory;
|
||||
/* 0x129 */ u8 field_0x129;
|
||||
/* 0x129 */ bool field_0x129;
|
||||
/* 0x12C */ int field_0x12c;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
}; // Size = 0x130
|
||||
|
||||
#endif /* D_EVENT_D_EVENT_H */
|
||||
|
||||
@@ -5,59 +5,111 @@
|
||||
#include "d/save/d_save.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct dEvDtStaff_c {
|
||||
/* 80043FD8 */ void specialProc_WaitStart(int);
|
||||
/* 8004403C */ void specialProc_WaitProc(int);
|
||||
/* 80044080 */ void specialProc();
|
||||
/* 80044134 */ void init();
|
||||
/* 80044170 */ void advanceCut(int);
|
||||
/* 80044190 */ void specialProcLight();
|
||||
/* 80044324 */ void specialProcMessage();
|
||||
/* 80044A58 */ void specialProcSound();
|
||||
/* 80044CB8 */ void specialProcCreate();
|
||||
/* 80044EE4 */ void specialProcDirector();
|
||||
/* 80045878 */ void specialProcPackage();
|
||||
/* 80045AFC */ void specialProcTimekeeper();
|
||||
/* 80045C34 */ void specialProcEffect();
|
||||
struct event_binary_data_header {};
|
||||
|
||||
struct dEvDtData_c {};
|
||||
|
||||
class dEvDtCut_c {
|
||||
public:
|
||||
void startCheck();
|
||||
|
||||
private:
|
||||
/* 0x00 */ u8 field_0x0[0x20];
|
||||
/* 0x20 */ u32 mTagID;
|
||||
/* 0x28 */ int field_0x28[3];
|
||||
/* 0x34 */ u32 mFlagId;
|
||||
/* 0x38 */ u32 mDataTop;
|
||||
/* 0x3C */ u32 mNext;
|
||||
};
|
||||
|
||||
struct dEvDtEvent_c {
|
||||
/* 80043E78 */ void finishCheck();
|
||||
/* 80043EFC */ void forceFinish();
|
||||
/* 80043F70 */ void specialStaffProc(dEvDtStaff_c*);
|
||||
class dEvDtStaff_c {
|
||||
public:
|
||||
void specialProc_WaitStart(int);
|
||||
void specialProc_WaitProc(int);
|
||||
void specialProc();
|
||||
void init();
|
||||
void advanceCut(int);
|
||||
void specialProcLight();
|
||||
void specialProcMessage();
|
||||
void specialProcSound();
|
||||
void specialProcCreate();
|
||||
void specialProcDirector();
|
||||
void specialProcPackage();
|
||||
void specialProcTimekeeper();
|
||||
void specialProcEffect();
|
||||
|
||||
private:
|
||||
/* 0x00 */ u8 field_0x00[4];
|
||||
/* 0x04 */ void* field_0x04;
|
||||
/* 0x08 */ u32 field_0x08;
|
||||
/* 0x0C */ int field_0x0c;
|
||||
/* 0x10 */ u32 field_0x10;
|
||||
/* 0x14 */ u8 field_0x14[0xC];
|
||||
/* 0x20 */ u32 mTagID;
|
||||
/* 0x24 */ u32 field_0x24;
|
||||
/* 0x28 */ u8 field_0x28[4];
|
||||
/* 0x2C */ int mType;
|
||||
/* 0x30 */ u32 mStartCut;
|
||||
/* 0x34 */ u8 field_0x34[2];
|
||||
/* 0x36 */ s16 field_0x36;
|
||||
/* 0x38 */ int mCurrentCut;
|
||||
/* 0x3C */ u32 field_0x3c;
|
||||
/* 0x40 */ u8 field_0x40;
|
||||
/* 0x41 */ u8 field_0x41;
|
||||
/* 0x42 */ s16 field_0x42;
|
||||
/* 0x44 */ s16 mSoundWait;
|
||||
/* 0x46 */ u8 field_0x46[4];
|
||||
/* 0x4A */ int field_0x4a;
|
||||
};
|
||||
|
||||
class dEvDtEvent_c {
|
||||
public:
|
||||
void finishCheck();
|
||||
void forceFinish();
|
||||
void specialStaffProc(dEvDtStaff_c*);
|
||||
|
||||
/* 0x00 */ s32 mEventNum;
|
||||
};
|
||||
|
||||
class dEvDtFlag_c {
|
||||
public:
|
||||
/* 80043D60 */ void flagCheck(int);
|
||||
/* 80043DC8 */ void flagSet(int);
|
||||
/* 80043E30 */ void flagMaxCheck(int);
|
||||
/* 80043E58 */ void init();
|
||||
dEvDtFlag_c() {}
|
||||
void flagCheck(int);
|
||||
void flagSet(int);
|
||||
bool flagMaxCheck(int);
|
||||
void init();
|
||||
|
||||
#define FlagMax 0x2800
|
||||
|
||||
private:
|
||||
u8 field_0x0[320];
|
||||
};
|
||||
u32 mFlags[320];
|
||||
}; // Size = 0x500
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dEvDtBase_c {
|
||||
public:
|
||||
dEvDtBase_c();
|
||||
~dEvDtBase_c();
|
||||
/* 80046138 */ void init();
|
||||
/* 8004616C */ void init(char*, int);
|
||||
/* 8004628C */ void advanceCut(dEvDtEvent_c*);
|
||||
/* 800462FC */ void advanceCutLocal(dEvDtStaff_c*);
|
||||
void init();
|
||||
void init(char*, int);
|
||||
void advanceCut(dEvDtEvent_c*);
|
||||
void advanceCutLocal(dEvDtStaff_c*);
|
||||
|
||||
event_binary_data_header* getHeaderP() { return mHeaderP; }
|
||||
s32 getEventNum() { return mEventP->mEventNum; }
|
||||
s32 roomNo() { return mRoomNo; }
|
||||
|
||||
private:
|
||||
u32 field_0x0;
|
||||
u32 field_0x4;
|
||||
u32 field_0x8;
|
||||
u32 field_0xc;
|
||||
u32 field_0x10;
|
||||
u32 field_0x14;
|
||||
u32 field_0x18;
|
||||
u32 field_0x1c;
|
||||
u32 field_0x20;
|
||||
};
|
||||
/* 0x00 */ event_binary_data_header* mHeaderP;
|
||||
/* 0x04 */ dEvDtEvent_c* mEventP;
|
||||
/* 0x08 */ dEvDtStaff_c* mStaffP;
|
||||
/* 0x0C */ dEvDtCut_c* mCutP;
|
||||
/* 0x10 */ dEvDtData_c* mDataP;
|
||||
/* 0x14 */ float* mFDataP;
|
||||
/* 0x18 */ s32* mIDataP;
|
||||
/* 0x1C */ char* mSDataP;
|
||||
/* 0x20 */ s32 mRoomNo;
|
||||
}; // Size = 0x24
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif /* D_EVENT_D_EVENT_DATA_H */
|
||||
|
||||
@@ -4,87 +4,81 @@
|
||||
#include "d/event/d_event_data.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct dEvDtData_c {};
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dEvent_exception_c {
|
||||
public:
|
||||
/* 800463DC */ void init();
|
||||
/* 800463F0 */ void setStartDemo(int);
|
||||
/* 80046480 */ void getEventName();
|
||||
dEvent_exception_c() { mEventInfoIdx = -1; }
|
||||
void init();
|
||||
void setStartDemo(int);
|
||||
void getEventName();
|
||||
|
||||
private:
|
||||
u32 field_0x0;
|
||||
u32 mEventInfoIdx;
|
||||
u8 field_0x4;
|
||||
u8 field_0x5;
|
||||
u8 field_0x6;
|
||||
u8 field_0x7;
|
||||
u32 field_0x8;
|
||||
u32 mState;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
struct dEvent_manager_c {
|
||||
/* 800465E8 */ void getSubstance(dEvDtData_c*, int);
|
||||
/* 80046688 */ dEvent_manager_c();
|
||||
/* 80046710 */ void create();
|
||||
/* 80046800 */ void setObjectArchive(char*);
|
||||
/* 80046888 */ void demoInit();
|
||||
/* 80046904 */ void roomInit(int);
|
||||
/* 800469EC */ void roomFinish(int);
|
||||
/* 80046A58 */ void orderStartDemo();
|
||||
/* 80046C0C */ void remove();
|
||||
/* 80046CB8 */ void startProc(dEvDtEvent_c*);
|
||||
/* 80046DA0 */ void closeProc(dEvDtEvent_c*);
|
||||
/* 80046DAC */ void endProc(s16, int);
|
||||
/* 80046E64 */ void Sequencer();
|
||||
/* 800473FC */ void Experts();
|
||||
/* 800474BC */ void getEventData(s16);
|
||||
/* 80047454 */ void getEventData(s16, int);
|
||||
/* 80047514 */ void getEventIdx(char const*, u8, s32);
|
||||
/* 80047698 */ void getEventIdx(fopAc_ac_c*, u8);
|
||||
/* 80047758 */ void getEventIdx(fopAc_ac_c*, char const*, u8);
|
||||
/* 80047930 */ void isMapToolCamera(u8, s32);
|
||||
/* 80047984 */ void order(s16);
|
||||
/* 800479F8 */ void startCheck(s16);
|
||||
/* 80047A38 */ void startCheckOld(char const*);
|
||||
/* 80047A78 */ void endCheck(s16);
|
||||
/* 80047ADC */ void endCheckOld(char const*);
|
||||
/* 80047B1C */ void getMyStaffId(char const*, fopAc_ac_c*, int);
|
||||
/* 80047D4C */ void getIsAddvance(int);
|
||||
/* 80047E10 */ void getMyActIdx(int, char const* const*, int, int, int);
|
||||
/* 80047F5C */ void getMyNowCutName(int);
|
||||
/* 80047FC8 */ void getMyDataP(int, char const*, int);
|
||||
/* 800480EC */ void getMySubstanceP(int, char const*, int);
|
||||
/* 80048144 */ void getMySubstanceNum(int, char const*);
|
||||
/* 8004817C */ void cutEnd(int);
|
||||
/* 800481F4 */ void getEventPrio(fopAc_ac_c*, s16);
|
||||
/* 800482CC */ void issueStaff(char const*);
|
||||
/* 80048348 */ void cancelStaff(char const*);
|
||||
/* 800483C4 */ void setGoal(cXyz*);
|
||||
/* 800483E0 */ void getGoal();
|
||||
/* 800483E8 */ void getRunEventName();
|
||||
/* 80048520 */ void specialCast_Shutter(s16, int);
|
||||
/* 80048618 */ void specialCast(char const*, int);
|
||||
/* 800487F0 */ void ChkPresentEnd();
|
||||
/* 8004882C */ void checkStartDemo();
|
||||
class dEvent_manager_c {
|
||||
public:
|
||||
void getSubstance(dEvDtData_c*, int);
|
||||
dEvent_manager_c();
|
||||
void create();
|
||||
void setObjectArchive(char*);
|
||||
void demoInit();
|
||||
void roomInit(int);
|
||||
void roomFinish(int);
|
||||
void orderStartDemo();
|
||||
void remove();
|
||||
void startProc(dEvDtEvent_c*);
|
||||
void closeProc(dEvDtEvent_c*);
|
||||
void endProc(s16, int);
|
||||
void Sequencer();
|
||||
void Experts();
|
||||
void getEventData(s16);
|
||||
dEvDtEvent_c* getEventData(s16, int);
|
||||
void getEventIdx(char const*, u8, s32);
|
||||
void getEventIdx(fopAc_ac_c*, u8);
|
||||
void getEventIdx(fopAc_ac_c*, char const*, u8);
|
||||
void isMapToolCamera(u8, s32);
|
||||
void order(s16);
|
||||
void startCheck(s16);
|
||||
void startCheckOld(char const*);
|
||||
void endCheck(s16);
|
||||
void endCheckOld(char const*);
|
||||
void getMyStaffId(char const*, fopAc_ac_c*, int);
|
||||
void getIsAddvance(int);
|
||||
void getMyActIdx(int, char const* const*, int, int, int);
|
||||
void getMyNowCutName(int);
|
||||
void getMyDataP(int, char const*, int);
|
||||
void getMySubstanceP(int, char const*, int);
|
||||
void getMySubstanceNum(int, char const*);
|
||||
void cutEnd(int);
|
||||
void getEventPrio(fopAc_ac_c*, s16);
|
||||
void issueStaff(char const*);
|
||||
void cancelStaff(char const*);
|
||||
void setGoal(cXyz*);
|
||||
void getGoal();
|
||||
void getRunEventName();
|
||||
void specialCast_Shutter(s16, int);
|
||||
void specialCast(char const*, int);
|
||||
void ChkPresentEnd();
|
||||
void checkStartDemo();
|
||||
|
||||
/* 0x0000 */ dEvDtBase_c event_data_base[11];
|
||||
/* 0x018C */ u32 field_0x18c;
|
||||
/* 0x0190 */ u32 field_0x190;
|
||||
/* 0x0194 */ u8 field_0x194[0x8];
|
||||
/* 0x019C */ cXyz goal;
|
||||
/* 0x01A8 */ u8 field_0x1A8[4];
|
||||
private:
|
||||
/* 0x0000 */ dEvDtBase_c mEventList[11];
|
||||
/* 0x018C */ s32 mCameraPlay;
|
||||
/* 0x0190 */ dEvent_exception_c mEventException;
|
||||
/* 0x019C */ cXyz mGoal;
|
||||
/* 0x01A8 */ u8 field_0x1a8[2];
|
||||
/* 0x01AA */ u16 field_0x1aa;
|
||||
/* 0x01AC */ u8 field_0x1ac[0x8];
|
||||
/* 0x01B4 */ dEvent_exception_c event_exception;
|
||||
/* 0x01C0 */ cXyz position;
|
||||
/* 0x01CC */ u8 field_0x1cc[0x14];
|
||||
/* 0x01E0 */ dEvDtFlag_c event_data_flag;
|
||||
/* 0x0320 */ u8 field_0x320[0x35C];
|
||||
/* 0x067C */ void* vtable;
|
||||
/* 0x0680 */ u8 field_0x680[0x3C];
|
||||
/* 0x01AC */ u8 field_0x1ac[4];
|
||||
/* 0x01B0 */ u32 field_0x1b0;
|
||||
/* 0x01B4 */ u32 field_0x1b4;
|
||||
/* 0x01B8 */ u32 field_0x1b8;
|
||||
/* 0x01BC */ dEvDtFlag_c mFlags;
|
||||
/* 0x06BC */ bool mDataLoaded;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif /* D_EVENT_D_EVENT_MANAGER_H */
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef D_KANKYO_D_KANKYO_H
|
||||
#define D_KANKYO_D_KANKYO_H
|
||||
|
||||
#include "JSystem/J3DGraphBase/J3DStruct.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "dolphin/gx/GXTexture.h"
|
||||
#include "dolphin/types.h"
|
||||
@@ -16,4 +17,48 @@ struct LIGHT_INFLUENCE {
|
||||
/* 0x1C */ int field_0x1c;
|
||||
};
|
||||
|
||||
struct WIND_INFLUENCE {
|
||||
/* 0x00 */ cXyz field_0x00;
|
||||
/* 0x0C */ cXyz field_0x0c;
|
||||
/* 0x18 */ u8 field_0x18[0xC];
|
||||
/* 0x24 */ int field_0x24;
|
||||
/* 0x28 */ u8 field_0x28;
|
||||
/* 0x29 */ u8 field_0x29;
|
||||
};
|
||||
|
||||
class dKy_tevstr_c {
|
||||
public:
|
||||
private:
|
||||
/* 0x000 */ J3DLightObj field_0x000;
|
||||
/* 0x074 */ J3DLightObj field_0x074[6];
|
||||
/* 0x32C */ cXyz field_0x32c;
|
||||
/* 0x338 */ cXyz field_0x338;
|
||||
/* 0x344 */ f32 field_0x344;
|
||||
/* 0x348 */ int field_0x348;
|
||||
/* 0x34C */ int field_0x34c;
|
||||
/* 0x350 */ int field_0x350;
|
||||
/* 0x354 */ int field_0x354;
|
||||
/* 0x358 */ int field_0x358;
|
||||
/* 0x35C */ int field_0x35c;
|
||||
/* 0x360 */ int field_0x360;
|
||||
/* 0x364 */ int field_0x364;
|
||||
/* 0x368 */ f32 field_0x368;
|
||||
/* 0x36C */ f32 field_0x36c;
|
||||
/* 0x370 */ f32 field_0x370;
|
||||
/* 0x374 */ f32 field_0x374;
|
||||
/* 0x378 */ u16 field_0x378;
|
||||
/* 0x37A */ u8 field_0x37a;
|
||||
/* 0x37B */ u8 field_0x37b;
|
||||
/* 0x37C */ u8 field_0x37c;
|
||||
/* 0x37D */ u8 field_0x37d;
|
||||
/* 0x37E */ u8 field_0x37e;
|
||||
/* 0x37F */ u8 field_0x37f;
|
||||
/* 0x380 */ u8 field_0x380;
|
||||
/* 0x381 */ u8 field_0x381;
|
||||
/* 0x382 */ u8 field_0x382;
|
||||
/* 0x383 */ u8 field_0x383;
|
||||
/* 0x384 */ u8 field_0x384;
|
||||
/* 0x385 */ u8 field_0x385;
|
||||
}; // Size = 0x388?
|
||||
|
||||
#endif /* D_KANKYO_D_KANKYO_H */
|
||||
|
||||
@@ -1,6 +1,175 @@
|
||||
#ifndef D_MENU_D_MENU_WINDOW_H
|
||||
#define D_MENU_D_MENU_WINDOW_H
|
||||
|
||||
#include "d/meter/d_meter2_info.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "m_Do/m_Do_controller_pad.h"
|
||||
|
||||
struct STControl;
|
||||
struct CSTControl;
|
||||
class dDlst_base_c;
|
||||
class dMenu_Ring_c;
|
||||
class dMenu_Collect2D_c;
|
||||
class dMenu_Dmap_c;
|
||||
class dMenu_Fmap_c;
|
||||
class dMenu_save_c;
|
||||
class dMenu_Option_c;
|
||||
class dMenu_Letter_c;
|
||||
class dMenu_Fishing_c;
|
||||
class dMenu_Skill_c;
|
||||
class dMenu_Insect_c;
|
||||
|
||||
class dMw_c {
|
||||
public:
|
||||
/* 801FA13C */ void key_wait_init(u8);
|
||||
/* 801FA220 */ void ring_open_init(u8);
|
||||
/* 801FA23C */ void ring_move_init(u8);
|
||||
/* 801FA240 */ void ring_close_init(u8);
|
||||
/* 801FA244 */ void collect_open_init(u8);
|
||||
/* 801FA2D0 */ void collect_move_init(u8);
|
||||
/* 801FA46C */ void collect_close_init(u8);
|
||||
/* 801FA538 */ void fmap_open_init(u8);
|
||||
/* 801FA55C */ void fmap_move_init(u8);
|
||||
/* 801FA560 */ void fmap_close_init(u8);
|
||||
/* 801FA564 */ void dmap_open_init(u8);
|
||||
/* 801FA588 */ void dmap_move_init(u8);
|
||||
/* 801FA58C */ void dmap_close_init(u8);
|
||||
/* 801FA590 */ void collect_save_open_init(u8);
|
||||
/* 801FA5E4 */ void collect_save_move_init(u8);
|
||||
/* 801FA5E8 */ void collect_save_close_init(u8);
|
||||
/* 801FA608 */ void collect_option_open_init(u8);
|
||||
/* 801FA65C */ void collect_option_move_init(u8);
|
||||
/* 801FA660 */ void collect_option_close_init(u8);
|
||||
/* 801FA680 */ void collect_letter_open_init(u8);
|
||||
/* 801FA6DC */ void collect_letter_move_init(u8);
|
||||
/* 801FA6E0 */ void collect_letter_close_init(u8);
|
||||
/* 801FA738 */ void collect_fishing_open_init(u8);
|
||||
/* 801FA794 */ void collect_fishing_move_init(u8);
|
||||
/* 801FA798 */ void collect_fishing_close_init(u8);
|
||||
/* 801FA7F0 */ void collect_skill_open_init(u8);
|
||||
/* 801FA84C */ void collect_skill_move_init(u8);
|
||||
/* 801FA850 */ void collect_skill_close_init(u8);
|
||||
/* 801FA8A8 */ void collect_insect_open_init(u8);
|
||||
/* 801FA908 */ void collect_insect_move_init(u8);
|
||||
/* 801FA90C */ void collect_insect_close_init(u8);
|
||||
/* 801FA964 */ void insect_open_init(u8);
|
||||
/* 801FA9E8 */ void insect_open2_init(u8);
|
||||
/* 801FA9EC */ void insect_move_init(u8);
|
||||
/* 801FA9F0 */ void insect_close_init(u8);
|
||||
/* 801FAA48 */ void key_wait_proc();
|
||||
/* 801FAFDC */ void ring_open_proc();
|
||||
/* 801FB01C */ void ring_move_proc();
|
||||
/* 801FB064 */ void ring_close_proc();
|
||||
/* 801FB0B8 */ void collect_open_proc();
|
||||
/* 801FB110 */ void collect_move_proc();
|
||||
/* 801FB1A0 */ void collect_close_proc();
|
||||
/* 801FB240 */ void fmap_open_proc();
|
||||
/* 801FB298 */ void fmap_move_proc();
|
||||
/* 801FB36C */ void fmap_close_proc();
|
||||
/* 801FB3AC */ void dmap_open_proc();
|
||||
/* 801FB404 */ void dmap_move_proc();
|
||||
/* 801FB5DC */ void dmap_close_proc();
|
||||
/* 801FB61C */ void collect_save_open_proc();
|
||||
/* 801FB67C */ void collect_save_move_proc();
|
||||
/* 801FB6D8 */ void collect_save_close_proc();
|
||||
/* 801FB73C */ void collect_option_open_proc();
|
||||
/* 801FB7AC */ void collect_option_move_proc();
|
||||
/* 801FB800 */ void collect_option_close_proc();
|
||||
/* 801FB81C */ void collect_letter_open_proc();
|
||||
/* 801FB8AC */ void collect_letter_move_proc();
|
||||
/* 801FB900 */ void collect_letter_close_proc();
|
||||
/* 801FB91C */ void collect_fishing_open_proc();
|
||||
/* 801FB9AC */ void collect_fishing_move_proc();
|
||||
/* 801FBA00 */ void collect_fishing_close_proc();
|
||||
/* 801FBA1C */ void collect_skill_open_proc();
|
||||
/* 801FBAAC */ void collect_skill_move_proc();
|
||||
/* 801FBB00 */ void collect_skill_close_proc();
|
||||
/* 801FBB1C */ void collect_insect_open_proc();
|
||||
/* 801FBBAC */ void collect_insect_move_proc();
|
||||
/* 801FBC00 */ void collect_insect_close_proc();
|
||||
/* 801FBC1C */ void insect_open_proc();
|
||||
/* 801FBC78 */ void insect_open2_proc();
|
||||
/* 801FBD08 */ void insect_move_proc();
|
||||
/* 801FBD64 */ void insect_close_proc();
|
||||
/* 801FBD80 */ void dMw_capture_create();
|
||||
/* 801FBE14 */ void dMw_capture_delete();
|
||||
/* 801FBE94 */ void dMw_ring_create(u8);
|
||||
/* 801FBF60 */ void dMw_ring_delete();
|
||||
/* 801FBFF8 */ void dMw_collect_create();
|
||||
/* 801FC090 */ void dMw_collect_delete(bool);
|
||||
/* 801FC0FC */ void dMw_fmap_create();
|
||||
/* 801FC264 */ void dMw_fmap_delete(bool);
|
||||
/* 801FC350 */ void dMw_dmap_create();
|
||||
/* 801FC46C */ void dMw_dmap_delete(bool);
|
||||
/* 801FC520 */ void dMw_save_create();
|
||||
/* 801FC5D0 */ void dMw_save_delete();
|
||||
/* 801FC668 */ void dMw_option_create();
|
||||
/* 801FC70C */ void dMw_option_delete();
|
||||
/* 801FC7BC */ void dMw_letter_create();
|
||||
/* 801FC85C */ void dMw_letter_delete();
|
||||
/* 801FC904 */ void dMw_fishing_create();
|
||||
/* 801FC9A4 */ void dMw_fishing_delete();
|
||||
/* 801FCA4C */ void dMw_skill_create();
|
||||
/* 801FCAEC */ void dMw_skill_delete();
|
||||
/* 801FCB94 */ void dMw_insect_create(u8);
|
||||
/* 801FCC44 */ void dMw_insect_delete();
|
||||
/* 801FCCEC */ void dMw_onButtonBit(u8);
|
||||
/* 801FCCFC */ void dMw_offButtonBit(u8);
|
||||
/* 801FCD0C */ void dMw_isButtonBit(u8);
|
||||
/* 801FCD24 */ void dMw_isPush_S_Button();
|
||||
/* 801FCDD8 */ void isPauseReady();
|
||||
/* 801FCE08 */ void dMw_fade_out();
|
||||
/* 801FCE78 */ void dMw_fade_in();
|
||||
/* 801FCEE8 */ void checkCStickTrigger();
|
||||
/* 801FCF84 */ void isEventCheck();
|
||||
/* 801FD094 */ void markMemSize();
|
||||
/* 801FD0D4 */ void checkMemSize();
|
||||
/* 801FD140 */ void _create();
|
||||
/* 801FD2D8 */ void _execute();
|
||||
/* 801FD450 */ void _draw();
|
||||
/* 801FD67C */ void _delete();
|
||||
|
||||
void onPauseWindow() { mPauseWindow = true; }
|
||||
void offPauseWindow() { mPauseWindow = false; }
|
||||
void onShowFlag() { mShowFlag |= 1; }
|
||||
void offShowFlag() { mShowFlag &= ~1; }
|
||||
bool isShowFlag() { return mShowFlag & 1 != 0; }
|
||||
|
||||
private:
|
||||
u8 field_0x0[0x100];
|
||||
/* 0x100 */ void* field_0x100;
|
||||
/* 0x104 */ STControl* mpStick;
|
||||
/* 0x108 */ CSTControl* mpCStick;
|
||||
/* 0x10C */ dDlst_base_c* field_0x10c;
|
||||
/* 0x110 */ dMenu_Ring_c* mRing;
|
||||
/* 0x114 */ dMenu_Collect2D_c* mCollect2D;
|
||||
/* 0x118 */ dMenu_Dmap_c* mDmap;
|
||||
/* 0x11C */ dMenu_Fmap_c* mFmap;
|
||||
/* 0x120 */ dMenu_save_c* mSave;
|
||||
/* 0x124 */ dMenu_Option_c* mOption;
|
||||
/* 0x128 */ dMenu_Letter_c* mLetter;
|
||||
/* 0x12C */ dMenu_Fishing_c* mFishing;
|
||||
/* 0x130 */ dMenu_Skill_c* mSkill;
|
||||
/* 0x134 */ dMenu_Insect_c* mInsect;
|
||||
/* 0x138 */ int field_0x138;
|
||||
/* 0x13C */ u8 field_0x13c[8];
|
||||
/* 0x144 */ u8 field_0x144;
|
||||
/* 0x145 */ u8 mButtons;
|
||||
/* 0x146 */ u8 field_0x146;
|
||||
/* 0x147 */ u8 mShowFlag;
|
||||
/* 0x148 */ u8 field_0x148;
|
||||
/* 0x149 */ u8 field_0x149;
|
||||
/* 0x14A */ u8 field_0x14A;
|
||||
/* 0x14B */ u8 field_0x14B;
|
||||
/* 0x14C */ u8 field_0x14C;
|
||||
/* 0x14D */ u8 field_0x14D;
|
||||
/* 0x14E */ u8 field_0x14E;
|
||||
/* 0x14F */ u8 field_0x14F;
|
||||
/* 0x150 */ u8 field_0x150;
|
||||
/* 0x151 */ u8 field_0x151;
|
||||
/* 0x152 */ u8 field_0x152;
|
||||
/* 0x153 */ u8 field_0x153;
|
||||
/* 0x154 */ bool mPauseWindow;
|
||||
};
|
||||
|
||||
#endif /* D_MENU_D_MENU_WINDOW_H */
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "JSystem/JUtility/JUTTexture.h"
|
||||
#include "d/d_resorce.h"
|
||||
#include "d/menu/d_menu_window.h"
|
||||
#include "d/msg/d_msg_flow.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
@@ -14,11 +15,16 @@ struct dSv_event_flag_c {
|
||||
|
||||
struct dMsgObject_c {
|
||||
/* 802384C4 */ void setLetterNameID(u16);
|
||||
/* 802379AC */ void setKillMessageFlag();
|
||||
/* 8023822C */ void getStatus();
|
||||
};
|
||||
|
||||
class dMeterMap_c {
|
||||
public:
|
||||
/* 8020D900 */ bool isMapOpenCheck();
|
||||
/* 8020D650 */ void isEnableDispMapAndMapDispSizeTypeNo();
|
||||
/* 8020D874 */ void setDispPosInsideFlg_SE_On();
|
||||
/* 8020D8BC */ void setDispPosOutsideFlg_SE_On();
|
||||
};
|
||||
|
||||
struct J2DPicture {};
|
||||
@@ -41,9 +47,12 @@ struct dItem_data {
|
||||
|
||||
struct CPaneMgr {};
|
||||
|
||||
class dMeter2_c {};
|
||||
class dMw_c;
|
||||
|
||||
class dMw_c {};
|
||||
class dMeter2_c {
|
||||
public:
|
||||
/* 8021F6EC */ void emphasisButtonDelete();
|
||||
};
|
||||
|
||||
class dMeter2Info_c {
|
||||
public:
|
||||
@@ -98,8 +107,13 @@ public:
|
||||
void setMiniGameCount(s8);
|
||||
void setSaveStageName(const char*);
|
||||
|
||||
void setWindowStatus(u8 status) {
|
||||
unk186 = mWindowStatus;
|
||||
mWindowStatus = status;
|
||||
}
|
||||
u8& getDirectUseItem() { return mDirectUseItem; }
|
||||
dMeterMap_c* getMeterMapClass() { return mMeterMap; }
|
||||
dMw_c* getMenuWindowClass() { return mMenuWindowClass; }
|
||||
void offUseButton(int pButton) { mUseButton &= ~(u16)pButton; }
|
||||
|
||||
private:
|
||||
@@ -187,12 +201,20 @@ private:
|
||||
|
||||
extern dMeter2Info_c g_meter2_info;
|
||||
|
||||
inline dMeterMap_c* dMeter2Info_getMeterMapClass() {
|
||||
return g_meter2_info.getMeterMapClass();
|
||||
}
|
||||
|
||||
inline void dMeter2Info_Initialize() {
|
||||
g_meter2_info.init();
|
||||
}
|
||||
|
||||
inline dMeterMap_c* dMeter2Info_getMeterMapClass() {
|
||||
return g_meter2_info.getMeterMapClass();
|
||||
}
|
||||
|
||||
inline dMw_c* dMeter2Info_getMenuWindowClass() {
|
||||
return g_meter2_info.getMenuWindowClass();
|
||||
}
|
||||
|
||||
inline void dMeter2Info_setWindowStatus(u8 status) {
|
||||
g_meter2_info.setWindowStatus(status);
|
||||
}
|
||||
|
||||
#endif /* D_METER_D_METER2_INFO_H */
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "d/bg/d_bg_s_acch.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct dKy_tevstr_c {};
|
||||
struct dKy_tevstr_c;
|
||||
|
||||
class dPaPo_c {
|
||||
public:
|
||||
|
||||
+72
-12
@@ -3,30 +3,85 @@
|
||||
|
||||
#include "SSystem/SComponent/c_sxyz.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "d/kankyo/d_kankyo.h"
|
||||
#include "dolphin/mtx/mtx.h"
|
||||
#include "f_pc/f_pc_leaf.h"
|
||||
|
||||
struct JKRSolidHeap;
|
||||
|
||||
class dEvt_info_c {
|
||||
public:
|
||||
dEvt_info_c();
|
||||
virtual ~dEvt_info_c();
|
||||
void setEventName(char*);
|
||||
void getEventName();
|
||||
void beforeProc();
|
||||
void onCondition(u16);
|
||||
void offCondition(u16);
|
||||
bool checkCommandCatch();
|
||||
bool checkCommandDoor();
|
||||
bool checkCommandDemoAccrpt();
|
||||
|
||||
void setCommand(u16 command) { mCommand = command; }
|
||||
void setMapToolId(u8 id) { mMapToolId = id; }
|
||||
void setEventId(s16 id) { mEventId = id; }
|
||||
void setCondition(u16 condition) { mCondition = condition; }
|
||||
void setArchiveName(char* name) { mArchiveName = name; }
|
||||
u8 getMapToolId() { return mMapToolId; }
|
||||
s16 getEventId() { return mEventId; }
|
||||
u8 getIdx() { return mIndex; }
|
||||
char* getArchiveName() { return mArchiveName; }
|
||||
bool chkCondition(u16 condition) { return mCondition == condition; }
|
||||
|
||||
bool checkCommandTalk() { return mCommand == 1; }
|
||||
bool checkCommandItem() { return mCommand == 4; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ u16 mCommand;
|
||||
/* 0x06 */ u16 mCondition;
|
||||
/* 0x08 */ s16 mEventId;
|
||||
/* 0x0A */ u8 mMapToolId;
|
||||
|
||||
public:
|
||||
/* 0x0B */ u8 mIndex;
|
||||
/* 0x0C */ char* mArchiveName;
|
||||
/* 0x10 */ void* field_0x10;
|
||||
/* 0x14 */ void* field_0x14;
|
||||
}; // Size = 0x18
|
||||
|
||||
struct actor_place {
|
||||
cXyz mPosition;
|
||||
csXyz mAngle;
|
||||
u8 mRoomNo;
|
||||
u8 field_0x13;
|
||||
};
|
||||
|
||||
struct actor_attention_types {
|
||||
/* 0x00 */ u32 mDistance1;
|
||||
/* 0x04 */ u32 mDistance2;
|
||||
/* 0x08 */ u32 mDistance3;
|
||||
/* 0x0C */ cXyz mPosition;
|
||||
/* 0x18 */ u32 mFlags;
|
||||
}; // Size = 0x1C
|
||||
|
||||
class dJntCol_c;
|
||||
|
||||
class fopAc_ac_c : public leafdraw_class {
|
||||
public:
|
||||
/* 0x0C0 */ int mAcType;
|
||||
/* 0x0C4 */ create_tag_class mAcTg;
|
||||
/* 0x0D8 */ create_tag_class mDwTg;
|
||||
/* 0x0EC */ profile_method_class* mSubMtd;
|
||||
/* 0x0F0 */ JKRSolidHeap* unk_0x0F0;
|
||||
/* 0x0F4 */ u8 unk_0x0F4[0x496 - 0xF4];
|
||||
/* 0x496 */ u8 unk_0x496;
|
||||
/* 0x497 */ u8 unk_0x497[0x499 - 0x497];
|
||||
/* 0x499 */ s8 unk_0x499;
|
||||
/* 0x49A */ u8 unk_0x49A[0x4A8 - 0x49A];
|
||||
/* 0x0F0 */ JKRSolidHeap* mHeap;
|
||||
/* 0x0F4 */ dEvt_info_c mEvtInfo;
|
||||
/* 0x10C */ dKy_tevstr_c mTevStr;
|
||||
/* 0x494 */ s16 mSetID;
|
||||
/* 0x496 */ u8 mGroup;
|
||||
/* 0x497 */ u8 mCullType;
|
||||
/* 0x498 */ u8 mDemoActorId;
|
||||
/* 0x499 */ s8 mSubtype;
|
||||
/* 0x49C */ u32 mStatus;
|
||||
/* 0x4A0 */ u32 mCondition;
|
||||
/* 0x4A4 */ u32 mParentPcId;
|
||||
/* 0x4A8 */ actor_place mOrig;
|
||||
/* 0x4BC */ actor_place mNext;
|
||||
/* 0x4D0 */ actor_place mCurrent;
|
||||
@@ -44,18 +99,23 @@ public:
|
||||
/* 0x514 */ f32 mRadius;
|
||||
} mSphere;
|
||||
} mCull;
|
||||
/* 0x520 */ u8 unk_0x520[0xC];
|
||||
/* 0x520 */ float mCullSizeFar;
|
||||
/* 0x524 */ void* field_0x524; // possibly J3DModel*
|
||||
/* 0x528 */ dJntCol_c* mJntCol;
|
||||
/* 0x52C */ f32 mSpeedF;
|
||||
/* 0x530 */ f32 mGravity;
|
||||
/* 0x534 */ f32 mMaxFallSpeed;
|
||||
/* 0x538 */ cXyz mEyePos;
|
||||
/* 0x544 */ actor_attention_types mAttentionInfo;
|
||||
/* 0x560 */ u8 field_0x560[0x10]; // not 100% sure on this
|
||||
|
||||
/* 80018B64 */ fopAc_ac_c();
|
||||
/* 80018C8C */ ~fopAc_ac_c();
|
||||
fopAc_ac_c();
|
||||
~fopAc_ac_c();
|
||||
|
||||
static u8 stopStatus[4];
|
||||
static u32 stopStatus;
|
||||
|
||||
const cXyz& getPosition() const { return mCurrent.mPosition; }
|
||||
const csXyz& getAngle() const { return mCurrent.mAngle; }
|
||||
}; // Size: unknown
|
||||
}; // Size: 0x570?
|
||||
|
||||
#endif
|
||||
|
||||
@@ -76,6 +76,22 @@ inline s16 fopAcM_GetName(fopAc_ac_c* pActor) {
|
||||
return fpcM_GetName(pActor);
|
||||
}
|
||||
|
||||
inline u32 fopAcM_checkStatus(fopAc_ac_c* pActor, u32 status) {
|
||||
return pActor->mStatus & status;
|
||||
}
|
||||
|
||||
inline u32 fopAcM_checkCarryNow(fopAc_ac_c* pActor) {
|
||||
return pActor->mStatus & 0x2000;
|
||||
}
|
||||
|
||||
inline u32 fopAcM_checkHookCarryNow(fopAc_ac_c* pActor) {
|
||||
return fopAcM_checkStatus(pActor, 0x100000);
|
||||
}
|
||||
|
||||
inline u32 fopAcM_GetParam(const void* pActor) {
|
||||
return fpcM_GetParam(pActor);
|
||||
}
|
||||
|
||||
void* fopAcM_FastCreate(s16 pProcTypeID, FastCreateReqFunc param_2, void* param_3, void* pData);
|
||||
void fopAcM_setStageLayer(void*);
|
||||
int fopAcM_setRoomLayer(void*, int);
|
||||
|
||||
@@ -18,6 +18,9 @@ inline u32 fpcM_GetID(const void* pProc) {
|
||||
inline s16 fpcM_GetName(const void* pActor) {
|
||||
return ((base_process_class*)pActor)->mProcName;
|
||||
}
|
||||
inline u32 fpcM_GetParam(const void* pActor) {
|
||||
return ((base_process_class*)pActor)->mParameters;
|
||||
}
|
||||
|
||||
void fpcM_Draw(void* pProc);
|
||||
s32 fpcM_DrawIterater(fpcM_DrawIteraterFunc pFunc);
|
||||
|
||||
@@ -3,4 +3,46 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct mDoRstData {
|
||||
/* 0x00 */ int mReset;
|
||||
/* 0x04 */ int mResetPrepare;
|
||||
/* 0x08 */ int m3ButtonReset;
|
||||
/* 0x0C */ int m3ButtonResetPort;
|
||||
/* 0x10 */ bool mShutdown;
|
||||
/* 0x11 */ bool mReturnToMenu;
|
||||
/* 0x12 */ u8 mLogoScnFlag;
|
||||
/* 0x13 */ u8 mProgSeqFlag;
|
||||
/* 0x14 */ u8 mProgChgFlag;
|
||||
/* 0x15 */ u8 mWarningDispFlag;
|
||||
}; // Size = 0x18
|
||||
|
||||
class mDoRst {
|
||||
public:
|
||||
static void offReturnToMenu() { mResetData->mReturnToMenu = false; }
|
||||
static void offShutdown() { mResetData->mShutdown = false; }
|
||||
static void setWarningDispFlag(u8 flag) { mResetData->mWarningDispFlag = flag; }
|
||||
static void setProgChgFlag(u8 flag) { mResetData->mProgChgFlag = flag; }
|
||||
static void setProgSeqFlag(u8 flag) { mResetData->mProgSeqFlag = flag; }
|
||||
static void setLogoScnFlag(u8 flag) { mResetData->mLogoScnFlag = flag; }
|
||||
static void set3ButtonResetPort(int port) { mResetData->m3ButtonResetPort = port; }
|
||||
static void off3ButtonReset() { mResetData->m3ButtonReset = 0; }
|
||||
static void offResetPrepare() { mResetData->mResetPrepare = 0; }
|
||||
static void offReset() { mResetData->mReset = 0; }
|
||||
static u8 getLogoScnFlag() { return mResetData->mLogoScnFlag; }
|
||||
static bool isReturnToMenu() { return mResetData->mReturnToMenu; }
|
||||
static bool isShutdown() { return mResetData->mShutdown; }
|
||||
static int isReset() { return mResetData->mReset; }
|
||||
static int get3ButtonResetPort() { return mResetData->m3ButtonResetPort; }
|
||||
static int is3ButtonReset() { return mResetData->m3ButtonReset; }
|
||||
static void onReset() { mResetData->mReset = 1; }
|
||||
static void onReturnToMenu() { mResetData->mReturnToMenu = true; }
|
||||
static void on3ButtonReset() { mResetData->m3ButtonReset = 1; }
|
||||
static void onShutdown() { mResetData->mShutdown = true; }
|
||||
|
||||
static mDoRstData* getResetData();
|
||||
static void setResetData(mDoRstData* rstData) { mResetData = rstData; }
|
||||
|
||||
static mDoRstData* mResetData;
|
||||
};
|
||||
|
||||
#endif /* M_DO_M_DO_RESET_H */
|
||||
|
||||
@@ -3,4 +3,24 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
// move/fix later
|
||||
template <typename T>
|
||||
class JASGlobalInstance {
|
||||
public:
|
||||
JASGlobalInstance(bool param_0) {
|
||||
if (param_0) {
|
||||
sInstance = this;
|
||||
}
|
||||
};
|
||||
~JASGlobalInstance() {
|
||||
if (sInstance == this) {
|
||||
sInstance = NULL;
|
||||
}
|
||||
};
|
||||
|
||||
T* getInstance() { return sInstance; };
|
||||
|
||||
static T* sInstance;
|
||||
};
|
||||
|
||||
#endif /* M_DO_M_DO_AUDIO_H */
|
||||
|
||||
@@ -1,6 +1,60 @@
|
||||
#ifndef M_DO_M_DO_CONTROLLER_PAD_H
|
||||
#define M_DO_M_DO_CONTROLLER_PAD_H
|
||||
|
||||
#include "JSystem/JUtility/JUTGamePad.h"
|
||||
#include "SSystem/SComponent/c_API_controller_pad.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class mDoCPd_c {
|
||||
public:
|
||||
enum { PAD_0, PAD_1, PAD_2, PAD_3 };
|
||||
|
||||
void create();
|
||||
void read();
|
||||
void convert(interface_of_controller_pad*, JUTGamePad*);
|
||||
void LRlockCheck(interface_of_controller_pad*);
|
||||
void recalibrate();
|
||||
|
||||
static interface_of_controller_pad& getCpadInfo(u32 pad) { return m_cpadInfo[pad]; }
|
||||
static JUTGamePad* getGamePad(u32 pad) { return m_gamePad[pad]; }
|
||||
static u32 getTrig(u32 pad) { return getCpadInfo(pad).mPressedButtonFlags; }
|
||||
static u32 getTrigLockL(u32 pad) { return getCpadInfo(pad).mTrigLockL; }
|
||||
static u32 getTrigLockR(u32 pad) { return getCpadInfo(pad).mTrigLockR; }
|
||||
static u32 getTrigUp(u32 pad) { return getTrig(pad) & CButton::DPAD_UP; }
|
||||
static u32 getTrigDown(u32 pad) { return getTrig(pad) & CButton::DPAD_DOWN; }
|
||||
static u32 getTrigLeft(u32 pad) { return getTrig(pad) & CButton::DPAD_LEFT; }
|
||||
static u32 getTrigRight(u32 pad) { return getTrig(pad) & CButton::DPAD_RIGHT; }
|
||||
static u32 getTrigL(u32 pad) { return getTrig(pad) & CButton::L; }
|
||||
static u32 getTrigR(u32 pad) { return getTrig(pad) & CButton::R; }
|
||||
static u32 getTrigA(u32 pad) { return getTrig(pad) & CButton::A; }
|
||||
static u32 getTrigB(u32 pad) { return getTrig(pad) & CButton::B; }
|
||||
static u32 getTrigZ(u32 pad) { return getTrig(pad) & CButton::Z; }
|
||||
static u32 getTrigY(u32 pad) { return getTrig(pad) & CButton::Y; }
|
||||
static u32 getTrigX(u32 pad) { return getTrig(pad) & CButton::X; }
|
||||
static u32 getTrigStart(u32 pad) { return getTrig(pad) & CButton::START; }
|
||||
static u32 getHold(u32 pad) { return getCpadInfo(pad).mButtonFlags; }
|
||||
static u32 getHoldLockL(u32 pad) { return getCpadInfo(pad).mHoldLockL; }
|
||||
static u32 getHoldLockR(u32 pad) { return getCpadInfo(pad).mHoldLockR; }
|
||||
static u32 getHoldUp(u32 pad) { return getHold(pad) & CButton::DPAD_UP; }
|
||||
static u32 getHoldDown(u32 pad) { return getHold(pad) & CButton::DPAD_DOWN; }
|
||||
static u32 getHoldLeft(u32 pad) { return getHold(pad) & CButton::DPAD_LEFT; }
|
||||
static u32 getHoldRight(u32 pad) { return getHold(pad) & CButton::DPAD_RIGHT; }
|
||||
static u32 getHoldL(u32 pad) { return getHold(pad) & CButton::L; }
|
||||
static u32 getHoldR(u32 pad) { return getHold(pad) & CButton::R; }
|
||||
static u32 getHoldA(u32 pad) { return getHold(pad) & CButton::A; }
|
||||
static u32 getHoldB(u32 pad) { return getHold(pad) & CButton::B; }
|
||||
static u32 getHoldZ(u32 pad) { return getHold(pad) & CButton::Z; }
|
||||
static u32 getHoldY(u32 pad) { return getHold(pad) & CButton::Y; }
|
||||
static u32 getHoldX(u32 pad) { return getHold(pad) & CButton::X; }
|
||||
static f32 getStickX(u32 pad) { return getCpadInfo(pad).mMainStickPosX; }
|
||||
static f32 getStickY(u32 pad) { return getCpadInfo(pad).mMainStickPosY; }
|
||||
static f32 getSubStickX(u32 pad) { return getCpadInfo(pad).mCStickPosX; }
|
||||
static f32 getSubStickY(u32 pad) { return getCpadInfo(pad).mCStickPosY; }
|
||||
static f32 getAnalogR(u32 pad) { return getCpadInfo(pad).mTriggerRight; }
|
||||
static f32 getAnalogL(u32 pad) { return getCpadInfo(pad).mTriggerLeft; }
|
||||
|
||||
static JUTGamePad* m_gamePad[4];
|
||||
static interface_of_controller_pad m_cpadInfo[4];
|
||||
};
|
||||
|
||||
#endif /* M_DO_M_DO_CONTROLLER_PAD_H */
|
||||
|
||||
@@ -1,6 +1,39 @@
|
||||
#ifndef M_DO_M_DO_MAIN_H
|
||||
#define M_DO_M_DO_MAIN_H
|
||||
|
||||
#include "JSystem/JKernel/JKRExpHeap.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class HeapCheck {
|
||||
public:
|
||||
void CheckHeap1(void);
|
||||
s32 getUsedCount(void) const;
|
||||
void heapDisplay(void) const;
|
||||
u32& getUsedCountRef() { return mUsedCount; }
|
||||
u32& getTotalUsedSizeRef() { return mTotalUsedSize; }
|
||||
JKRExpHeap* getHeap() { return mHeap; }
|
||||
void setHeap(JKRExpHeap* i_heap) { mHeap = i_heap; }
|
||||
void setHeapSize(u32 i_size) { mTargetHeapSize = i_size; }
|
||||
s32 getMaxTotalUsedSize() { return mMaxTotalUsedSize; }
|
||||
s32 getMaxTotalFreeSize() { return mMaxTotalFreeSize; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ char* mName;
|
||||
/* 0x04 */ char* mJName;
|
||||
/* 0x08 */ JKRExpHeap* mHeap;
|
||||
/* 0x0C */ s32 mMaxTotalUsedSize;
|
||||
/* 0x10 */ s32 mMaxTotalFreeSize;
|
||||
/* 0x14 */ u8 unk20[8];
|
||||
/* 0x1C */ u32 mTargetHeapSize;
|
||||
/* 0x20 */ u32 mUsedCount;
|
||||
/* 0x24 */ u32 mTotalUsedSize;
|
||||
};
|
||||
|
||||
struct mDoMain {
|
||||
static u8 COPYDATE_STRING[18 + 2 /* padding */];
|
||||
static u32 memMargin;
|
||||
static u8 sPowerOnTime[4]; // should be OSTime
|
||||
static u8 sHungUpTime[4]; // should be OSTime
|
||||
};
|
||||
|
||||
#endif /* M_DO_M_DO_MAIN_H */
|
||||
|
||||
Reference in New Issue
Block a user