Mario Kart 64
Loading...
Searching...
No Matches
AudioSample.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include "resource/Resource.h"
5
6struct AdpcmLoop {
7 uint32_t start;
8 uint32_t end;
9 uint32_t count;
10 uint32_t pad;
11 int16_t* state; // only exists if count != 0. 8-byte aligned
12};
13
14struct AdpcmBook {
15 int32_t order;
16 int32_t npredictors;
17 int16_t* book; // size 8 * order * npredictors. 8-byte aligned
18};
19
20struct AudioBankSample {
21 uint8_t unused;
22 uint8_t loaded;
23 uint8_t *sampleAddr;
26 uint32_t sampleSize; // never read. either 0 or 1 mod 9, depending on padding
27};
28
29namespace SM64 {
30
31
32class AudioSample : public Ship::Resource<AudioBankSample> {
33 public:
34 using Resource::Resource;
35
36 AudioSample() : Resource(std::shared_ptr<Ship::ResourceInitData>()) {}
37 ~AudioSample() override;
38
40 size_t GetPointerSize();
41
43
46 std::vector<uint8_t> sampleAddr;
47};
48}
~AudioSample() override
Definition AudioSample.cpp:11
AudioBankSample * GetPointer()
Definition AudioSample.cpp:4
AudioBankSample mData
Definition AudioSample.h:42
AudioSample()
Definition AudioSample.h:36
std::vector< uint8_t > sampleAddr
Definition AudioSample.h:46
size_t GetPointerSize()
Definition AudioSample.cpp:8
AdpcmBook book
Definition AudioSample.h:45
AdpcmLoop loop
Definition AudioSample.h:44
Definition AudioBankFactory.h:6
Definition SpaghettiGui.cpp:43
Definition internal.h:128
s32 npredictors
Definition internal.h:130
s32 order
Definition internal.h:129
s16 * book
Definition internal.h:131
Definition internal.h:120
u32 pad
Definition internal.h:124
u32 start
Definition internal.h:121
u32 count
Definition internal.h:123
s16 * state
Definition internal.h:125
u32 end
Definition internal.h:122
Definition internal.h:134
u32 sampleSize
Definition internal.h:140
u8 loaded
Definition internal.h:136
u8 * sampleAddr
Definition internal.h:137
struct AdpcmLoop * loop
Definition internal.h:138
u8 unused
Definition internal.h:135
struct AdpcmBook * book
Definition internal.h:139