mirror of
https://github.com/zeldaret/ss
synced 2026-09-06 18:51:12 -04:00
A bit of source manager maybe
This commit is contained in:
@@ -78,8 +78,8 @@ private:
|
||||
// at 0x00: dSoundSourceIf_c vtable
|
||||
// at 0x04: dSnd3DActor_c sub-object
|
||||
// at 0x58: thunk-vtable
|
||||
/* 0xE8 */ u8 field_0xE8[0xF0 - 0xE8];
|
||||
|
||||
/* 0xE8 */ nw4r::ut::Node mMgrLink;
|
||||
/* 0x0F0 */ UNKWORD field_0x0F0;
|
||||
/* 0x0F4 */ UNKWORD field_0x0F4;
|
||||
/* 0x0F8 */ dAcBase_c *mpPlayer;
|
||||
|
||||
@@ -21,6 +21,7 @@ class dSoundSource_c;
|
||||
class dSndSourceGroup_c {
|
||||
public:
|
||||
dSndSourceGroup_c();
|
||||
dSndSourceGroup_c(u32, const char*, u32, u32);
|
||||
~dSndSourceGroup_c();
|
||||
|
||||
void registerSource(dSoundSource_c *);
|
||||
@@ -42,8 +43,8 @@ private:
|
||||
void resetSoundSourceParam();
|
||||
void clearList();
|
||||
|
||||
/* 0x00 */ nw4r::ut::Node mNode;
|
||||
/* 0x08 */ u8 _0x08[0x10 - 0x08];
|
||||
/* 0x00 */ nw4r::ut::Node mNode1;
|
||||
/* 0x08 */ nw4r::ut::Node mNode2;
|
||||
/* 0x10 */ UNKWORD field_0x10;
|
||||
/* 0x14 */ UNKWORD field_0x14;
|
||||
/* 0x18 */ UNKWORD field_0x18;
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
#ifndef D_SND_SOURCE_MGR_H
|
||||
#define D_SND_SOURCE_MGR_H
|
||||
|
||||
#include "d/snd/d_snd_source.h"
|
||||
#include "d/snd/d_snd_source_group.h"
|
||||
#include "d/snd/d_snd_util.h"
|
||||
#include "nw4r/ut/ut_list.h"
|
||||
|
||||
SND_DISPOSER_FORWARD_DECL(dSndSourceMgr_c);
|
||||
|
||||
// 0 - "" - Link
|
||||
// ActorLink::initModels
|
||||
// 0x2C - NpcKenT
|
||||
// 0x20 - Door, TBox, CharE (Chair), Tubo
|
||||
// 0x35 - TgSound
|
||||
// 0x2D - PyBird
|
||||
// 0x22 - Bamboo
|
||||
// 0x23 - Item
|
||||
|
||||
// 0x19 - Nusi*, BKr, BBs
|
||||
// 0x1A - MgRArm, MgLArm
|
||||
// 0x1B - Mgtail
|
||||
|
||||
class dSndSourceMgr_c {
|
||||
SND_DISPOSER_MEMBERS(dSndSourceMgr_c);
|
||||
|
||||
static const u32 NUM_GROUPS = 128;
|
||||
|
||||
public:
|
||||
dSndSourceMgr_c();
|
||||
|
||||
void playFlowSound(u32 id);
|
||||
|
||||
private:
|
||||
/* 0x0010 */ u8 field_0x0010;
|
||||
/* 0x0011 */ u8 field_0x0011;
|
||||
/* 0x0012 */ u8 field_0x0012;
|
||||
/* 0x0013 */ u8 field_0x0013;
|
||||
|
||||
/* 0x0014 */ dSndSourceGroup_c *mpDefaultGroup;
|
||||
/* 0x0018 */ nw4r::ut::List mGroupList1;
|
||||
/* 0x0024 */ nw4r::ut::List mGroupList2;
|
||||
/* 0x0030 */ nw4r::ut::List mGroupList3;
|
||||
/* 0x003C */ dSndSourceGroup_c mGroups[NUM_GROUPS];
|
||||
|
||||
// Not sure what these are for
|
||||
/* 0x383C */ nw4r::ut::List mSourceList1; // node offset 0xE8, probably into dSoundSource::mMgrLink
|
||||
/* 0x3848 */ nw4r::ut::List field_0x3848; // node offset 0x15C, possibly a subset of source types
|
||||
/* 0x3854 */ nw4r::ut::List field_0x3854; // node offset 0x160
|
||||
|
||||
/* 0x3860 */ UNKWORD field_0x3860;
|
||||
/* 0x3864 */ UNKWORD field_0x3864;
|
||||
/* 0x3868 */ UNKWORD field_0x3868;
|
||||
/* 0x386C */ f32 field_0x386C;
|
||||
|
||||
/* 0x3870 */ dSoundSource_c *mpPlayerSource;
|
||||
/* 0x3874 */ dSoundSource_c *mpFiTalkSource;
|
||||
/* 0x3878 */ dSoundSource_c *field_0x3878;
|
||||
/* 0x387C */ dSoundSource_c *field_0x387C;
|
||||
/* 0x3880 */ dSoundSource_c *field_0x3880; // fi singing related?
|
||||
/* 0x3884 */ dSoundSource_c *field_0x3884;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "common.h"
|
||||
#include "d/snd/d_snd_player_mgr.h"
|
||||
#include "d/snd/d_snd_source_mgr.h"
|
||||
|
||||
class dSndPlayerMgr_c;
|
||||
class dSndSound_c;
|
||||
@@ -29,26 +30,8 @@ extern "C" bool fn_80364DA0(void *);
|
||||
extern "C" void fn_80365020(void *);
|
||||
extern "C" void fn_80364D00(void *, s32);
|
||||
|
||||
// ENEMY_BGM_RELATED_MGR -> dSndSourceMgr_c
|
||||
// 0x3870 = player sound source
|
||||
// 0x3874 = Fi
|
||||
|
||||
// 0 - "" - Link
|
||||
// ActorLink::initModels
|
||||
// 0x2C - NpcKenT
|
||||
// 0x20 - Door, TBox, CharE (Chair), Tubo
|
||||
// 0x35 - TgSound
|
||||
// 0x2D - PyBird
|
||||
// 0x22 - Bamboo
|
||||
// 0x23 - Item
|
||||
|
||||
// 0x19 - Nusi*, BKr, BBs
|
||||
// 0x1A - MgRArm, MgLArm
|
||||
// 0x1B - Mgtail
|
||||
extern "C" void *ENEMY_BGM_RELATED_MGR;
|
||||
extern "C" void fn_80384570(void *, bool);
|
||||
extern "C" void fn_803858D0(void *);
|
||||
|
||||
#define ENEMY_BGM_RELATED_MGR (dSndSourceMgr_c::GetInstance())
|
||||
extern "C" void fn_80384570(dSndSourceMgr_c *, bool);
|
||||
|
||||
// This one has a SoundActor that actually plays the BGM_ music tracks,
|
||||
// including the battle BGM track.
|
||||
|
||||
Reference in New Issue
Block a user