Files
tp/include/Z2AudioLib/Z2StatusMgr/Z2StatusMgr.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

68 lines
1.8 KiB
C

#ifndef Z2STATUSMGR_H_
#define Z2STATUSMGR_H_
#include "global.h"
struct Z2StatusMgr {
Z2StatusMgr(void);
void heartGaugeOn(void);
void processHeartGaugeSound(void);
void talkIn(void);
void talkOut(void);
void menuIn(void);
void menuOut(void);
bool isMovieDemo(void);
void setDemoName(char*);
void processTime(void);
bool checkDayTime(void);
void setEventBit(void*);
void setCameraPolygonPos(Vec*);
void setCameraGroupInfo(u8);
void setCameraInWaterDepth(float);
//! @todo there are a number of inlines only called from rels: see CHN_debug
u8 hour;
u8 minute;
u8 weekday;
u8 unk3;
s16 time;
u8 padding[2];
void* event_bit;
bool is_menu_in;
u8 padding2[3];
u32 camera_map_info;
u32 unk20;
float underwater_depth;
float camera_in_water_depth_ratio;
Vec polygon_position;
u8 demo_status;
u8 heart_gauge_on;
u8 padding3[2];
};
extern "C" {
void menuIn__11Z2StatusMgrFv(void);
void menuOut__11Z2StatusMgrFv(void);
bool isMovieDemo__11Z2StatusMgrFv(void);
void Z2SceneMgr_NS_sceneBgmStart(void);
void setDemoName__11Z2StatusMgrFPc(char*);
// bool checkDayTime__11Z2StatusMgrFv(void);
void processTime__11Z2StatusMgrFv(void);
void setEventBit__11Z2StatusMgrFPv(void*);
void Z2FxLineMgr_NS_setUnderWaterFx(void);
}
extern Z2StatusMgr* lbl_80450B7C; // Z2StatusMgr sInstance
extern u8 lbl_8039BC88[0x320]; // stringBase0
extern double lbl_80455A28;
extern u32 lbl_803CA508;
extern float lbl_80455A18; // polygon_position init to 1.0E7
extern float lbl_80455A1C; // underwater_depth / unk28 init to 0.0
extern float lbl_80455A20; // processHeartGaugeSound etc
extern float lbl_80455A24; // processHeartGaugeSound
extern u8 lbl_80451124; // used in processHeartGaugeSound
extern float lbl_80455A30;
extern float lbl_80455A34;
#endif