Skip to content
This repository was archived by the owner on Jul 22, 2026. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
f584d3e
161520
jefemagril Jun 25, 2026
803ecfe
more
jefemagril Jun 25, 2026
d814b53
even more
jefemagril Jun 25, 2026
8b50dd3
10 more
jefemagril Jun 25, 2026
04c0e0a
another 10
jefemagril Jun 25, 2026
66b6d33
many more
jefemagril Jun 25, 2026
a37e236
func_15004A4C
jefemagril Jun 25, 2026
4c86dfb
another one
jefemagril Jun 25, 2026
0172ba9
moar
jefemagril Jun 25, 2026
7a8d03a
Refactor function signatures in game_161520.c to use struct259 instea…
jefemagril Jun 25, 2026
4c8cec0
Refactor function signatures across multiple files to use specific st…
jefemagril Jun 25, 2026
a33494c
change func_1516968C to treat arg0 as an array
jefemagril Jun 25, 2026
6ca9e47
Refactor multiple functions across various files to improve type safe…
jefemagril Jun 25, 2026
e528c45
Add near-matching function comments and clarify setup order for assem…
jefemagril Jun 26, 2026
b4d20d6
Implement n_alCSeqNew function to initialize ALCSeq structure and man…
jefemagril Jun 26, 2026
ba7164b
Update n_alCSeqNextEvent function to include an additional argument f…
jefemagril Jun 26, 2026
032c1c0
Add loop start and end event handling in __n_alCSeqGetTrackEvent func…
jefemagril Jun 26, 2026
c8c4e19
Refactor audio sequence handling by replacing func_100186DC with alCS…
jefemagril Jun 26, 2026
6f641c2
Rename and implement n_alCSeqNewLoopStartMarkers function to handle l…
jefemagril Jun 26, 2026
b555cce
Implement __n_nextSampleTime function to determine the next sample ti…
jefemagril Jun 26, 2026
d307f0f
Add _n_freePVoice function to manage the freeing of N_PVoice instance…
jefemagril Jun 26, 2026
d3a9172
Add _n_collectPVoices function to manage the collection of physical v…
jefemagril Jun 26, 2026
d9afb4f
Implement n_alAudioFrame function to handle audio frame processing, r…
jefemagril Jun 26, 2026
fabdd44
Implement n_alSynGetOutputLPRef function to retrieve output reference…
jefemagril Jun 26, 2026
6f4615c
Add __n_CSPRepostEvent function to handle reposting of audio events i…
jefemagril Jun 26, 2026
7f237b0
Implement n_alCSPApplyChlVol function to manage channel volume adjust…
jefemagril Jun 26, 2026
0dde527
Add non-matching implementation of n_alCSPStartChlFade function for c…
jefemagril Jun 26, 2026
2332ca7
Add n_alStreamSetVolumeRamp function for volume ramp control in audio…
jefemagril Jun 26, 2026
5e5e199
Add n_alStreamGetState function to retrieve the current audio stream …
jefemagril Jun 26, 2026
182e159
Add n_alStreamStop function to manage audio stream stopping behavior.…
jefemagril Jun 26, 2026
2668c16
Add n_alStreamResume function to manage audio stream resumption behav…
jefemagril Jun 26, 2026
35f8a22
Add n_alStreamPrefetch function to handle audio stream prefetching. I…
jefemagril Jun 26, 2026
b26891b
Add n_alStreamForceStop function to manage audio stream termination. …
jefemagril Jun 26, 2026
5e8c95f
Add non-matching implementation of n_alStreamCrc8Block function for C…
jefemagril Jun 26, 2026
28ac742
Refactor audio stream handling by replacing func_151F3C4C with n_alSt…
jefemagril Jun 26, 2026
db5d3c0
Add n_alStreamUpdateEnvelope function to manage audio envelope update…
jefemagril Jun 26, 2026
9e1ff67
Add new audio stream control functions: n_alStreamStart, n_alStreamSe…
jefemagril Jun 26, 2026
96d9867
Implement n_alCSPApplyChlPitchPan function for channel pitch and pan …
jefemagril Jun 26, 2026
fcb2c68
Add n_alCSPSetChlSustain function to manage channel sustain behavior …
jefemagril Jun 26, 2026
ba8d989
Refactor audio control functions in init_19B50.c by renaming and impl…
jefemagril Jun 26, 2026
3b5f120
Add new audio filter functions n_alSynFilter11 and n_alSynFilter13 to…
jefemagril Jun 26, 2026
f30a876
Add n_alCSPStartChlFade function to manage channel fade behavior in a…
jefemagril Jun 27, 2026
4d40357
Refactor audio CRC helper by splitting n_alStreamCrc5Word into its ow…
jefemagril Jun 27, 2026
7bfeaa3
Refactor audio CRC helpers by consolidating CRC-5 and CRC-8 functions…
jefemagril Jun 27, 2026
f850e94
Enhance channel fade functionality in init_19B50.c by introducing con…
jefemagril Jun 27, 2026
cdfa7bd
Refactor audio voice update functions in init_15550.c by renaming and…
jefemagril Jun 27, 2026
cec7340
Add n_alSndpSetChannelValue function to manage audio channel values i…
jefemagril Jun 27, 2026
176c649
Add n_alSndpFlushVoiceEvents function to manage voice event flushing …
jefemagril Jun 27, 2026
212a231
Add N_ALSndpSoundState struct and n_alSndpPlaySound function to manag…
jefemagril Jun 27, 2026
ed18b75
Refactor audio initialization by updating n_alSndpNew function to acc…
jefemagril Jun 27, 2026
e769ce4
Refactor audio functions in functions.h and init_15550.c by renaming …
jefemagril Jun 27, 2026
af1bbfe
Refactor sndp_post_event function in init_15550.c and update related …
jefemagril Jun 27, 2026
93d3590
Refactor audio function in init_15550.c by renaming func_10015550 to …
jefemagril Jun 27, 2026
90106a8
Refactor sndp_apply_detune_pitch function in init_15550.c to use N_AL…
jefemagril Jun 27, 2026
af960c4
Refactor sndp_free_state function in init_15550.c to utilize N_ALSndp…
jefemagril Jun 27, 2026
3418f9b
Refactor audio functions in functions.h and init_EB00.c to rename snd…
jefemagril Jun 27, 2026
f872e21
Refactor audio output functions in functions.h and init_17870.c by re…
jefemagril Jun 27, 2026
9d43683
Refactor audio oscillator functions in functions.h and init_128D0.c b…
jefemagril Jun 27, 2026
76171e3
Refactor audio bank and wave list functions in functions.h and init_1…
jefemagril Jun 27, 2026
679ad90
Add new audio processing functions in symbol_addrs.us.txt
jefemagril Jun 27, 2026
a739f6c
struct refactor
jefemagril Jun 29, 2026
1c0078a
refactor internal structs
jefemagril Jun 29, 2026
fd29401
Introduce new event-related structs in game_1944C0.c for improved cla…
jefemagril Jun 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions conker/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,10 @@ LDFLAGS = -T $(BUILD_DIR)/$(LD_SCRIPT) -Map $(TARGET).map -T undefined_syms.$(VE

$(BUILD_DIR)/$(SRC_DIR)/libultra/audio/%.o: OPT_FLAGS := -g

# n_alStreamCrc5Word was compiled at -O1 in the original (scheduled, register
# locals), unlike the surrounding -g audio code, so it lives in its own TU.
$(BUILD_DIR)/$(SRC_DIR)/libultra/audio/n_streamcrc.c.o: OPT_FLAGS := -O1

# TODO: blindly move all of this into libultra/audio
$(BUILD_DIR)/$(SRC_DIR)/init_17F10.c.o: OPT_FLAGS := -g
$(BUILD_DIR)/$(SRC_DIR)/init_17F80.c.o: OPT_FLAGS := -g
Expand Down
3 changes: 2 additions & 1 deletion conker/conker.us.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -774,7 +774,8 @@ segments:
- [0x21F1C0, c, libultra/io/pfsisplug2] # dupe of libultra/io/pfsisplug
- [0x21F530, asm, libultra/io/contramread2] # dupe of libultra/io/contramread
- [0x21f8e0, asm, libultra/io/contramwrite2] # dupe of libultra/io/contramwrite
- [0x21fc90, c, libultra/audio/game_21FC90] # -g
- [0x21fc90, c, libultra/audio/n_streamcrc] # -O1 (CRC-5/CRC-8 helpers, split out of game_21FC90)
- [0x21fe10, c, libultra/audio/game_21FC90] # -g
- [0x221290, c, game_221290]
- [0x225d20, asm]
- [0x2270a0, asm]
Expand Down
91 changes: 89 additions & 2 deletions conker/include/2.0L/PR/n_libaudio.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,8 @@ void n_alSynRemovePlayer( ALPlayer *client);
void n_alSynSetFXMix(N_ALVoice *v, u8 fxmix);
void n_alSynSetFXParam(ALFxRef fx, s16 paramID, void *param);
void n_alSynFreeFX(ALFxRef *fx);
void n_alSynFilter11(N_ALVoice *v, u8 arg1);
void n_alSynFilter13(N_ALVoice *v, f32 arg1);
void n_alSynSetPan(N_ALVoice *v, u8 pan);
void n_alSynSetPitch( N_ALVoice *v, f32 pitch);
void n_alSynSetPriority( N_ALVoice *voice, s16 priority);
Expand Down Expand Up @@ -168,6 +170,33 @@ typedef struct {
u8 pad4[0x8];
} N_ALUnknownEvent2;

typedef struct N_ALStreamState {
s32 dataStart;
s32 pad4;
s32 pad8;
s16 pan;
s16 volume;
s16 currentLeft;
s16 currentRight;
s16 pad14;
s16 pad16;
u16 leftRateFrac;
s16 leftRate;
s16 targetLeft;
u16 rightRateFrac;
s16 rightRate;
s16 targetRight;
s16 needsEnvelopeUpdate;
s16 pad26;
s32 rampSamplesDone;
s32 rampSamplesTotal;
u8 pad30[0x58];
s32 targetVolume;
u8 pad8C[0x4];
u32 requestedRampSamples;
s16 targetPan;
} N_ALStreamState;

typedef struct {
u8 unk0;
u8 unk1;
Expand Down Expand Up @@ -292,6 +321,12 @@ typedef struct {
/* 0x8D */ u8 unk8D;
} N_ALCSPlayer;

typedef struct N_ALCSPExtraChanState {
u8 pad0[0x24];
s32 releaseTime;
u8 useCustomReleaseTime;
} N_ALCSPExtraChanState;


/*
* Sequence data representation routines
Expand All @@ -300,7 +335,7 @@ void n_alSeqNextEvent(ALSeq *seq, N_ALEvent *event);
void n_alSeqNewMarker(ALSeq *seq, ALSeqMarker *m, u32 ticks);

void n_alCSeqNew(ALCSeq *seq, u8 *ptr);
void n_alCSeqNextEvent(ALCSeq *seq, N_ALEvent *evt);
void n_alCSeqNextEvent(ALCSeq *seq, N_ALEvent *evt, s32 arg2);
void n_alCSeqNewMarker(ALCSeq *seq, ALCSeqMarker *m, u32 ticks);


Expand Down Expand Up @@ -377,7 +412,59 @@ typedef struct {
/* 0x50 */ ALMicroTime curTime;
} N_ALSndPlayer;

void n_alSndpNew(N_ALSndPlayer *sndp, ALSndpConfig *c);
typedef struct N_ALSndpSoundState {
/* 0x00 */ ALLink node;
/* 0x08 */ u8 pad8[0x4];
/* 0x0C */ ALSound *sound;
/* 0x10 */ u8 voice[0x20]; /* Embedded N_ALVoice storage; Conker's local header is truncated to 0x20 bytes. */
/* 0x30 */ f32 basePitch;
/* 0x34 */ f32 pitch;
/* 0x38 */ struct N_ALSndpSoundState **handle;
/* 0x3C */ ALBank *bank;
/* 0x40 */ s32 retryCount;
/* 0x44 */ u16 vol;
/* 0x46 */ u8 pad46[0x6];
/* 0x4C */ s16 soundNum;
/* 0x4E */ s8 priority;
/* 0x4F */ u8 pan;
/* 0x50 */ u8 fxmix;
/* 0x51 */ u8 fxbus;
/* 0x52 */ u8 pad52;
/* 0x53 */ u8 flags;
/* 0x54 */ u8 state;
} N_ALSndpSoundState;

typedef struct {
/* 0x00 */ ALPlayer node;
/* 0x14 */ ALEventQueue evtq;
/* 0x28 */ N_ALEvent nextEvent;
/* 0x38 */ N_ALSynth *drvr;
/* 0x3C */ s32 target;
/* 0x40 */ N_ALSndpSoundState *sndState;
/* 0x44 */ s32 maxSounds;
/* 0x48 */ ALMicroTime frameTime;
/* 0x4C */ ALMicroTime nextDelta;
/* 0x50 */ ALMicroTime curTime;
/* 0x54 */ s32 soundTableCount;
} N_ALSndPlayerExtended;

typedef struct {
s16 type;
u8 pad2[2];
N_ALSndpSoundState *state;
u8 pad8[8];
} N_ALSndpEventPayload;

typedef struct {
/* 0x00 */ s32 maxStates;
/* 0x04 */ s32 maxEvents;
/* 0x08 */ s32 maxSounds;
/* 0x0C */ ALHeap *heap;
/* 0x10 */ s32 soundTableCount;
/* 0x14 */ u16 maxVolumes;
} N_ALSndpConfig;

void n_alSndpNew(N_ALSndpConfig *c);
void n_alSndpDelete(void);
ALSndId n_alSndpAllocate(ALSound *sound);
void n_alSndpDeallocate(ALSndId id);
Expand Down
2 changes: 1 addition & 1 deletion conker/include/2.0L/PR/n_libaudio_s_to_n.h
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@
#define ALSndpEvent N_ALSndpEvent
#define ALSndPlayer N_ALSndPlayer

#define alSndpNew( a, b) n_alSndpNew( a, b)
#define alSndpNew( a, b) n_alSndpNew( b)
#define alSndpDelete( a) n_alSndpDelete()
#define alSndpAllocate( a, b) n_alSndpAllocate( b)
#define alSndpDeallocate( a, b) n_alSndpDeallocate( b)
Expand Down
95 changes: 52 additions & 43 deletions conker/include/functions.h
Original file line number Diff line number Diff line change
Expand Up @@ -108,29 +108,36 @@ void func_1001263C(s32 arg0, s32 arg1, s32 arg2);
void func_100126E8(s32 arg0, s32 arg1);
s32 func_10012718(u16 arg0, struct127 *arg1, s32 arg2, s16 arg3, u16 arg4);
s32 func_100127D0(void);
void func_10012A28(struct121 *arg0, s32 arg1, s32 arg2, s32 arg3);
void func_10012B84(struct11 *arg0, s32 arg1);
void func_10012BD0(struct11 *arg0, s32 arg1);
s32 n_alStreamGetState(void);
void n_alStreamStart(s32 dataStart, s32 dataLength);
void n_alStreamSetPan(s32 pan, s32 immediate);
void n_alStreamSetLoadInfo(s32 commandCount, s32 sampleRate);
void n_alStreamSetDoneCallback(void (*callback)(s32));
void n_alStreamSetVolumeRamp(s32 volume, s32 rampSamples);
void n_alStreamForceStop(void);
void n_alStreamResume(void);
void n_alStreamStop(void);
void n_alBnkfPatchBank(struct121 *bank, s32 bankFileOffset, s32 sampleTableOffset, s32 sampleBankBase);
void n_alBnkfPatchSingleWaveBaseList(struct11 *waveList, s32 sampleBankBase);
void n_alBnkfPatchWaveBaseList(struct11 *waveList, s32 sampleBankBase);
void func_10012C5C(struct9 *arg0, s32 arg1, s32 arg2);
void func_10012CFC(struct12 *arg0, s32 arg1, s32 arg2);
f32 func_10012D80(u8 arg0);
s32 func_10012E04(s32 *arg0, f32 *arg1, u8 arg2, u8 arg3, u8 arg4, u8 arg5);
s32 func_10012F94(struct124 *arg0, f32 *arg1);
void func_100131D8(s32 *arg0);
void func_100131FC(struct13 *arg0, s32 arg1);
void func_10015550(struct26 *arg0, s32 arg1);
s32 func_10015878(struct04 *arg0);
void func_10016E90(struct31 *arg0);
void func_10016F00(struct154 *arg0);
struct31 *func_10017100(s32 arg0, s16 arg1);
void func_10017298(struct31 *arg0);
s32 func_100173C4(struct31 **arg0);
void func_10017594(struct31 *arg0);
void func_100176C4(void);
void func_100176EC(void);
void func_10017714(s32 arg0, s16 arg1, s32 arg2);
void func_10017870(u8 arg0);
void func_10017944(s32 arg0, u32 arg1);
f32 n_alOscDepthToCents(u8 depth);
s32 n_alOscInit(s32 *oscState, f32 *initValue, u8 oscType, u8 oscRate, u8 oscDepth, u8 oscDelay);
s32 n_alOscUpdate(struct124 *oscState, f32 *updateValue);
void n_alOscStop(s32 *oscState);
void n_alOscSetCallbacks(struct13 *arg0, s32 arg1);
s32 _n_sndpVoiceHandler(struct04 *arg0);
struct31 *sndp_alloc_state(s32 arg0, s16 arg1);
void sndp_free_state2(struct31 *arg0);
s32 sndp_get_state(struct31 **arg0);
void sndp_post_stopall_event(struct31 *arg0);
void sndp_stop_all(void);
void sndp_stop_nodecays(void);
void sndp_post_event(struct31 *arg0, s16 arg1, s32 arg2);
void n_alSndpSetChannelValue(u8 channel, u16 value);
void n_alSndpSetOutputMode(u8 outputMode);
void n_alSndpSetOutputRoute(s32 slot, u32 route);
s32 func_10017A80(struct26 *arg0);
void func_10017AA0(struct26 *arg0);
void func_10017AF0(struct26 *arg0, s32 arg1);
Expand All @@ -148,28 +155,32 @@ void n_alClose(s32 arg0);
s32 _n_timeToSamplesNoRound(s32 micros);
s32 _n_timeToSamples(s32 micros);
f32 alCents2Ratio(s32 arg0);
void func_10019B50(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void func_10019C28(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void func_10019CD0(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void func_10019D6C(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void func_10019ED8(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void func_10019F38(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void func_10019F98(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void func_1001A224(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void func_1001A2F8(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void func_1001A39C(struct26 *arg0, s32 arg1, s32 arg2, u32 arg3);
void func_1001A3E0(struct24 *arg0, s32 arg1, s32 arg2, s32 arg3);
void func_1001A3FC(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void func_1001A9DC(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void func_1001AA08(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void n_alCSPHandleChlVolCtrl(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void n_alCSPHandleChlPanCtrl(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void n_alCSPHandleChlPriorityCtrl(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void n_alCSPPostOsMesg(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void n_alCSPSetChlFxId(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void n_alCSPSetChlFilter12(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void n_alCSPSetChlFilter13Pitch(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void n_alCSPSetChlFilter11(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void n_alCSPSetChlSustain(struct26 *arg0, s32 arg1, s32 arg2, u32 arg3);
void n_alCSPSetChlFXMix80(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void n_alCSPSetChlFXMix7F(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void n_alCSPSetChlFXBus(struct26 *arg0, s32 arg1, s32 arg2, u32 arg3);
void n_alCSPSetStreamFileGroup(struct24 *arg0, s32 arg1, s32 arg2, s32 arg3);
void n_alCSPPlayStreamFile(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void n_alCSPStartChlFade(struct26 *arg0, struct25 *arg1, s32 arg2, s32 arg3);
void n_alCSPStepChlFade(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void n_alCSPSetChlFadeSpeed(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
void n_alCSPSetChlFadeEnd(struct26 *arg0, s32 arg1, s32 arg2, s32 arg3);
s32 __n_vsDelta(struct07 *arg0, s32 arg1);
void func_1001B620(struct26 *arg0, s32 arg1);
void func_1001CBF0(f32 arg0, f32 arg1, f32 arg2, struct17 *arg3, struct17 *arg4);
void func_1001CD54(struct125 *arg0);
f32 func_1001CEA4(s32 arg0);
void func_1001D6E8(struct42 *arg0, s32 (*arg1)(s32 arg), struct15 *arg2);
s32 func_1001D9B0(s16 arg0);
s32 func_1001DA28(s16 arg0);
ALFxRef n_alSynGetOutputLPRef(s16 bus);
void func_1001DAA0(s32 arg0, s16 arg1, s32 arg2);
void func_1001DAE4(struct139 *arg0, s16 arg1, s32 *arg2);
// void func_1001E170(struct22 *arg0, s32 *w, f32 pitch, s16 vol, u8 pan, u8 fxmix, u8 arg6, f32 arg7, u8 arg8, s32 arg9);
Expand Down Expand Up @@ -989,12 +1000,9 @@ void func_100114D0(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s
//func_10012020
//func_1001263C
//func_100126E8
// void func_10017870(u8 arg0);
void func_100186DC(void *arg0, void *arg1);
void func_10018790(void *arg0, s32 arg1, u32 arg2, u32 arg3);
// void func_10019D98(struct26 *arg0, u8 arg1);
// void func_1001A030(struct26 *arg0, s32 arg1, s32 arg2, u32 arg3);
// void func_1001A508(struct26 *arg0, struct25 *arg1, s32 arg2, s32 arg3);
// void n_alSndpSetOutputMode(u8 outputMode);
void n_alCSeqNewLoopStartMarkers(ALCSeq *seq, ALCSeqMarker *m, u32 markerCount, u32 firstLoopIndex);
// void n_alCSPApplyChlFilterPitch(struct26 *arg0, u8 arg1);
//func_1001AAE0
//func_1001ADA4
//func_1001AFEC
Expand Down Expand Up @@ -1124,7 +1132,8 @@ void func_151D9B8C(u8 arg0, f32 arg1, u8 arg2, s32 arg3, struct17 *arg4, s16 arg
void func_151DA08C(u8 arg0, f32 arg1, f32 arg2, u8 arg3, s16 arg4, s32 arg5, void *arg6, s32 arg7, s32 arg8);
void func_151DBCBC(u8 arg0, f32 arg1, s16 arg2, s32 arg3, void *arg4, u8 arg5, s32 arg6);
void func_151EF954(f32 arg0[4][4], f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7);
void func_151F3C4C(void);
void n_alStreamSetReadCallback(s32 (*readCallback)(void *state, void *dst, s32 len, s32 offset));
s32 n_alStreamRead(void *state, void *dst, s32 len, s32 offset);
void func_151FA130(void);
void func_1019EA88(void);
#endif
6 changes: 6 additions & 0 deletions conker/include/macro.inc
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,13 @@
\label:
.endm

.macro enddlabel label
.endm

.macro jlabel label
.global \label
\label:
.endm

.macro nonmatching label, size
.endm
2 changes: 1 addition & 1 deletion conker/include/structs.h
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ typedef struct {
s32 unk2C;
s32 unk30;
s16 unk34;
s8 unk36;
u8 streamFileGroup;
} struct24;

struct struct27 {
Expand Down
4 changes: 3 additions & 1 deletion conker/include/variables.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
#include "structs.h"
#include "sched.h"

struct N_ALStreamState;

/* defined */

// 0x0002C200
Expand Down Expand Up @@ -1367,7 +1369,7 @@ extern s32 D_800E0964;
extern s16 D_800E0968[];
extern s32 D_800E0990[];
extern u8 D_800E0A10;
extern struct186 D_800E0D80; // libaudio struct?
extern struct N_ALStreamState D_800E0D80;

// end of zero'd out section

Expand Down
Loading
Loading