Files
tp/include/Z2AudioLib/Z2SoundObject/Z2SoundObject.h
T
LC ec9b03241d Z2AudioLib: Migrate declarations out of functions.h to respective files (#96)
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.
2021-01-25 12:57:46 -05:00

89 lines
2.2 KiB
C++

#ifndef __Z2SOUNDOBJECT_H__
#define __Z2SOUNDOBJECT_H__
#include "JSystem/JGeometry/JGeometry.h"
#include "Z2AudioLib/Z2SoundHandles/Z2SoundHandles.h"
#include "Z2AudioLib/Z2SoundStarter/Z2SoundStarter.h"
#include "global.h"
/* struct Z2SoundObjBase_vtable {
void* field_0x0;
void* field_0x4;
void* framework;
void* dispose;
void* stopOK;
void* init;
void* startSound;
void* startLevelSound;
};
*/
class Z2SoundObjBase : protected Z2SoundHandles {
public:
Z2SoundObjBase();
~Z2SoundObjBase();
void deleteObject();
bool isAlive() const { return mIsInitialized; }
virtual void framework(u32, s8);
virtual void dispose();
virtual bool stopOK(Z2SoundHandlePool& pool);
virtual void init(Vec* pSoundPos, u8 pNumHandles);
// Z2SoundObjBase_vtable* vtable;
Z2SoundStarter* mSoundStarter;
Vec* mSoundPos;
u16 field_0x1c;
u8 field_0x1e;
bool mIsInitialized;
};
class Z2SoundObjSimple : protected Z2SoundHandles {
public:
virtual void init(Vec* pSoundPos, u8 pNumHandles);
};
class Z2DopplerSoundObjBase : protected Z2SoundHandles {};
extern "C" {
void __ct__14Z2SoundObjBaseFv(void);
void __dt__14Z2SoundObjBaseFv(void);
void deleteObject__14Z2SoundObjBaseFv(void);
void framework__14Z2SoundObjBaseFUlSc(void);
void init__14Z2SoundObjBaseFP3VecUc(void);
void stopOK__14Z2SoundObjBaseFR17Z2SoundHandlePool(void);
void Z2SoundObjAnime(void);
void Z2SoundObjAnime_NS_ageSounds_(void);
void Z2SoundObjAnime_NS_getSoundID(void);
void Z2SoundObjAnime_NS_initAnime(void);
void Z2SoundObjAnime_NS_playsSound(void);
void Z2SoundObjAnime_NS_startSoundInner(void);
void Z2SoundObjAnime_NS_updateAnime(void);
void Z2SoundObjAnime_NS_updateSoundLifeTime_(void);
void Z2SoundObjBase_NS_startCollisionSE(void);
void Z2SoundObjBase_NS_startLevelSound(void);
void Z2SoundObjBase_NS_startSound(void);
void Z2SoundObjSimple(void);
void Z2SoundObjSimple_NS_dtor(void);
void Z2DopplerSoundObjBase(void);
void func_802BE7AC(void);
void func_802BE714(void);
void func_802BEB74(void);
void func_802BE6B8(void);
void func_802BE880(void);
void func_802BEB38(void);
void func_802BE8A0(void);
void func_802BE9B0(void);
void func_802BE65C(void);
void func_802BEBDC(void);
void func_802BE5FC(void);
}
#endif