mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-06 11:07:18 -04:00
1ef592dd6e
Removes the strong dependency on a single header file and moves declarations to their respective header file. This allows for making dependencies explicit in cpp files and other headers, and also makes it much easier to track where everything related to a particular component is. This change also creates a few header files that previously didn't exist, making it much nicer for people implementing things, as they won't need to create the header file, it'll just be there ready to go. Ideally functions.h wouldn't even be a thing, as this header adds a lot of preprocessing overhead due to its size, and will continue to grow significantly larger over the lifespan of the project, which can also impact the performance of editors that do dependency lookups and context-aware syntax highlighting.
191 lines
5.0 KiB
C++
191 lines
5.0 KiB
C++
#ifndef Z2SEMGR_H_
|
|
#define Z2SEMGR_H_
|
|
|
|
#include "JSystem/JAudio2/JAISe/JAISe.h"
|
|
#include "JSystem/JAudio2/JAISoundHandles/JAISoundHandles.h"
|
|
#include "Z2AudioLib/Z2Param/Z2Param.h"
|
|
#include "Z2AudioLib/Z2SeqMgr/Z2SeqMgr.h"
|
|
#include "global.h"
|
|
|
|
struct Z2MultiSeObj {
|
|
Z2MultiSeObj();
|
|
~Z2MultiSeObj();
|
|
|
|
u8 unk0[28];
|
|
u32 field_0x1c;
|
|
u8 unk1[4];
|
|
};
|
|
|
|
class Z2SeMgr {
|
|
public:
|
|
Z2SeMgr(void);
|
|
|
|
void initSe(void);
|
|
void resetModY(void);
|
|
void modHeightAtCamera(Vec const**);
|
|
void incrCrowdSize(void);
|
|
void decrCrowdSize(void);
|
|
void seStart(JAISoundID, Vec const*, u32, s8, float, float, float, float, u8);
|
|
void seStartLevel(JAISoundID, Vec const*, u32, s8, float, float, float, float, u8);
|
|
void seStop(JAISoundID, u32);
|
|
void seStopAll(u32);
|
|
void seMoveVolumeAll(float, u32);
|
|
void messageSePlay(u16, Vec*, s8);
|
|
void talkInSe(void);
|
|
void talkOutSe(void);
|
|
void menuInSe(void);
|
|
void setLevObjSE(u32, Vec*, s8);
|
|
void setMultiTriggerSE(u32, Vec*, s8);
|
|
void processSeFramework(void);
|
|
bool isLevelSe(JAISoundID);
|
|
bool isSoundCulling(JAISoundID);
|
|
|
|
private:
|
|
JAISoundHandles sound_handles;
|
|
Z2SeMgr* se_mgr;
|
|
u32 field_0x64;
|
|
|
|
Z2MultiSeObj level_object_se[10];
|
|
u8 level_object_se_count;
|
|
|
|
u8 padding_1[3];
|
|
|
|
Z2MultiSeObj multi_trigger_se[10];
|
|
u8 multi_trigger_se_count;
|
|
|
|
u8 padding_2[3];
|
|
|
|
u8 unk0[128];
|
|
s8 unk1[12];
|
|
|
|
u8 mCrowdSize;
|
|
|
|
u8 unk2[3];
|
|
};
|
|
|
|
class Z2MultiSeMgr {
|
|
public:
|
|
Z2MultiSeMgr();
|
|
~Z2MultiSeMgr();
|
|
|
|
u32 registMultiSePos(Vec*);
|
|
void resetMultiSePos(void);
|
|
float getPanPower(void);
|
|
float getDolbyPower(void);
|
|
|
|
private:
|
|
u8 field_0x0;
|
|
u8 field_0x1;
|
|
u8 field_0x2;
|
|
u8 field_0x3;
|
|
f32 field_0x4;
|
|
f32 field_0x8;
|
|
f32 field_0xc;
|
|
f32 field_0x10;
|
|
f32 field_0x14;
|
|
s8 field_0x18;
|
|
};
|
|
|
|
extern "C" {
|
|
void Z2MultiSeObj(void);
|
|
void __ct__12Z2MultiSeObjFv(void);
|
|
|
|
void __ct__12Z2MultiSeMgrFv(void);
|
|
void __dt__12Z2MultiSeMgrFv(void);
|
|
void resetMultiSePos__12Z2MultiSeMgrFv(void);
|
|
|
|
void __ct__7Z2SeMgrFv(void);
|
|
void decrCrowdSize__7Z2SeMgrFv(void);
|
|
void incrCrowdSize__7Z2SeMgrFv(void);
|
|
void initSe__7Z2SeMgrFv(void);
|
|
void isLevelSe__7Z2SeMgrF10JAISoundID(JAISoundID);
|
|
void isSoundCulling__7Z2SeMgrF10JAISoundID(JAISoundID);
|
|
void modHeightAtCamera__7Z2SeMgrFPPC3Vec(Vec const**);
|
|
void processSeFramework__7Z2SeMgrFv(void);
|
|
void resetModY__7Z2SeMgrFv(void);
|
|
void seMoveVolumeAll__7Z2SeMgrFfUl(float, u32);
|
|
void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(JAISoundID, Vec const*, u32, s8, float, float,
|
|
float, float, u8);
|
|
void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(JAISoundID, Vec const*, u32, s8, float,
|
|
float, float, float, u8);
|
|
void seStop__7Z2SeMgrF10JAISoundIDUl(JAISoundID, u32);
|
|
void seStopAll__7Z2SeMgrFUl(void);
|
|
void setLevObjSE__7Z2SeMgrFUlP3VecSc(u32, Vec*, s8);
|
|
void setMultiTriggerSE__7Z2SeMgrFUlP3VecSc(u32, Vec*, s8);
|
|
|
|
void __ct__12Z2MultiSeMgrFv(void);
|
|
void registMultiSePos__12Z2MultiSeMgrFP3Vec(Vec*);
|
|
void resetMultiSePos__12Z2MultiSeMgrFv(void);
|
|
float getPanPower__12Z2MultiSeMgrFv(void);
|
|
float getDolbyPower__12Z2MultiSeMgrFv(void);
|
|
|
|
void Z2SeMgr_NS_resetCrowdSize(void);
|
|
}
|
|
|
|
extern Z2SeMgr* lbl_80450B88; // Z2SeMgr sInstance
|
|
extern double lbl_804558D8;
|
|
extern float lbl_804558D0;
|
|
extern float lbl_804558D4;
|
|
extern double lbl_804558E0;
|
|
extern float lbl_804558C0;
|
|
extern float lbl_8045587C;
|
|
extern float lbl_80455878; // 0.0f
|
|
extern float lbl_80455870;
|
|
extern float lbl_80455874;
|
|
extern float lbl_80455880;
|
|
extern float lbl_80455884;
|
|
extern float lbl_80455888;
|
|
extern float lbl_80455880;
|
|
extern float lbl_8045588C;
|
|
extern float lbl_80455890;
|
|
extern float lbl_80455894;
|
|
extern float lbl_80455898;
|
|
extern float lbl_8045589C;
|
|
extern float lbl_804558A0;
|
|
extern float lbl_804558A4;
|
|
extern float lbl_804558A8;
|
|
extern float lbl_804558AC;
|
|
extern float lbl_804558B0;
|
|
extern float lbl_804558B4;
|
|
extern float lbl_804558B8;
|
|
extern float lbl_804558BC;
|
|
extern float lbl_804558C4;
|
|
extern float lbl_804558C8;
|
|
extern float lbl_804558CC;
|
|
extern float lbl_804558E8;
|
|
extern float lbl_804558EC;
|
|
extern float lbl_804558F0;
|
|
extern float lbl_804558F4;
|
|
extern float lbl_804558F8;
|
|
extern double lbl_80455900;
|
|
extern double lbl_80455908;
|
|
extern double lbl_80455910;
|
|
extern double lbl_80455918;
|
|
extern double lbl_80455920;
|
|
extern double lbl_80455928;
|
|
extern double lbl_80455930;
|
|
extern float lbl_80455938;
|
|
extern float lbl_8045593C;
|
|
extern float lbl_80455940;
|
|
extern float lbl_80455944;
|
|
extern float lbl_80455948;
|
|
extern float lbl_8045594C;
|
|
extern float lbl_80455950;
|
|
extern float lbl_80455954;
|
|
extern float lbl_80455958;
|
|
extern double lbl_80455960;
|
|
extern double lbl_80455968;
|
|
extern double lbl_80455970;
|
|
extern float lbl_80455978;
|
|
extern float lbl_8045597C;
|
|
extern float lbl_80455980;
|
|
extern float lbl_80455984;
|
|
extern float lbl_80455988;
|
|
extern float lbl_8045598C;
|
|
extern float lbl_80455990;
|
|
extern float lbl_80455994;
|
|
extern u32 lbl_8039B9F0;
|
|
extern u32 lbl_8039B9FC;
|
|
extern u8 lbl_803C9D98[0x60];
|
|
|
|
#endif |