JAudio2 and Z2AudioLib work (#2223)

* JAudio2 and Z2AudioLib work

* check1stDynamicWave matched
This commit is contained in:
Caroline Madsen
2024-10-23 19:25:13 -04:00
committed by GitHub
parent 1289892a26
commit 9401af27b3
94 changed files with 3803 additions and 7254 deletions
+90 -193
View File
@@ -7,153 +7,101 @@
#include "Z2AudioLib/Z2Param.h"
#include "Z2AudioLib/Z2Calc.h"
#include "Z2AudioLib/Z2AudioMgr.h"
#include "dol2asm.h"
static void Z2_E_sw_modPitch(Z2SoundHandlePool*, u32);
static void Z2_E_ms_modVol(Z2SoundHandlePool*, u32);
static void Z2_E_mm_modPitch(Z2SoundHandlePool*, u32);
static void Z2_B_zan_modPitch(Z2SoundHandlePool*, u32);
//
// External References:
//
/* 80455BD8-80455BDC 0041D8 0004+00 1/1 0/0 0/0 .sdata2 sAreaDefault */
static Z2EnemyArea const sAreaDefault = {true, 700, 1100, 1500};
extern "C" void __dt__16Z2SoundObjSimpleFv();
extern "C" void moveVolume__18JAISoundParamsMoveFfUl();
extern "C" void movePitch__18JAISoundParamsMoveFfUl();
extern "C" void linearTransform__6Z2CalcFfffffb();
extern "C" void getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign();
extern "C" void getRandom__6Z2CalcFfff();
extern "C" void getHandleSoundID__14Z2SoundHandlesF10JAISoundID();
extern "C" void incrCrowdSize__7Z2SeMgrFv();
extern "C" void decrCrowdSize__7Z2SeMgrFv();
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void subBgmStart__8Z2SeqMgrFUl();
extern "C" void subBgmStop__8Z2SeqMgrFv();
extern "C" void setChildTrackVolume__8Z2SeqMgrFP14JAISoundHandleifUlff();
extern "C" void setBattleSeqState__8Z2SeqMgrFUc();
extern "C" void setBattleLastHit__8Z2SeqMgrFUc();
extern "C" void convertAbsToRel__10Z2AudienceFR3VecP3Veci();
extern "C" void calcRelPosVolume__10Z2AudienceFRC3Vecfi();
extern "C" void calcRelPosPan__10Z2AudienceFRC3Veci();
extern "C" void calcRelPosDolby__10Z2AudienceFRC3Veci();
extern "C" void __ct__14Z2SoundObjBaseFv();
extern "C" void __dt__14Z2SoundObjBaseFv();
extern "C" void init__14Z2SoundObjBaseFP3VecUc();
extern "C" void deleteObject__14Z2SoundObjBaseFv();
extern "C" void framework__14Z2SoundObjBaseFUlSc();
extern "C" void dispose__14Z2SoundObjBaseFv();
extern "C" void stopOK__14Z2SoundObjBaseFR17Z2SoundHandlePool();
extern "C" void startSound__14Z2SoundObjBaseF10JAISoundIDUlSc();
extern "C" void startLevelSound__14Z2SoundObjBaseF10JAISoundIDUlSc();
extern "C" void startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase();
extern "C" void __ct__16Z2SoundObjSimpleFv();
extern "C" void __ct__15Z2SoundObjAnimeFv();
extern "C" void initAnime__15Z2SoundObjAnimeFPvbff();
extern "C" void updateAnime__15Z2SoundObjAnimeFff();
extern "C" void func_802C0074();
extern "C" void func_802C0190();
extern "C" void isMidnaSpeak__12Z2SpeechMgr2Fv();
extern "C" void __dl__FPv();
extern "C" void __ct__10JSUPtrLinkFPv();
extern "C" void __dt__10JSUPtrLinkFv();
extern "C" void append__10JSUPtrListFP10JSUPtrLink();
extern "C" void remove__10JSUPtrListFP10JSUPtrLink();
extern "C" void __construct_array();
extern "C" void _savegpr_20();
extern "C" void _savegpr_23();
extern "C" void _savegpr_25();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_20();
extern "C" void _restgpr_23();
extern "C" void _restgpr_25();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__15Z2SoundObjAnime[8];
extern "C" extern void* __vt__16Z2SoundObjSimple[8];
extern "C" extern u8 data_80450B44[4];
extern "C" extern u8 data_80450B48[4];
extern "C" extern u8 data_80450B70[4];
extern "C" extern u8 data_80450B7C[4];
extern "C" extern u8 data_80450B80[4];
extern "C" extern u8 data_80450B84[4];
extern "C" extern u8 data_80450B88[4];
extern "C" extern u8 struct_80451358[8];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
extern "C" extern u8 __OSReport_disable;
/* 80455BE0-80455BE4 0041E0 0004+00 1/1 0/0 0/0 .sdata2 sAreaFloating */
static Z2EnemyArea const sAreaFloating = {false, 700, 1100, 1500};
//
// Declarations:
//
/* 80455BE8-80455BEC 0041E8 0004+00 1/1 0/0 0/0 .sdata2 sAreaWide */
static Z2EnemyArea const sAreaWide = {true, 700, 1500, 3300};
/* 80455BF0-80455BF4 0041F0 0004+00 1/1 0/0 0/0 .sdata2 sAreaWideFloating */
static Z2EnemyArea const sAreaWideFloating = {false, 700, 1500, 3300};
/* 80455BF8-80455BFC 0041F8 0004+00 1/1 0/0 0/0 .sdata2 sAreaSmall */
static Z2EnemyArea const sAreaSmall = {true, 300, 700, 1000};
/* 80455C00-80455C04 004200 0004+00 1/1 0/0 0/0 .sdata2 sAreaSmallFloating */
static Z2EnemyArea const sAreaSmallFloating = {false, 500, 800, 1200};
struct EnemyInfo {
char mName[8];
Z2EnemyArea mEnemyArea;
};
/* ############################################################################################## */
/* 803CB230-803CB630 028350 0400+00 1/1 0/0 0/0 .data mEnemyInfo */
SECTION_DATA static u8 mEnemyInfo[1024] = {
0x44, 0x75, 0x6D, 0x6D, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x73, 0x31, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xBC, 0x04, 0xB0, 0x07, 0xD0,
0x45, 0x5F, 0x79, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x79, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x79, 0x67, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x2C, 0x01, 0xF4, 0x02, 0xBC,
0x45, 0x5F, 0x79, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x79, 0x64, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0xF4, 0x03, 0x84, 0x05, 0xDC,
0x45, 0x5F, 0x72, 0x64, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x79, 0x6D, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x1E,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x77, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x72, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x64, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x6B, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x73, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x74, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xBC, 0x05, 0xDC, 0x09, 0xC4,
0x45, 0x5F, 0x74, 0x6B, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xBC, 0x05, 0xDC, 0x09, 0xC4,
0x45, 0x5F, 0x63, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x64, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x66, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x53, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x50, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x64, 0x62, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0xF4, 0x03, 0x84, 0x07, 0x08,
0x45, 0x5F, 0x6B, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x73, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x73, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x62, 0x73, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xC8, 0x01, 0x90, 0x02, 0x58,
0x45, 0x5F, 0x53, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x62, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x62, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x48, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x67, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x68, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF4, 0x03, 0x20, 0x05, 0x14,
0x45, 0x5F, 0x77, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x6F, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x66, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x66, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x62, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x6D, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0xF4, 0x03, 0x20, 0x05, 0xDC,
0x45, 0x5F, 0x6E, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0xF4, 0x02, 0xBC, 0x04, 0x4C,
0x45, 0x5F, 0x70, 0x6F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x72, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x73, 0x67, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0xF4, 0x02, 0xBC, 0x03, 0x84,
0x45, 0x5F, 0x68, 0x62, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0xF4, 0x03, 0x84, 0x05, 0xDC,
0x45, 0x5F, 0x67, 0x62, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x06, 0x40, 0x0B, 0xB8, 0x0F, 0xA0,
0x45, 0x5F, 0x6D, 0x73, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0xF4, 0x02, 0xBC, 0x04, 0x4C,
0x45, 0x5F, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x62, 0x69, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0xF4, 0x02, 0xBC, 0x03, 0x84,
0x45, 0x5F, 0x74, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x61, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x64, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x67, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x73, 0x6D, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x73, 0x77, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x90, 0x02, 0x58, 0x05, 0xDC,
0x45, 0x5F, 0x72, 0x64, 0x62, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0xF4, 0x03, 0xE8, 0x05, 0xDC,
0x45, 0x5F, 0x6B, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x68, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x7A, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x67, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x42, 0x5F, 0x47, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x07, 0xD0, 0x0F, 0xA0,
0x45, 0x5F, 0x6D, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x5F, 0x7A, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x42, 0x5F, 0x74, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
static EnemyInfo mEnemyInfo[64] = {
{"Dummy", sAreaDefault},
{"E_s1", {true, 700, 1200, 2000}},
{"E_yk", sAreaSmallFloating},
{"E_yr", sAreaWideFloating},
{"E_yg", {true, 300, 500, 700}},
{"E_yc", sAreaWideFloating},
{"E_yd", {true, 500, 900, 1500}},
{"E_rdy", sAreaDefault},
{"E_ymb", {false, 10, 20, 30}},
{"", sAreaDefault},
{"E_wb", sAreaDefault},
{"E_rd", sAreaDefault},
{"E_dn", sAreaDefault},
{"E_kr", sAreaWideFloating},
{"E_st", sAreaDefault},
{"E_tk", {true, 700, 1500, 2500}},
{"E_tk2", {true, 700, 1500, 2500}},
{"E_cr", sAreaSmall},
{"E_df", sAreaDefault},
{"E_fs", sAreaDefault},
{"E_SB", sAreaDefault},
{"E_PM", sAreaDefault},
{"E_db", {true, 500, 900, 1800}},
{"E_kg", sAreaSmall},
{"E_sh", sAreaDefault},
{"E_sf", sAreaDefault},
{"E_bs", {true, 200, 400, 600}},
{"E_SM", sAreaDefault},
{"E_ba", sAreaSmallFloating},
{"E_bu", sAreaFloating},
{"E_HM", sAreaDefault},
{"E_ge", sAreaFloating},
{"E_hz", {false, 500, 800, 1300}},
{"E_ws", sAreaSmallFloating},
{"E_oc", sAreaDefault},
{"E_fz", sAreaDefault},
{"E_fb", sAreaDefault},
{"E_bg", sAreaSmall},
{"E_mm", {true, 500, 800, 1500}},
{"E_nz", {true, 500, 700, 1100}},
{"E_po", sAreaWide},
{"E_rb", sAreaDefault},
{"E_sg", {true, 500, 700, 900}},
{"E_hb", {true, 500, 900, 1500}},
{"E_gb", {true, 1600, 3000, 4000}},
{"E_ms", {true, 500, 700, 1100}},
{"E_dd", sAreaDefault},
{"E_bi", {true, 500, 700, 900}},
{"E_tt", sAreaSmallFloating},
{"E_ai", sAreaDefault},
{"E_dk", sAreaSmall},
{"E_ww", sAreaWide},
{"E_gi", sAreaDefault},
{"E_sm2", sAreaDefault},
{"E_sw", {true, 400, 600, 1500}},
{"E_rdb", {true, 500, 1000, 1500}},
{"E_kk", sAreaDefault},
{"E_hp", sAreaDefault},
{"E_zh", sAreaDefault},
{"E_gm", sAreaSmall},
{"B_GG", {false, 1000, 2000, 4000}},
{"E_mf", sAreaDefault},
{"E_zm", sAreaDefault},
{"B_tn", sAreaDefault},
};
/* 802C03C8-802C0420 2BAD08 0058+00 3/3 3/3 129/129 .text __ct__10Z2CreatureFv */
@@ -224,43 +172,6 @@ void Z2Creature::stopAnime() {
deleteObject();
}
/* ############################################################################################## */
/* 80455BD8-80455BDC 0041D8 0004+00 1/1 0/0 0/0 .sdata2 sAreaDefault */
SECTION_SDATA2 static u32 sAreaDefault = 0x010002BC;
/* 80455BDC-80455BE0 0041DC 0004+00 1/1 0/0 0/0 .sdata2 None */
SECTION_SDATA2 static u32 data_80455BDC = 0x044C05DC;
/* 80455BE0-80455BE4 0041E0 0004+00 1/1 0/0 0/0 .sdata2 sAreaFloating */
SECTION_SDATA2 static u32 sAreaFloating = 0x000002BC;
/* 80455BE4-80455BE8 0041E4 0004+00 1/1 0/0 0/0 .sdata2 None */
SECTION_SDATA2 static u32 data_80455BE4 = 0x044C05DC;
/* 80455BE8-80455BEC 0041E8 0004+00 1/1 0/0 0/0 .sdata2 sAreaWide */
SECTION_SDATA2 static u32 sAreaWide = 0x010002BC;
/* 80455BEC-80455BF0 0041EC 0004+00 1/1 0/0 0/0 .sdata2 None */
SECTION_SDATA2 static u32 data_80455BEC = 0x05DC0CE4;
/* 80455BF0-80455BF4 0041F0 0004+00 1/1 0/0 0/0 .sdata2 sAreaWideFloating */
SECTION_SDATA2 static u32 sAreaWideFloating = 0x000002BC;
/* 80455BF4-80455BF8 0041F4 0004+00 1/1 0/0 0/0 .sdata2 None */
SECTION_SDATA2 static u32 data_80455BF4 = 0x05DC0CE4;
/* 80455BF8-80455BFC 0041F8 0004+00 1/1 0/0 0/0 .sdata2 sAreaSmall */
SECTION_SDATA2 static u32 sAreaSmall = 0x0100012C;
/* 80455BFC-80455C00 0041FC 0004+00 1/1 0/0 0/0 .sdata2 None */
SECTION_SDATA2 static u32 data_80455BFC = 0x02BC03E8;
/* 80455C00-80455C04 004200 0004+00 1/1 0/0 0/0 .sdata2 sAreaSmallFloating */
SECTION_SDATA2 static u32 sAreaSmallFloating = 0x000001F4;
/* 80455C04-80455C08 004204 0004+00 1/1 0/0 0/0 .sdata2 None */
SECTION_SDATA2 static u32 data_80455C04 = 0x032004B0;
/* 802C0720-802C087C 2BB060 015C+00 4/0 2/0 0/0 .text
* startCreatureSound__10Z2CreatureF10JAISoundIDUlSc */
Z2SoundHandlePool* Z2Creature::startCreatureSound(JAISoundID i_soundID, u32 param_1, s8 param_2) {
@@ -423,10 +334,9 @@ void Z2CreatureCitizen::setMdlType(s8 param_0, bool param_1, bool param_2) {
/* 802C0E18-802C0ED8 2BB758 00C0+00 0/0 0/0 21/21 .text playVoice__17Z2CreatureCitizenFi
*/
#ifdef NONMATCHING
// regalloc
void Z2CreatureCitizen::playVoice(int i_sound) {
u32 sound_id = Z2SE_MAN_A1_V_AWAY + 6 * mCitizenID + i_sound;
u32 tmp = mCitizenID;
u32 sound_id = Z2SE_MAN_A1_V_AWAY + 6 * tmp + i_sound;
switch (mCitizenID) {
case 0:
case 1:
@@ -441,11 +351,6 @@ void Z2CreatureCitizen::playVoice(int i_sound) {
mLinkSearch = true;
}
}
#else
void Z2CreatureCitizen::playVoice(int param_0) {
// NONMATCHING
}
#endif
/* 802C0ED8-802C0F64 2BB818 008C+00 1/0 0/0 0/0 .text
* startCreatureVoice__17Z2CreatureCitizenF10JAISoundIDSc */
@@ -478,7 +383,7 @@ Z2CreatureEnemy::Z2CreatureEnemy() :
*/
void Z2CreatureEnemy::deleteObject() {
if (mEnemyID == 0x2c) {
Z2GetSeqMgr()->i_unMuteSceneBgm(0x21);
Z2GetSeqMgr()->unMuteSceneBgm(0x21);
}
if (getSupervisor() != NULL) {
Z2GetSoundObjMgr()->removeEnemy(this);
@@ -739,6 +644,7 @@ Z2SoundHandlePool* Z2CreatureEnemy::startCreatureExtraSoundLevel(JAISoundID i_so
/* 802C1A14-802C1B7C 2BC354 0168+00 4/0 0/0 0/0 .text startCollisionSE__15Z2CreatureEnemyFUlUl */
Z2SoundHandlePool* Z2CreatureEnemy::startCollisionSE(u32 param_0, u32 param_1) {
u8 var1;
switch (mEnemyID) {
case 0x21:
field_0xa3 = 1;
@@ -766,7 +672,7 @@ Z2SoundHandlePool* Z2CreatureEnemy::startCollisionSE(u32 param_0, u32 param_1) {
case 0x20:
case 0x24:
field_0xa3 = 1;
u8 var1 = struct_80450869;
var1 = struct_80450869;
if (param_0 - 0x40000 <= 1 || param_0 - 0x40000 == 3) {
var1 = 0x14;
}
@@ -1208,12 +1114,3 @@ static void Z2_B_zan_modPitch(Z2SoundHandlePool* i_handle, u32 param_1) {
(*i_handle)->getAuxiliary().moveVolume(volume, 0);
}
}
/* 802C3040-802C321C 2BD980 01DC+00 0/0 1/0 0/0 .text __sinit_Z2Creature_cpp */
void __sinit_Z2Creature_cpp(){// NONMATCHING
}
#pragma push
#pragma force_active on
REGISTER_CTORS(0x802C3040, __sinit_Z2Creature_cpp);
#pragma pop