Files
tp/include/Z2AudioLib/Z2SoundObject/Z2SoundObject.h
T
Erin Moon a072e71c33 Z2AudioLib misc decomp (#75)
* Z2SoundHandles: decomp portions

* start decomping: Z2SpeechMgr2, Z2SoundHandles

* Z2SoundHandles::stopAllSounds(): ok

* Z2SoundHandles::getHandleUserData(): ok

* Z2SoundInfo: header

* Z2SoundObjBase::framework(): ok

* Z2SoundObjBase::Z2SoundObjBase(), Z2SoundObjBase::init(): ok

* Z2SoundObjBase::~Z2SoundObjBase(): ok

* Z2SoundObjBase::stopOK(): ok

* Z2SoundObjBase::stopOK, incomplete Z2SoundObjBase::dispose()

* clang-format

* Z2SoundObjBase::dispose(): ok

* JAISound::operator->(): null assert

* JAIAudience: stub

* Z2SoundObject::{init, deleteObject, isAlive}: ok

* Z2SeMgr: elaborate struct (and decl JAISoundHandles to support this)

* start subclassing Z2SoundObjBase; nonmatching Z2SoundObjSimple::init()

* Z2SeMGr::{incrCrowdSize, decrCrowdSize}: ok

* Z2MultiSeMgr::resetMultiSePos(): ok

* Z2WolfHowlMgr.h: decls

* Z2SoundStarter: move to decls and fix postprocess.py symbol pass

* Z2AudioArcLoader: decls

* Z2SoundObjMgr: ok some fns
- deleteEnemyAll()
- isTwilightBattle()
- setGhostEnemyState()

additionally elaborates parts of the Z2Creature hierarchy

* delete unused .s files and add tool to find them (only runs on linux)

* run clang-format

* postprocess.py: comment out debugging

* add python step to ok-check workflow

* address review comments

* address review comments

Co-authored-by: notyourav <65437533+notyourav@users.noreply.github.com>

Co-authored-by: Pheenoh <pheenoh@gmail.com>
Co-authored-by: notyourav <65437533+notyourav@users.noreply.github.com>
2021-01-21 23:16:51 -05:00

50 lines
1.1 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 {};
#endif