mirror of
https://github.com/zeldaret/ss
synced 2026-08-19 13:53:25 -04:00
@@ -15,8 +15,8 @@ struct cBgS_PolyInfo;
|
||||
|
||||
struct SoundSource {
|
||||
virtual ~SoundSource() {}
|
||||
// TODO there's probably multiple inheritance involved and stuff
|
||||
#define SOUNDSOURCE_VIRTUAL(offset) virtual void vt_##offset();
|
||||
// TODO there's probably multiple inheritance involved and stuff
|
||||
#define SOUNDSOURCE_VIRTUAL(offset) virtual void vt_##offset();
|
||||
|
||||
SOUNDSOURCE_VIRTUAL(0x0C);
|
||||
SOUNDSOURCE_VIRTUAL(0x10);
|
||||
@@ -33,7 +33,7 @@ struct SoundSource {
|
||||
SOUNDSOURCE_VIRTUAL(0x3C);
|
||||
SOUNDSOURCE_VIRTUAL(0x40);
|
||||
SOUNDSOURCE_VIRTUAL(0x44);
|
||||
virtual bool shutdown(); // 0x48
|
||||
virtual bool shutdown(); // 0x48
|
||||
SOUNDSOURCE_VIRTUAL(0x4C);
|
||||
SOUNDSOURCE_VIRTUAL(0x50);
|
||||
SOUNDSOURCE_VIRTUAL(0x54);
|
||||
@@ -80,7 +80,6 @@ struct SoundSource {
|
||||
SOUNDSOURCE_VIRTUAL(0xF8);
|
||||
SOUNDSOURCE_VIRTUAL(0xFC);
|
||||
|
||||
|
||||
virtual bool isReadyMaybe(); // 0x100
|
||||
virtual bool load(void *data, const char *name); // 0x104
|
||||
virtual void setFrame(f32 frame); // 0x108
|
||||
|
||||
@@ -131,10 +131,10 @@ public:
|
||||
// unused; overridden by daPlayerModelBase_c
|
||||
return nullptr;
|
||||
}
|
||||
/* vt 0x11C */ virtual UNKWORD checkBeetleActorReferences() {
|
||||
return 0;
|
||||
/* vt 0x11C */ virtual dAcObjBase_c *checkBeetleActorReferences(s32) {
|
||||
return nullptr;
|
||||
}
|
||||
/* vt 0x120 */ virtual UNKWORD getBeetleActorReferencesSize() {
|
||||
/* vt 0x120 */ virtual s32 getBeetleActorReferencesSize() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x124 */ virtual UNKWORD vt_0x124() {
|
||||
@@ -541,6 +541,13 @@ public:
|
||||
return (someFlags_0x350 & mask) != 0;
|
||||
}
|
||||
|
||||
inline void onFlags_0x358(u32 mask) {
|
||||
someFlags_0x358 |= mask;
|
||||
}
|
||||
inline void offFlags_0x358(u32 mask) {
|
||||
someFlags_0x358 &= ~mask;
|
||||
}
|
||||
|
||||
inline void onFlags_0x360(u32 mask) {
|
||||
field_0x360 |= mask;
|
||||
}
|
||||
|
||||
@@ -1,14 +1,48 @@
|
||||
#ifndef D_T_ACTION_H
|
||||
#define D_T_ACTION_H
|
||||
|
||||
#include "d/a/d_a_base.h"
|
||||
#include "d/flag/sceneflag_manager.h"
|
||||
#include "d/t/d_tg.h"
|
||||
#include "m/m_angle.h"
|
||||
#include "m/m_mtx.h"
|
||||
|
||||
class dTgAction_c : public dAcBase_c {
|
||||
class dTgAction_c : public dTg_c {
|
||||
public:
|
||||
dTgAction_c() {}
|
||||
virtual ~dTgAction_c() {}
|
||||
|
||||
enum Type_e {
|
||||
FORCE_FADE_RESTART = 0,
|
||||
SHOW_DASH_PROMPT = 1,
|
||||
PREVENT_RESPAWN = 4,
|
||||
WATER_RELATED = 5,
|
||||
FORCE_AUTO_JUMP = 6,
|
||||
PREVENT_LOFTWING_CALL = 7,
|
||||
};
|
||||
|
||||
virtual int create() override;
|
||||
virtual int doDelete() override;
|
||||
virtual int draw() override;
|
||||
virtual int actorExecute() override;
|
||||
|
||||
void setActiveArea(f32 scale);
|
||||
void resetActiveArea();
|
||||
|
||||
bool checkActive1() const {
|
||||
return SceneflagManager::sInstance->checkBoolFlag(roomid, mEnableFlag1);
|
||||
}
|
||||
bool checkActive2() const {
|
||||
return (!(mEnableFlag2 < 0xFF) || SceneflagManager::sInstance->checkBoolFlag(roomid, mEnableFlag2));
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x0FC */ mMtx_c mActiveMtx;
|
||||
/* 0x12C */ f32 mScaleIncrease;
|
||||
/* 0x130 */ u8 mEnableFlag1;
|
||||
/* 0x131 */ u8 mEnableFlag2;
|
||||
/* 0x132 */ u8 mType;
|
||||
/* 0x133 */ u8 _133;
|
||||
/* 0x134 */ mAng field_0x134;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+4
-5
@@ -57,6 +57,10 @@ struct mAng {
|
||||
return *this;
|
||||
}
|
||||
|
||||
static s32 abs(const mAng b) {
|
||||
return labs(b);
|
||||
}
|
||||
|
||||
s32 step(s16 target, s32 steps, s16 max, s16 min);
|
||||
|
||||
f32 sin() const {
|
||||
@@ -117,11 +121,6 @@ struct mAng {
|
||||
return rad * (65536.0f / (2.f * M_PI));
|
||||
}
|
||||
|
||||
// Try not to use
|
||||
s32 diff(const mAng &other) {
|
||||
return mVal - other.mVal;
|
||||
}
|
||||
|
||||
s16 mVal;
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user