collect_rings: split sound data into standard layout

This commit is contained in:
Oliver Bell committed 2025-06-16 23:10:39 +01:00
1 parent 05dff171e3
commit d695629fc4
8 files changed
+174 -156

No files matched your search

+15 -2
View File
@@ -81,10 +81,16 @@ ASM_BUILDDIR = $(OBJ_DIR)/$(ASM_SUBDIR)
DATA_ASM_SUBDIR = data
DATA_ASM_BUILDDIR = $(OBJ_DIR)/$(DATA_ASM_SUBDIR)
SONG_SUBDIR = sound/songs
SONG_BUILDDIR = $(OBJ_DIR)/$(SONG_SUBDIR)
SOUND_ASM_SUBDIR = sound
SOUND_ASM_BUILDDIR = $(OBJ_DIR)/$(SOUND_ASM_SUBDIR)
C_SUBDIR = src
C_BUILDDIR = $(OBJ_DIR)/$(C_SUBDIR)
$(shell mkdir -p $(C_BUILDDIR) $(ASM_BUILDDIR) $(DATA_ASM_BUILDDIR))
$(shell mkdir -p $(C_BUILDDIR) $(ASM_BUILDDIR) $(SOUND_ASM_BUILDDIR) $(SONG_BUILDDIR) $(DATA_ASM_BUILDDIR))
ifneq (,$(filter-out all rom compare libagbsyscall,$(MAKECMDGOALS)))
NODEP ?= 1
@@ -158,7 +164,10 @@ ASM_OBJS := $(patsubst $(ASM_SUBDIR)/%.s,$(ASM_BUILDDIR)/%.o,$(ASM_SRCS))
DATA_ASM_SRCS := $(wildcard $(DATA_ASM_SUBDIR)/*.s)
DATA_ASM_OBJS := $(patsubst $(DATA_ASM_SUBDIR)/%.s,$(DATA_ASM_BUILDDIR)/%.o,$(DATA_ASM_SRCS))
OBJS := $(ASM_OBJS) $(DATA_ASM_OBJS) $(C_ASM_OBJS) $(C_OBJS) $(SA2_C_OBJS) $(SA2_C_ASM_OBJS)
SONG_SRCS := $(wildcard $(SONG_SUBDIR)/*.s)
SONG_OBJS := $(patsubst $(SONG_SUBDIR)/%.s,$(SONG_BUILDDIR)/%.o,$(SONG_SRCS))
OBJS := $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(C_ASM_OBJS) $(C_OBJS) $(SA2_C_OBJS) $(SA2_C_ASM_OBJS)
OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS))
@@ -302,5 +311,9 @@ ifneq ($(NODEP),1)
-include $(addprefix $(OBJ_DIR)/,$(DATA_ASM_SRCS:.s=.d))
endif
$(SONG_BUILDDIR)/%.o: $(SONG_SUBDIR)/%.s
@echo "$(AS) <flags> -o $@ $<"
@$(PREPROC) $< "" | $(CPP) $(CPPFLAGS) - | $(AS) $(ASFLAGS) -o $@ -
libagbsyscall:
@$(MAKE) -C ../../../libagbsyscall MODERN=0 PLATFORM=gba CPU_ARCH=arm
+6 -154
View File
@@ -3,158 +3,10 @@
.include "../../../asm/macros/m4a.inc"
.include "../../../asm/macros/music_voice.inc"
.section .rodata
mSectionRodata
.include "sound/voicegroups/voicegroup000.inc"
.include "sound/voicegroups/voicegroup001.inc"
.include "sound/voicegroups/voicegroup002.inc"
.align 2
.global ProgrammableWaveData_2016CCC
ProgrammableWaveData_2016CCC:
.incbin "sound/programmable_wave_samples/02016CCC.pcm"
.align 2
.global ProgrammableWaveData_2016CDC
ProgrammableWaveData_2016CDC:
.incbin "sound/programmable_wave_samples/02016CDC.pcm"
.align 2
.global ProgrammableWaveData_2016CEC
ProgrammableWaveData_2016CEC:
.incbin "sound/programmable_wave_samples/02016CEC.pcm"
.align 2
.global ProgrammableWaveData_2016CFC
ProgrammableWaveData_2016CFC:
.incbin "sound/programmable_wave_samples/02016CFC.pcm"
.align 2
.global ProgrammableWaveData_2016D0C
ProgrammableWaveData_2016D0C:
.incbin "sound/programmable_wave_samples/02016D0C.pcm"
.align 2
.global ProgrammableWaveData_2016D1C
ProgrammableWaveData_2016D1C:
.incbin "sound/programmable_wave_samples/02016D1C.pcm"
.align 2
.global ProgrammableWaveData_2016D2C
ProgrammableWaveData_2016D2C:
.incbin "sound/programmable_wave_samples/02016D2C.pcm"
.align 2
.global ProgrammableWaveData_2016D3C
ProgrammableWaveData_2016D3C:
.incbin "sound/programmable_wave_samples/02016D3C.pcm"
.align 2
.global ProgrammableWaveData_2016D4C
ProgrammableWaveData_2016D4C:
.incbin "sound/programmable_wave_samples/02016D4C.pcm"
.align 2
.global gMPlayTable
gMPlayTable: @ 0x02016D5C
music_player gMPlayInfo_BGM, gMPlayTrack_BGM, 16, 0
music_player gMPlayInfo_SE1, gMPlayTrack_SE1, 16, 0
music_player gMPlayInfo_SE2, gMPlayTrack_SE2, 16, 0
music_player gMPlayInfo_SE3, gMPlayTrack_SE3, 16, 0
.align 2
.global gSongTable
gSongTable: @ 0x02016D8C
song song000, 0, 0
song song001, 0, 0
song song002, 0, 0
song song003, 0, 0
song song004, 1, 1
song song005, 0, 0
song song000, 0, 0
song song000, 0, 0
song song000, 0, 0
song song000, 0, 0
song song010, 2, 2
song song011, 2, 2
song song012, 2, 2
song song013, 2, 2
song song014, 2, 2
song se_ring_copy, 3, 3
song song016, 3, 3
song song017, 2, 2
song song018, 2, 2
song song019, 2, 2
song song020, 2, 2
song song021, 2, 2
song song022, 2, 2
song song023, 2, 2
song song024, 2, 2
song song025, 2, 2
song song026, 2, 2
.align 2
.global song000
song000: @ 0x02016E64
.byte 0 @ trackCount
.byte 0 @ blockCount
.byte 0 @ priority
.byte 0 @ reverb
.align 2
.global gUnknown_02016E68
gUnknown_02016E68:
.incbin "sound/direct_sound_samples/02016E68.bin"
.align 2
.global gUnknown_02017368
gUnknown_02017368:
.incbin "sound/direct_sound_samples/02017368.bin"
.align 2
.global gUnknown_020178A0
gUnknown_020178A0:
.incbin "sound/direct_sound_samples/020178A0.bin"
.align 2
.global gUnknown_02017D58
gUnknown_02017D58:
.incbin "sound/direct_sound_samples/02017D58.bin"
.align 2
.global gUnknown_02018260
gUnknown_02018260:
.incbin "sound/direct_sound_samples/02018260.bin"
.align 2
.global gUnknown_020186F4
gUnknown_020186F4:
.incbin "sound/direct_sound_samples/020186F4.bin"
.align 2
.global gUnknown_020197C8
gUnknown_020197C8:
.incbin "sound/direct_sound_samples/020197C8.bin"
.include "sound/songs/song001.s"
.include "sound/songs/song002.s"
.include "sound/songs/song003.s"
.include "sound/songs/song004.s"
.include "sound/songs/song005.s"
.include "sound/songs/song010.s"
.include "sound/songs/song011.s"
.include "sound/songs/song012.s"
.include "sound/songs/song013.s"
.include "sound/songs/song014.s"
.include "sound/songs/se_ring_copy.s"
.include "sound/songs/song016.s"
.include "sound/songs/song017.s"
.include "sound/songs/song018.s"
.include "sound/songs/song019.s"
.include "sound/songs/song020.s"
.include "sound/songs/song021.s"
.include "sound/songs/song022.s"
.include "sound/songs/song023.s"
.include "sound/songs/song024.s"
.include "sound/songs/song025.s"
.include "sound/songs/song026.s"
.include "sound/voice_groups.inc"
.include "sound/programmable_wave_data.inc"
.include "sound/music_player_table.inc"
.include "sound/song_table.inc"
.include "sound/direct_sound_data.inc"
@@ -106,6 +106,30 @@ SECTIONS {
build/collect_rings/src/sa2/game/stage/player.o(.rodata);
build/collect_rings/src/sa2/lib/m4a/m4a_tables.o(.rodata);
build/collect_rings/data/sound_data.o(.rodata);
/* Songs */
build/collect_rings/sound/songs/song001.o(.rodata);
build/collect_rings/sound/songs/song002.o(.rodata);
build/collect_rings/sound/songs/song003.o(.rodata);
build/collect_rings/sound/songs/song004.o(.rodata);
build/collect_rings/sound/songs/song005.o(.rodata);
build/collect_rings/sound/songs/song010.o(.rodata);
build/collect_rings/sound/songs/song011.o(.rodata);
build/collect_rings/sound/songs/song012.o(.rodata);
build/collect_rings/sound/songs/song013.o(.rodata);
build/collect_rings/sound/songs/song014.o(.rodata);
build/collect_rings/sound/songs/se_ring_copy.o(.rodata);
build/collect_rings/sound/songs/song016.o(.rodata);
build/collect_rings/sound/songs/song017.o(.rodata);
build/collect_rings/sound/songs/song018.o(.rodata);
build/collect_rings/sound/songs/song019.o(.rodata);
build/collect_rings/sound/songs/song020.o(.rodata);
build/collect_rings/sound/songs/song021.o(.rodata);
build/collect_rings/sound/songs/song022.o(.rodata);
build/collect_rings/sound/songs/song023.o(.rodata);
build/collect_rings/sound/songs/song024.o(.rodata);
build/collect_rings/sound/songs/song025.o(.rodata);
build/collect_rings/sound/songs/song026.o(.rodata);
}
. = 0x0201cd30;
@@ -0,0 +1,35 @@
.align 2
.global gUnknown_02016E68
gUnknown_02016E68:
.incbin "sound/direct_sound_samples/02016E68.bin"
.align 2
.global gUnknown_02017368
gUnknown_02017368:
.incbin "sound/direct_sound_samples/02017368.bin"
.align 2
.global gUnknown_020178A0
gUnknown_020178A0:
.incbin "sound/direct_sound_samples/020178A0.bin"
.align 2
.global gUnknown_02017D58
gUnknown_02017D58:
.incbin "sound/direct_sound_samples/02017D58.bin"
.align 2
.global gUnknown_02018260
gUnknown_02018260:
.incbin "sound/direct_sound_samples/02018260.bin"
.align 2
.global gUnknown_020186F4
gUnknown_020186F4:
.incbin "sound/direct_sound_samples/020186F4.bin"
.align 2
.global gUnknown_020197C8
gUnknown_020197C8:
.incbin "sound/direct_sound_samples/020197C8.bin"
@@ -0,0 +1,8 @@
.align 2
.global gMPlayTable
gMPlayTable: @ 0x02016D5C
music_player gMPlayInfo_BGM, gMPlayTrack_BGM, 16, 0
music_player gMPlayInfo_SE1, gMPlayTrack_SE1, 16, 0
music_player gMPlayInfo_SE2, gMPlayTrack_SE2, 16, 0
music_player gMPlayInfo_SE3, gMPlayTrack_SE3, 16, 0
@@ -0,0 +1,44 @@
.align 2
.global ProgrammableWaveData_2016CCC
ProgrammableWaveData_2016CCC:
.incbin "sound/programmable_wave_samples/02016CCC.pcm"
.align 2
.global ProgrammableWaveData_2016CDC
ProgrammableWaveData_2016CDC:
.incbin "sound/programmable_wave_samples/02016CDC.pcm"
.align 2
.global ProgrammableWaveData_2016CEC
ProgrammableWaveData_2016CEC:
.incbin "sound/programmable_wave_samples/02016CEC.pcm"
.align 2
.global ProgrammableWaveData_2016CFC
ProgrammableWaveData_2016CFC:
.incbin "sound/programmable_wave_samples/02016CFC.pcm"
.align 2
.global ProgrammableWaveData_2016D0C
ProgrammableWaveData_2016D0C:
.incbin "sound/programmable_wave_samples/02016D0C.pcm"
.align 2
.global ProgrammableWaveData_2016D1C
ProgrammableWaveData_2016D1C:
.incbin "sound/programmable_wave_samples/02016D1C.pcm"
.align 2
.global ProgrammableWaveData_2016D2C
ProgrammableWaveData_2016D2C:
.incbin "sound/programmable_wave_samples/02016D2C.pcm"
.align 2
.global ProgrammableWaveData_2016D3C
ProgrammableWaveData_2016D3C:
.incbin "sound/programmable_wave_samples/02016D3C.pcm"
.align 2
.global ProgrammableWaveData_2016D4C
ProgrammableWaveData_2016D4C:
.incbin "sound/programmable_wave_samples/02016D4C.pcm"
@@ -0,0 +1,39 @@
.align 2
.global gSongTable
gSongTable: @ 0x02016D8C
song song000, 0, 0
song song001, 0, 0
song song002, 0, 0
song song003, 0, 0
song song004, 1, 1
song song005, 0, 0
song song000, 0, 0
song song000, 0, 0
song song000, 0, 0
song song000, 0, 0
song song010, 2, 2
song song011, 2, 2
song song012, 2, 2
song song013, 2, 2
song song014, 2, 2
song se_ring_copy, 3, 3
song song016, 3, 3
song song017, 2, 2
song song018, 2, 2
song song019, 2, 2
song song020, 2, 2
song song021, 2, 2
song song022, 2, 2
song song023, 2, 2
song song024, 2, 2
song song025, 2, 2
song song026, 2, 2
.align 2
.global song000
song000: @ 0x02016E64
.byte 0 @ trackCount
.byte 0 @ blockCount
.byte 0 @ priority
.byte 0 @ reverb
@@ -0,0 +1,3 @@
.include "sound/voicegroups/voicegroup000.inc"
.include "sound/voicegroups/voicegroup001.inc"
.include "sound/voicegroups/voicegroup002.inc"