mirror of
https://github.com/zeldaret/tp
synced 2026-07-08 22:44:44 -04:00
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>
This commit is contained in:
+25
-10
@@ -1,4 +1,7 @@
|
||||
#include "Z2AudioLib/Z2SeMgr/Z2SeMgr.h"
|
||||
#include "Z2AudioLib/Z2SoundObjMgr/Z2SoundObjMgr.h"
|
||||
#include "Z2AudioLib/Z2SoundStarter/Z2SoundStarter.h"
|
||||
#include "Z2AudioLib/Z2SpeechMgr2/Z2SpeechMgr2.h"
|
||||
#include "Z2AudioLib/Z2StatusMgr/Z2StatusMgr.h"
|
||||
|
||||
extern "C" {
|
||||
@@ -32,14 +35,20 @@ asm void Z2SeMgr::modHeightAtCamera(Vec const** param1) {
|
||||
#include "Z2AudioLib/Z2SeMgr/asm/func_802AB830.s"
|
||||
}
|
||||
|
||||
asm void Z2SeMgr::incrCrowdSize(void) {
|
||||
nofralloc
|
||||
#include "Z2AudioLib/Z2SeMgr/asm/func_802AB93C.s"
|
||||
void Z2SeMgr::incrCrowdSize(void) {
|
||||
mCrowdSize++;
|
||||
|
||||
if (mCrowdSize > 100)
|
||||
mCrowdSize = 100;
|
||||
}
|
||||
|
||||
asm void Z2SeMgr::decrCrowdSize(void) {
|
||||
nofralloc
|
||||
#include "Z2AudioLib/Z2SeMgr/asm/func_802AB960.s"
|
||||
void Z2SeMgr::decrCrowdSize(void) {
|
||||
mCrowdSize--;
|
||||
|
||||
//! @bug probably copypasta from incrCrowdSize(), but semantically it's still correct:
|
||||
//! mCrowdSize is a u8, so an underflow would result in mCrowdSize > 100, triggering the clamp.
|
||||
if (mCrowdSize > 100)
|
||||
mCrowdSize = 0;
|
||||
}
|
||||
|
||||
asm void Z2SeMgr::seStart(JAISoundID, Vec const*, u32, s8, float, float, float, float, u8) {
|
||||
@@ -127,9 +136,15 @@ asm u32 Z2MultiSeMgr::registMultiSePos(Vec*) {
|
||||
#include "Z2AudioLib/Z2SeMgr/asm/func_802AEB70.s"
|
||||
}
|
||||
|
||||
asm void Z2MultiSeMgr::resetMultiSePos(void) {
|
||||
nofralloc
|
||||
#include "Z2AudioLib/Z2SeMgr/asm/func_802AECBC.s"
|
||||
void Z2MultiSeMgr::resetMultiSePos(void) {
|
||||
field_0x18 = -1;
|
||||
// @todo fix when we have proper const placement
|
||||
f32 zero = /* 0.0f */ lbl_80455878;
|
||||
field_0x8 = zero;
|
||||
this->field_0xc = zero;
|
||||
this->field_0x10 = zero;
|
||||
this->field_0x14 = zero;
|
||||
this->field_0x4 = zero;
|
||||
}
|
||||
|
||||
asm float Z2MultiSeMgr::getPanPower(void) {
|
||||
@@ -140,4 +155,4 @@ asm float Z2MultiSeMgr::getPanPower(void) {
|
||||
asm float Z2MultiSeMgr::getDolbyPower(void) {
|
||||
nofralloc
|
||||
#include "Z2AudioLib/Z2SeMgr/asm/func_802AEDC0.s"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user