mirror of
https://github.com/HackerN64/HackerOoT.git
synced 2026-01-21 10:37:37 -08:00
[Audio 8/?] Check-in handwritten sequences, build sequences, automate various sfx arrays (#2137)
* [Audio 8/?] Check-in handwritten sequences, build sequences, automate various sfx arrays * Fix whitespace in aseq.h * Fix sequence 0 sfx id generator * Suggested changes, adjust some MML syntax and add more instruction descriptions * Correct some formatting in aseq.h * Add the dir of the input .seq file to the list of includes to sequence assembling so that assembler-level includes like .include or .incbin work intuitively * aseq.h tweaks * MM review suggestions, aseq.h adjustments
This commit is contained in:
4
.gitattributes
vendored
4
.gitattributes
vendored
@@ -1,2 +1,6 @@
|
||||
# Auto detect text files and perform LF normalization
|
||||
* text=auto
|
||||
# Set browser syntax highlighting for certain files
|
||||
*.inc linguist-language=gas
|
||||
*.seq linguist-language=gas
|
||||
include/audio/aseq.h linguist-language=gas
|
||||
|
||||
67
Makefile
67
Makefile
@@ -210,6 +210,9 @@ SBC := tools/audio/sbc
|
||||
SFC := tools/audio/sfc
|
||||
SFPATCH := tools/audio/sfpatch
|
||||
ATBLGEN := tools/audio/atblgen
|
||||
# We want linemarkers in sequence assembly files for better assembler error messages
|
||||
SEQ_CPP := $(CPP) -x assembler-with-cpp -fno-dollars-in-identifiers
|
||||
SEQ_CPPFLAGS := -D_LANGUAGE_ASEQ -DMML_VERSION=MML_VERSION_OOT -I include -I include/audio -I include/tables/sfx -I $(BUILD_DIR)/assets/audio/soundfonts
|
||||
|
||||
SBCFLAGS := --matching
|
||||
SFCFLAGS := --matching
|
||||
@@ -282,10 +285,12 @@ ifneq ($(wildcard $(EXTRACTED_DIR)/assets/audio),)
|
||||
SAMPLE_EXTRACT_DIRS := $(shell find $(EXTRACTED_DIR)/assets/audio/samples -type d)
|
||||
SAMPLEBANK_EXTRACT_DIRS := $(shell find $(EXTRACTED_DIR)/assets/audio/samplebanks -type d)
|
||||
SOUNDFONT_EXTRACT_DIRS := $(shell find $(EXTRACTED_DIR)/assets/audio/soundfonts -type d)
|
||||
SEQUENCE_EXTRACT_DIRS := $(shell find $(EXTRACTED_DIR)/assets/audio/sequences -type d)
|
||||
else
|
||||
SAMPLE_EXTRACT_DIRS :=
|
||||
SAMPLEBANK_EXTRACT_DIRS :=
|
||||
SOUNDFONT_EXTRACT_DIRS :=
|
||||
SEQUENCE_EXTRACT_DIRS :=
|
||||
endif
|
||||
|
||||
ifneq ($(wildcard assets/audio/samples),)
|
||||
@@ -306,6 +311,12 @@ else
|
||||
SOUNDFONT_DIRS :=
|
||||
endif
|
||||
|
||||
ifneq ($(wildcard assets/audio/sequences),)
|
||||
SEQUENCE_DIRS := $(shell find assets/audio/sequences -type d)
|
||||
else
|
||||
SEQUENCE_DIRS :=
|
||||
endif
|
||||
|
||||
SAMPLE_FILES := $(foreach dir,$(SAMPLE_DIRS),$(wildcard $(dir)/*.wav))
|
||||
SAMPLE_EXTRACT_FILES := $(foreach dir,$(SAMPLE_EXTRACT_DIRS),$(wildcard $(dir)/*.wav))
|
||||
AIFC_FILES := $(foreach f,$(SAMPLE_FILES),$(BUILD_DIR)/$(f:.wav=.aifc)) $(foreach f,$(SAMPLE_EXTRACT_FILES:.wav=.aifc),$(f:$(EXTRACTED_DIR)/%=$(BUILD_DIR)/%))
|
||||
@@ -323,6 +334,13 @@ SOUNDFONT_O_FILES := $(foreach f,$(SOUNDFONT_BUILD_XMLS),$(f:.xml=.o))
|
||||
SOUNDFONT_HEADERS := $(foreach f,$(SOUNDFONT_BUILD_XMLS),$(f:.xml=.h))
|
||||
SOUNDFONT_DEP_FILES := $(foreach f,$(SOUNDFONT_O_FILES),$(f:.o=.d))
|
||||
|
||||
SEQUENCE_FILES := $(foreach dir,$(SEQUENCE_DIRS),$(wildcard $(dir)/*.seq))
|
||||
SEQUENCE_EXTRACT_FILES := $(foreach dir,$(SEQUENCE_EXTRACT_DIRS),$(wildcard $(dir)/*.seq))
|
||||
SEQUENCE_O_FILES := $(foreach f,$(SEQUENCE_FILES),$(BUILD_DIR)/$(f:.seq=.o)) $(foreach f,$(SEQUENCE_EXTRACT_FILES:.seq=.o),$(f:$(EXTRACTED_DIR)/%=$(BUILD_DIR)/%))
|
||||
SEQUENCE_DEP_FILES := $(foreach f,$(SEQUENCE_O_FILES),$(f:.o=.d))
|
||||
|
||||
SEQUENCE_TABLE := include/tables/sequence_table.h
|
||||
|
||||
# create extracted directory
|
||||
$(shell mkdir -p $(EXTRACTED_DIR))
|
||||
|
||||
@@ -331,7 +349,7 @@ ifneq ($(wildcard $(EXTRACTED_DIR)/assets),)
|
||||
else
|
||||
ASSET_BIN_DIRS_EXTRACTED :=
|
||||
endif
|
||||
ASSET_BIN_DIRS_COMMITTED := $(shell find assets -type d -not -path "assets/xml*" -not -path assets/text)
|
||||
ASSET_BIN_DIRS_COMMITTED := $(shell find assets -type d -not -path "assets/xml*" -not -path "assets/audio*" -not -path assets/text)
|
||||
ASSET_BIN_DIRS := $(ASSET_BIN_DIRS_EXTRACTED) $(ASSET_BIN_DIRS_COMMITTED)
|
||||
|
||||
ASSET_FILES_BIN_EXTRACTED := $(foreach dir,$(ASSET_BIN_DIRS_EXTRACTED),$(wildcard $(dir)/*.bin))
|
||||
@@ -381,6 +399,7 @@ $(shell mkdir -p $(foreach dir, \
|
||||
$(SAMPLE_DIRS) \
|
||||
$(SAMPLEBANK_DIRS) \
|
||||
$(SOUNDFONT_DIRS) \
|
||||
$(SEQUENCE_DIRS) \
|
||||
$(ASSET_BIN_DIRS_COMMITTED), \
|
||||
$(BUILD_DIR)/$(dir)))
|
||||
ifneq ($(wildcard $(EXTRACTED_DIR)/assets),)
|
||||
@@ -388,6 +407,7 @@ $(shell mkdir -p $(foreach dir, \
|
||||
$(SAMPLE_EXTRACT_DIRS) \
|
||||
$(SAMPLEBANK_EXTRACT_DIRS) \
|
||||
$(SOUNDFONT_EXTRACT_DIRS) \
|
||||
$(SEQUENCE_EXTRACT_DIRS) \
|
||||
$(ASSET_BIN_DIRS_EXTRACTED), \
|
||||
$(dir:$(EXTRACTED_DIR)/%=$(BUILD_DIR)/%)))
|
||||
endif
|
||||
@@ -594,8 +614,8 @@ $(ROMC): $(ROM) $(ELF) $(BUILD_DIR)/compress_ranges.txt
|
||||
$(PYTHON) -m ipl3checksum sum --cic 6105 --update $@
|
||||
|
||||
$(ELF): $(TEXTURE_FILES_OUT) $(ASSET_FILES_OUT) $(O_FILES) $(OVL_RELOC_FILES) $(LDSCRIPT) $(BUILD_DIR)/undefined_syms.txt \
|
||||
$(SAMPLEBANK_O_FILES) $(SOUNDFONT_O_FILES) \
|
||||
$(BUILD_DIR)/assets/audio/audiobank_padding.o
|
||||
$(SAMPLEBANK_O_FILES) $(SOUNDFONT_O_FILES) $(SEQUENCE_O_FILES) \
|
||||
$(BUILD_DIR)/assets/audio/sequence_font_table.o $(BUILD_DIR)/assets/audio/audiobank_padding.o
|
||||
$(LD) -T $(LDSCRIPT) -T $(BUILD_DIR)/undefined_syms.txt --no-check-sections --accept-unknown-input-arch --emit-relocs -Map $(MAP) -o $@
|
||||
|
||||
## Order-only prerequisites
|
||||
@@ -681,6 +701,8 @@ $(BUILD_DIR)/src/code/z_actor_dlftbls.o: include/tables/actor_table.h
|
||||
$(BUILD_DIR)/src/code/z_effect_soft_sprite_dlftbls.o: include/tables/effect_ss_table.h
|
||||
$(BUILD_DIR)/src/code/z_game_dlftbls.o: include/tables/gamestate_table.h
|
||||
$(BUILD_DIR)/src/code/z_scene_table.o: include/tables/scene_table.h include/tables/entrance_table.h
|
||||
$(BUILD_DIR)/src/audio/general.o: $(SEQUENCE_TABLE) include/tables/sfx/*.h
|
||||
$(BUILD_DIR)/src/audio/sfx_params.o: include/tables/sfx/*.h
|
||||
|
||||
$(BUILD_DIR)/src/%.o: src/%.c
|
||||
ifneq ($(RUN_CC_CHECK),0)
|
||||
@@ -814,6 +836,22 @@ ifeq ($(AUDIO_BUILD_DEBUG),1)
|
||||
@(cmp $(@:.o=.bin) $(patsubst $(BUILD_DIR)/assets/audio/soundfonts/%,$(EXTRACTED_DIR)/baserom_audiotest/audiobank_files/%,$(@:.o=.bin)) && echo "$(<F) OK" || (mkdir -p NONMATCHINGS/soundfonts && cp $(@:.o=.bin) NONMATCHINGS/soundfonts/$(@F:.o=.bin)))
|
||||
endif
|
||||
|
||||
# then assemble the sequences...
|
||||
|
||||
$(BUILD_DIR)/assets/audio/sequences/%.o: assets/audio/sequences/%.seq include/audio/aseq.h $(SEQUENCE_TABLE) | $(SOUNDFONT_HEADERS)
|
||||
$(SEQ_CPP) $(SEQ_CPPFLAGS) $< -o $(@:.o=.s) -MMD -MT $@
|
||||
$(AS) $(ASFLAGS) -I $(BUILD_DIR)/assets/audio/soundfonts -I include/audio -I $(dir $<) $(@:.o=.s) -o $@
|
||||
|
||||
$(BUILD_DIR)/assets/audio/sequences/%.o: $(EXTRACTED_DIR)/assets/audio/sequences/%.seq include/audio/aseq.h $(SEQUENCE_TABLE) | $(SOUNDFONT_HEADERS)
|
||||
$(SEQ_CPP) $(SEQ_CPPFLAGS) $< -o $(@:.o=.s) -MMD -MT $@
|
||||
$(AS) $(ASFLAGS) -I $(BUILD_DIR)/assets/audio/soundfonts -I include/audio -I $(dir $<) $(@:.o=.s) -o $@
|
||||
ifeq ($(AUDIO_BUILD_DEBUG),1)
|
||||
$(OBJCOPY) -O binary -j.data $@ $(@:.o=.aseq)
|
||||
@(cmp $(@:.o=.aseq) $(patsubst $(BUILD_DIR)/assets/audio/sequences/%,$(EXTRACTED_DIR)/baserom_audiotest/audioseq_files/%,$(@:.o=.aseq)) && echo "$(<F) OK" || (mkdir -p NONMATCHINGS/sequences && cp $(@:.o=.aseq) NONMATCHINGS/sequences/$(@F:.o=.aseq)))
|
||||
endif
|
||||
|
||||
-include $(SEQUENCE_DEP_FILES)
|
||||
|
||||
# put together the tables
|
||||
|
||||
$(BUILD_DIR)/assets/audio/samplebank_table.h: $(SAMPLEBANK_BUILD_XMLS)
|
||||
@@ -822,9 +860,23 @@ $(BUILD_DIR)/assets/audio/samplebank_table.h: $(SAMPLEBANK_BUILD_XMLS)
|
||||
$(BUILD_DIR)/assets/audio/soundfont_table.h: $(SOUNDFONT_BUILD_XMLS) $(SAMPLEBANK_BUILD_XMLS)
|
||||
$(ATBLGEN) --fonts $@ $(SOUNDFONT_BUILD_XMLS)
|
||||
|
||||
SEQ_ORDER_DEFS := -DDEFINE_SEQUENCE_PTR\(name,seqId,_2,_3,_4\)=*\(name,seqId\) \
|
||||
-DDEFINE_SEQUENCE\(name,seqId,_2,_3,_4\)=\(name,seqId\)
|
||||
$(BUILD_DIR)/assets/audio/sequence_order.in: $(SEQUENCE_TABLE)
|
||||
$(CPP) $(CPPFLAGS) $< $(SEQ_ORDER_DEFS) -o $@
|
||||
|
||||
$(BUILD_DIR)/assets/audio/sequence_font_table.s: $(BUILD_DIR)/assets/audio/sequence_order.in $(SEQUENCE_O_FILES)
|
||||
$(ATBLGEN) --sequences $@ $^
|
||||
|
||||
# build the tables into objects, move data -> rodata
|
||||
|
||||
$(BUILD_DIR)/src/audio/tables/samplebank_table.o: src/audio/tables/samplebank_table.c $(BUILD_DIR)/assets/audio/samplebank_table.h
|
||||
$(BUILD_DIR)/src/audio/tables/soundfont_table.o: src/audio/tables/soundfont_table.c $(BUILD_DIR)/assets/audio/soundfont_table.h $(SOUNDFONT_HEADERS)
|
||||
$(BUILD_DIR)/src/audio/tables/sequence_table.o: src/audio/tables/sequence_table.c $(SEQUENCE_TABLE)
|
||||
|
||||
$(BUILD_DIR)/src/audio/tables/sequence_table.o: CFLAGS += -I include/tables
|
||||
|
||||
$(BUILD_DIR)/src/audio/tables/%.o: src/audio/tables/%.c
|
||||
ifneq ($(RUN_CC_CHECK),0)
|
||||
$(CC_CHECK) $<
|
||||
endif
|
||||
@@ -832,13 +884,8 @@ endif
|
||||
$(LD) -r -T linker_scripts/data_with_rodata.ld $(@:.o=.tmp) -o $@
|
||||
@$(RM) $(@:.o=.tmp)
|
||||
|
||||
$(BUILD_DIR)/src/audio/tables/soundfont_table.o: src/audio/tables/soundfont_table.c $(BUILD_DIR)/assets/audio/soundfont_table.h $(SOUNDFONT_HEADERS)
|
||||
ifneq ($(RUN_CC_CHECK),0)
|
||||
$(CC_CHECK) $<
|
||||
endif
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $(@:.o=.tmp) $<
|
||||
$(LD) -r -T linker_scripts/data_with_rodata.ld $(@:.o=.tmp) -o $@
|
||||
@$(RM) $(@:.o=.tmp)
|
||||
$(BUILD_DIR)/assets/audio/sequence_font_table.o: $(BUILD_DIR)/assets/audio/sequence_font_table.s
|
||||
$(AS) $(ASFLAGS) $< -o $@
|
||||
|
||||
# Extra audiobank padding that doesn't belong to any soundfont file
|
||||
$(BUILD_DIR)/assets/audio/audiobank_padding.o:
|
||||
|
||||
15302
assets/audio/sequences/seq_0.prg.seq
Normal file
15302
assets/audio/sequences/seq_0.prg.seq
Normal file
File diff suppressed because it is too large
Load Diff
1961
assets/audio/sequences/seq_1.prg.seq
Normal file
1961
assets/audio/sequences/seq_1.prg.seq
Normal file
File diff suppressed because it is too large
Load Diff
1137
assets/audio/sequences/seq_109.prg.seq
Normal file
1137
assets/audio/sequences/seq_109.prg.seq
Normal file
File diff suppressed because it is too large
Load Diff
208
assets/audio/sequences/seq_2.prg.seq
Normal file
208
assets/audio/sequences/seq_2.prg.seq
Normal file
@@ -0,0 +1,208 @@
|
||||
#include "aseq.h"
|
||||
#include "Soundfont_3.h"
|
||||
|
||||
.startseq Sequence_2
|
||||
|
||||
.sequence SEQ_0000
|
||||
/* 0x0000 [0xD3 0x20 ] */ mutebhv 0x20
|
||||
/* 0x0002 [0xD5 0x46 ] */ mutescale 70
|
||||
/* 0x0004 [0xD7 0xFF 0xFF ] */ initchan 0b1111111111111111
|
||||
/* 0x0007 [0xCC 0x00 ] */ ldi 0
|
||||
/* 0x0009 [0x73 ] */ stio IO_PORT_3
|
||||
/* 0x000A [0x76 ] */ stio IO_PORT_6
|
||||
/* 0x000B [0xCC 0xFF ] */ ldi 255
|
||||
/* 0x000D [0x75 ] */ stio IO_PORT_5
|
||||
/* 0x000E [0x80 ] */ ldio IO_PORT_0
|
||||
/* 0x000F [0xC8 0x01 ] */ sub 1
|
||||
/* 0x0011 [0xF3 0x07 ] */ rbeqz SEQ_001A
|
||||
/* 0x0013 [0xCC 0x03 ] */ ldi 3
|
||||
/* 0x0015 [0xFC 0x00 0xC4 ] */ call SEQ_00C4
|
||||
/* 0x0018 [0xF4 0x05 ] */ rjump SEQ_001F
|
||||
|
||||
SEQ_001A:
|
||||
/* 0x001A [0xCC 0x31 ] */ ldi 49
|
||||
/* 0x001C [0xFC 0x00 0xC4 ] */ call SEQ_00C4
|
||||
SEQ_001F:
|
||||
/* 0x001F [0xCC 0x00 ] */ ldi 0
|
||||
/* 0x0021 [0x74 ] */ stio IO_PORT_4
|
||||
/* 0x0022 [0x82 ] */ ldio IO_PORT_2
|
||||
/* 0x0023 [0xF2 0x0E ] */ rbltz SEQ_0033
|
||||
/* 0x0025 [0x53 ] */ subio IO_PORT_3
|
||||
/* 0x0026 [0xF3 0x0B ] */ rbeqz SEQ_0033
|
||||
/* 0x0028 [0x82 ] */ ldio IO_PORT_2
|
||||
/* 0x0029 [0x73 ] */ stio IO_PORT_3
|
||||
/* 0x002A [0xC8 0x01 ] */ sub 1
|
||||
/* 0x002C [0xF3 0x22 ] */ rbeqz SEQ_0050
|
||||
/* 0x002E [0x82 ] */ ldio IO_PORT_2
|
||||
/* 0x002F [0xC8 0x02 ] */ sub 2
|
||||
/* 0x0031 [0xF3 0x53 ] */ rbeqz SEQ_0086
|
||||
SEQ_0033:
|
||||
/* 0x0033 [0xCE 0x0B ] */ rand 11
|
||||
/* 0x0035 [0x55 ] */ subio IO_PORT_5
|
||||
/* 0x0036 [0xF3 0x04 ] */ rbeqz SEQ_003C
|
||||
/* 0x0038 [0xCE 0x0B ] */ rand 11
|
||||
/* 0x003A [0xF4 0x0C ] */ rjump SEQ_0048
|
||||
|
||||
SEQ_003C:
|
||||
/* 0x003C [0xCE 0x0B ] */ rand 11
|
||||
/* 0x003E [0xF3 0x04 ] */ rbeqz SEQ_0044
|
||||
/* 0x0040 [0xC8 0x01 ] */ sub 1
|
||||
/* 0x0042 [0xF4 0x04 ] */ rjump SEQ_0048
|
||||
|
||||
SEQ_0044:
|
||||
/* 0x0044 [0xCC 0x0B ] */ ldi 11
|
||||
/* 0x0046 [0xC8 0x01 ] */ sub 1
|
||||
SEQ_0048:
|
||||
/* 0x0048 [0x75 ] */ stio IO_PORT_5
|
||||
/* 0x0049 [0xC8 0xFC ] */ sub 252
|
||||
/* 0x004B [0xFC 0x00 0xC4 ] */ call SEQ_00C4
|
||||
/* 0x004E [0xF4 0xCF ] */ rjump SEQ_001F
|
||||
|
||||
SEQ_0050:
|
||||
/* 0x0050 [0xCC 0x01 ] */ ldi 1
|
||||
/* 0x0052 [0x74 ] */ stio IO_PORT_4
|
||||
/* 0x0053 [0xCC 0xFF ] */ ldi 255
|
||||
/* 0x0055 [0x75 ] */ stio IO_PORT_5
|
||||
/* 0x0056 [0xCC 0x0F ] */ ldi 15
|
||||
/* 0x0058 [0xFC 0x00 0xC4 ] */ call SEQ_00C4
|
||||
SEQ_005B:
|
||||
/* 0x005B [0x82 ] */ ldio IO_PORT_2
|
||||
/* 0x005C [0xF2 0x0B ] */ rbltz SEQ_0069
|
||||
/* 0x005E [0x53 ] */ subio IO_PORT_3
|
||||
/* 0x005F [0xF3 0x08 ] */ rbeqz SEQ_0069
|
||||
/* 0x0061 [0x82 ] */ ldio IO_PORT_2
|
||||
/* 0x0062 [0x73 ] */ stio IO_PORT_3
|
||||
/* 0x0063 [0xF3 0xBA ] */ rbeqz SEQ_001F
|
||||
/* 0x0065 [0xC8 0x02 ] */ sub 2
|
||||
/* 0x0067 [0xF3 0x1D ] */ rbeqz SEQ_0086
|
||||
SEQ_0069:
|
||||
/* 0x0069 [0xCE 0x04 ] */ rand 4
|
||||
/* 0x006B [0x55 ] */ subio IO_PORT_5
|
||||
/* 0x006C [0xF3 0x04 ] */ rbeqz SEQ_0072
|
||||
/* 0x006E [0xCE 0x04 ] */ rand 4
|
||||
/* 0x0070 [0xF4 0x0C ] */ rjump SEQ_007E
|
||||
|
||||
SEQ_0072:
|
||||
/* 0x0072 [0xCE 0x04 ] */ rand 4
|
||||
/* 0x0074 [0xF3 0x04 ] */ rbeqz SEQ_007A
|
||||
/* 0x0076 [0xC8 0x01 ] */ sub 1
|
||||
/* 0x0078 [0xF4 0x04 ] */ rjump SEQ_007E
|
||||
|
||||
SEQ_007A:
|
||||
/* 0x007A [0xCC 0x04 ] */ ldi 4
|
||||
/* 0x007C [0xC8 0x01 ] */ sub 1
|
||||
SEQ_007E:
|
||||
/* 0x007E [0x75 ] */ stio IO_PORT_5
|
||||
/* 0x007F [0xC8 0xF0 ] */ sub 240
|
||||
/* 0x0081 [0xFC 0x00 0xC4 ] */ call SEQ_00C4
|
||||
/* 0x0084 [0xF4 0xD5 ] */ rjump SEQ_005B
|
||||
|
||||
SEQ_0086:
|
||||
/* 0x0086 [0xCC 0x02 ] */ ldi 2
|
||||
/* 0x0088 [0x74 ] */ stio IO_PORT_4
|
||||
/* 0x0089 [0xCC 0xFF ] */ ldi 255
|
||||
/* 0x008B [0x75 ] */ stio IO_PORT_5
|
||||
/* 0x008C [0xCC 0x14 ] */ ldi 20
|
||||
/* 0x008E [0xFC 0x00 0xC4 ] */ call SEQ_00C4
|
||||
SEQ_0091:
|
||||
/* 0x0091 [0x82 ] */ ldio IO_PORT_2
|
||||
/* 0x0092 [0xF2 0x0B ] */ rbltz SEQ_009F
|
||||
/* 0x0094 [0x53 ] */ subio IO_PORT_3
|
||||
/* 0x0095 [0xF3 0x08 ] */ rbeqz SEQ_009F
|
||||
/* 0x0097 [0x82 ] */ ldio IO_PORT_2
|
||||
/* 0x0098 [0x73 ] */ stio IO_PORT_3
|
||||
/* 0x0099 [0xF3 0x84 ] */ rbeqz SEQ_001F
|
||||
/* 0x009B [0xC8 0x01 ] */ sub 1
|
||||
/* 0x009D [0xF3 0xB1 ] */ rbeqz SEQ_0050
|
||||
SEQ_009F:
|
||||
/* 0x009F [0xCE 0x03 ] */ rand 3
|
||||
/* 0x00A1 [0x55 ] */ subio IO_PORT_5
|
||||
/* 0x00A2 [0xF3 0x04 ] */ rbeqz SEQ_00A8
|
||||
/* 0x00A4 [0xCE 0x03 ] */ rand 3
|
||||
/* 0x00A6 [0xF4 0x0C ] */ rjump SEQ_00B4
|
||||
|
||||
SEQ_00A8:
|
||||
/* 0x00A8 [0xCE 0x03 ] */ rand 3
|
||||
/* 0x00AA [0xF3 0x04 ] */ rbeqz SEQ_00B0
|
||||
/* 0x00AC [0xC8 0x01 ] */ sub 1
|
||||
/* 0x00AE [0xF4 0x04 ] */ rjump SEQ_00B4
|
||||
|
||||
SEQ_00B0:
|
||||
/* 0x00B0 [0xCC 0x03 ] */ ldi 3
|
||||
/* 0x00B2 [0xC8 0x01 ] */ sub 1
|
||||
SEQ_00B4:
|
||||
/* 0x00B4 [0x75 ] */ stio IO_PORT_5
|
||||
/* 0x00B5 [0xC8 0xEB ] */ sub 235
|
||||
/* 0x00B7 [0xFC 0x00 0xC4 ] */ call SEQ_00C4
|
||||
/* 0x00BA [0xF4 0xD5 ] */ rjump SEQ_0091
|
||||
|
||||
.table TABLE_00BC
|
||||
entry SEQ_00E8
|
||||
entry SEQ_00F6
|
||||
|
||||
.table TABLE_00C0
|
||||
entry ARRAY_0110
|
||||
entry ARRAY_1308
|
||||
|
||||
.sequence SEQ_00C4
|
||||
/* 0x00C4 [0x77 ] */ stio IO_PORT_7
|
||||
/* 0x00C5 [0xCC 0x00 ] */ ldi 0
|
||||
/* 0x00C7 [0x70 ] */ stio IO_PORT_0
|
||||
/* 0x00C8 [0x86 ] */ ldio IO_PORT_6
|
||||
/* 0x00C9 [0xCD 0x00 0xBC ] */ dyncall TABLE_00BC
|
||||
SEQ_00CC:
|
||||
/* 0x00CC [0xFE ] */ delay1
|
||||
/* 0x00CD [0x00 ] */ testchan 0
|
||||
/* 0x00CE [0xF3 0xFC ] */ rbeqz SEQ_00CC
|
||||
/* 0x00D0 [0x06 ] */ testchan 6
|
||||
/* 0x00D1 [0xF3 0xF9 ] */ rbeqz SEQ_00CC
|
||||
/* 0x00D3 [0x09 ] */ testchan 9
|
||||
/* 0x00D4 [0xF3 0xF6 ] */ rbeqz SEQ_00CC
|
||||
/* 0x00D6 [0x0A ] */ testchan 10
|
||||
/* 0x00D7 [0xF3 0xF3 ] */ rbeqz SEQ_00CC
|
||||
/* 0x00D9 [0x0C ] */ testchan 12
|
||||
/* 0x00DA [0xF3 0xF0 ] */ rbeqz SEQ_00CC
|
||||
/* 0x00DC [0x0E ] */ testchan 14
|
||||
/* 0x00DD [0xF3 0xED ] */ rbeqz SEQ_00CC
|
||||
/* 0x00DF [0x86 ] */ ldio IO_PORT_6
|
||||
/* 0x00E0 [0xCD 0x00 0xC0 ] */ dyncall TABLE_00C0
|
||||
/* 0x00E3 [0xCC 0x01 ] */ ldi 1
|
||||
/* 0x00E5 [0x56 ] */ subio IO_PORT_6
|
||||
/* 0x00E6 [0x76 ] */ stio IO_PORT_6
|
||||
/* 0x00E7 [0xFF ] */ end
|
||||
|
||||
.sequence SEQ_00E8
|
||||
/* 0x00E8 [0x87 ] */ ldio IO_PORT_7
|
||||
/* 0x00E9 [0xC7 0x00 0x00 0xF1 ] */ stseq 0, SEQ_00F0 + STSEQ_LDSEQ_SEQ_ID
|
||||
/* 0x00ED [0xCC 0xFF ] */ ldi 255
|
||||
/* 0x00EF [0x71 ] */ stio IO_PORT_1
|
||||
SEQ_00F0:
|
||||
/* 0x00F0 [0xB1 0x02 0x01 0x10 ] */ ldseq 1, NA_BGM_FIELD_LOGIC, ARRAY_0110
|
||||
/* 0x00F4 [0xF4 0x0C ] */ rjump SEQ_0102
|
||||
|
||||
.sequence SEQ_00F6
|
||||
/* 0x00F6 [0x87 ] */ ldio IO_PORT_7
|
||||
/* 0x00F7 [0xC7 0x00 0x00 0xFF ] */ stseq 0, SEQ_00FE + STSEQ_LDSEQ_SEQ_ID
|
||||
/* 0x00FB [0xCC 0xFF ] */ ldi 255
|
||||
/* 0x00FD [0x71 ] */ stio IO_PORT_1
|
||||
SEQ_00FE:
|
||||
/* 0x00FE [0xB1 0x02 0x13 0x08 ] */ ldseq 1, NA_BGM_FIELD_LOGIC, ARRAY_1308
|
||||
SEQ_0102:
|
||||
/* 0x0102 [0xFE ] */ delay1
|
||||
/* 0x0103 [0x81 ] */ ldio IO_PORT_1
|
||||
/* 0x0104 [0xF3 0x03 ] */ rbeqz SEQ_0109
|
||||
/* 0x0106 [0xF2 0xFA ] */ rbltz SEQ_0102
|
||||
/* 0x0108 [0xFF ] */ end
|
||||
|
||||
SEQ_0109:
|
||||
/* 0x0109 [0xFF ] */ end
|
||||
|
||||
.balign 16
|
||||
|
||||
.array ARRAY_0110
|
||||
.fill 4600
|
||||
|
||||
.array ARRAY_1308
|
||||
.fill 4600
|
||||
|
||||
.endseq Sequence_2
|
||||
@@ -29,14 +29,6 @@ incbins:
|
||||
segment: code
|
||||
vram: 0x8012A7C0
|
||||
size: 0x400
|
||||
- name: gSequenceFontTable
|
||||
segment: code
|
||||
vram: 0x80155340
|
||||
size: 0x1C0
|
||||
- name: gSequenceTable
|
||||
segment: code
|
||||
vram: 0x80155500
|
||||
size: 0x6F0
|
||||
- name: aspMainData
|
||||
segment: code
|
||||
vram: 0x80155C70
|
||||
|
||||
@@ -21,14 +21,6 @@ incbins:
|
||||
segment: code
|
||||
vram: 0x800E3A10
|
||||
size: 0xAF0
|
||||
- name: gSequenceFontTable
|
||||
segment: code
|
||||
vram: 0x801106E0
|
||||
size: 0x1C0
|
||||
- name: gSequenceTable
|
||||
segment: code
|
||||
vram: 0x801108A0
|
||||
size: 0x6F0
|
||||
- name: aspMainData
|
||||
segment: code
|
||||
vram: 0x80111010
|
||||
|
||||
@@ -21,14 +21,6 @@ incbins:
|
||||
segment: code
|
||||
vram: 0x800E3A30
|
||||
size: 0xAF0
|
||||
- name: gSequenceFontTable
|
||||
segment: code
|
||||
vram: 0x80110700
|
||||
size: 0x1C0
|
||||
- name: gSequenceTable
|
||||
segment: code
|
||||
vram: 0x801108C0
|
||||
size: 0x6F0
|
||||
- name: aspMainData
|
||||
segment: code
|
||||
vram: 0x80111030
|
||||
|
||||
@@ -21,14 +21,6 @@ incbins:
|
||||
segment: code
|
||||
vram: 0x800E60B0
|
||||
size: 0xAF0
|
||||
- name: gSequenceFontTable
|
||||
segment: code
|
||||
vram: 0x80112EF0
|
||||
size: 0x1C0
|
||||
- name: gSequenceTable
|
||||
segment: code
|
||||
vram: 0x801130B0
|
||||
size: 0x6F0
|
||||
- name: aspMainData
|
||||
segment: code
|
||||
vram: 0x80113820
|
||||
|
||||
@@ -21,14 +21,6 @@ incbins:
|
||||
segment: code
|
||||
vram: 0x800E60B0
|
||||
size: 0xAF0
|
||||
- name: gSequenceFontTable
|
||||
segment: code
|
||||
vram: 0x80112EF0
|
||||
size: 0x1C0
|
||||
- name: gSequenceTable
|
||||
segment: code
|
||||
vram: 0x801130B0
|
||||
size: 0x6F0
|
||||
- name: aspMainData
|
||||
segment: code
|
||||
vram: 0x80113820
|
||||
|
||||
@@ -21,14 +21,6 @@ incbins:
|
||||
segment: code
|
||||
vram: 0x800E60D0
|
||||
size: 0xAF0
|
||||
- name: gSequenceFontTable
|
||||
segment: code
|
||||
vram: 0x80112F10
|
||||
size: 0x1C0
|
||||
- name: gSequenceTable
|
||||
segment: code
|
||||
vram: 0x801130D0
|
||||
size: 0x6F0
|
||||
- name: aspMainData
|
||||
segment: code
|
||||
vram: 0x80113840
|
||||
|
||||
@@ -21,14 +21,6 @@ incbins:
|
||||
segment: code
|
||||
vram: 0x800E6090
|
||||
size: 0xAF0
|
||||
- name: gSequenceFontTable
|
||||
segment: code
|
||||
vram: 0x80112ED0
|
||||
size: 0x1C0
|
||||
- name: gSequenceTable
|
||||
segment: code
|
||||
vram: 0x80113090
|
||||
size: 0x6F0
|
||||
- name: aspMainData
|
||||
segment: code
|
||||
vram: 0x80113800
|
||||
|
||||
@@ -21,14 +21,6 @@ incbins:
|
||||
segment: code
|
||||
vram: 0x800E60B0
|
||||
size: 0xAF0
|
||||
- name: gSequenceFontTable
|
||||
segment: code
|
||||
vram: 0x80112EF0
|
||||
size: 0x1C0
|
||||
- name: gSequenceTable
|
||||
segment: code
|
||||
vram: 0x801130B0
|
||||
size: 0x6F0
|
||||
- name: aspMainData
|
||||
segment: code
|
||||
vram: 0x80113820
|
||||
|
||||
@@ -28,14 +28,6 @@ incbins:
|
||||
segment: code
|
||||
vram: 0x800E7200
|
||||
size: 0xAF0
|
||||
- name: gSequenceFontTable
|
||||
segment: code
|
||||
vram: 0x80114060
|
||||
size: 0x1C0
|
||||
- name: gSequenceTable
|
||||
segment: code
|
||||
vram: 0x80114220
|
||||
size: 0x6F0
|
||||
- name: aspMainData
|
||||
segment: code
|
||||
vram: 0x80114990
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
.include "macro.inc"
|
||||
|
||||
/* assembler directives */
|
||||
.set noat /* allow manual use of $at */
|
||||
.set noreorder /* don't insert nops after branches */
|
||||
.set gp=64 /* allow use of 64-bit general purpose registers */
|
||||
|
||||
.section .rodata
|
||||
|
||||
.balign 16
|
||||
|
||||
glabel gSequenceFontTable
|
||||
.incbin "incbin/gSequenceFontTable"
|
||||
|
||||
glabel gSequenceTable
|
||||
.incbin "incbin/gSequenceTable"
|
||||
2344
include/audio/aseq.h
Normal file
2344
include/audio/aseq.h
Normal file
File diff suppressed because it is too large
Load Diff
@@ -3,121 +3,18 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
typedef enum SeqId {
|
||||
/* 0x00 */ NA_BGM_GENERAL_SFX, // General Sound Effects
|
||||
/* 0x01 */ NA_BGM_NATURE_AMBIENCE, // Environmental nature background sounds
|
||||
/* 0x02 */ NA_BGM_FIELD_LOGIC, // Hyrule Field
|
||||
/* 0x03 */ NA_BGM_FIELD_INIT, // Hyrule Field Initial Segment From Loading Area
|
||||
/* 0x04 */ NA_BGM_FIELD_DEFAULT_1, // Hyrule Field Moving Segment 1
|
||||
/* 0x05 */ NA_BGM_FIELD_DEFAULT_2, // Hyrule Field Moving Segment 2
|
||||
/* 0x06 */ NA_BGM_FIELD_DEFAULT_3, // Hyrule Field Moving Segment 3
|
||||
/* 0x07 */ NA_BGM_FIELD_DEFAULT_4, // Hyrule Field Moving Segment 4
|
||||
/* 0x08 */ NA_BGM_FIELD_DEFAULT_5, // Hyrule Field Moving Segment 5
|
||||
/* 0x09 */ NA_BGM_FIELD_DEFAULT_6, // Hyrule Field Moving Segment 6
|
||||
/* 0x0A */ NA_BGM_FIELD_DEFAULT_7, // Hyrule Field Moving Segment 7
|
||||
/* 0x0B */ NA_BGM_FIELD_DEFAULT_8, // Hyrule Field Moving Segment 8
|
||||
/* 0x0C */ NA_BGM_FIELD_DEFAULT_9, // Hyrule Field Moving Segment 9
|
||||
/* 0x0D */ NA_BGM_FIELD_DEFAULT_A, // Hyrule Field Moving Segment 10
|
||||
/* 0x0E */ NA_BGM_FIELD_DEFAULT_B, // Hyrule Field Moving Segment 11
|
||||
/* 0x0F */ NA_BGM_FIELD_ENEMY_INIT, // Hyrule Field Enemy Approaches
|
||||
/* 0x10 */ NA_BGM_FIELD_ENEMY_1, // Hyrule Field Enemy Near Segment 1
|
||||
/* 0x11 */ NA_BGM_FIELD_ENEMY_2, // Hyrule Field Enemy Near Segment 2
|
||||
/* 0x12 */ NA_BGM_FIELD_ENEMY_3, // Hyrule Field Enemy Near Segment 3
|
||||
/* 0x13 */ NA_BGM_FIELD_ENEMY_4, // Hyrule Field Enemy Near Segment 4
|
||||
/* 0x14 */ NA_BGM_FIELD_STILL_1, // Hyrule Field Standing Still Segment 1
|
||||
/* 0x15 */ NA_BGM_FIELD_STILL_2, // Hyrule Field Standing Still Segment 2
|
||||
/* 0x16 */ NA_BGM_FIELD_STILL_3, // Hyrule Field Standing Still Segment 3
|
||||
/* 0x17 */ NA_BGM_FIELD_STILL_4, // Hyrule Field Standing Still Segment 4
|
||||
/* 0x18 */ NA_BGM_DUNGEON, // Dodongo's Cavern
|
||||
/* 0x19 */ NA_BGM_KAKARIKO_ADULT, // Kakariko Village (Adult)
|
||||
/* 0x1A */ NA_BGM_ENEMY, // Battle
|
||||
/* 0x1B */ NA_BGM_BOSS, // Boss Battle "NA_BGM_BOSS00"
|
||||
/* 0x1C */ NA_BGM_INSIDE_DEKU_TREE, // Inside the Deku Tree "NA_BGM_FAIRY_DUNGEON"
|
||||
/* 0x1D */ NA_BGM_MARKET, // Market
|
||||
/* 0x1E */ NA_BGM_TITLE, // Title Theme
|
||||
/* 0x1F */ NA_BGM_LINK_HOUSE, // House
|
||||
/* 0x20 */ NA_BGM_GAME_OVER, // Game Over
|
||||
/* 0x21 */ NA_BGM_BOSS_CLEAR, // Boss Clear
|
||||
/* 0x22 */ NA_BGM_ITEM_GET, // Obtain Item
|
||||
/* 0x23 */ NA_BGM_OPENING_GANON, // Enter Ganondorf
|
||||
/* 0x24 */ NA_BGM_HEART_GET, // Obtain Heart Container
|
||||
/* 0x25 */ NA_BGM_OCA_LIGHT, // Prelude of Light
|
||||
/* 0x26 */ NA_BGM_JABU_JABU, // Inside Jabu-Jabu's Belly "NA_BGM_BUYO_DUNGEON"
|
||||
/* 0x27 */ NA_BGM_KAKARIKO_KID, // Kakariko Village (Child)
|
||||
/* 0x28 */ NA_BGM_GREAT_FAIRY, // Great Fairy's Fountain "NA_BGM_GODESS"
|
||||
/* 0x29 */ NA_BGM_ZELDA_THEME, // Zelda's Theme "NA_BGM_HIME"
|
||||
/* 0x2A */ NA_BGM_FIRE_TEMPLE, // Fire Temple "NA_BGM_FIRE_DUNGEON"
|
||||
/* 0x2B */ NA_BGM_OPEN_TRE_BOX, // Open Treasure Chest
|
||||
/* 0x2C */ NA_BGM_FOREST_TEMPLE, // Forest Temple "NA_BGM_FORST_DUNGEON"
|
||||
/* 0x2D */ NA_BGM_COURTYARD, // Hyrule Castle Courtyard "NA_BGM_HIRAL_GARDEN"
|
||||
/* 0x2E */ NA_BGM_GANON_TOWER, // Ganondorf's Theme
|
||||
/* 0x2F */ NA_BGM_LONLON, // Lon Lon Ranch "NA_BGM_RONRON"
|
||||
/* 0x30 */ NA_BGM_GORON_CITY, // Goron City "NA_BGM_GORON"
|
||||
/* 0x31 */ NA_BGM_FIELD_MORNING, // Hyrule Field Morning Theme
|
||||
/* 0x32 */ NA_BGM_SPIRITUAL_STONE, // Spiritual Stone Get "NA_BGM_SPIRIT_STONE"
|
||||
/* 0x33 */ NA_BGM_OCA_BOLERO, // Bolero of Fire "NA_BGM_OCA_FLAME"
|
||||
/* 0x34 */ NA_BGM_OCA_MINUET, // Minuet of Forest "NA_BGM_OCA_WIND"
|
||||
/* 0x35 */ NA_BGM_OCA_SERENADE, // Serenade of Water "NA_BGM_OCA_WATER"
|
||||
/* 0x36 */ NA_BGM_OCA_REQUIEM, // Requiem of Spirit "NA_BGM_OCA_SOUL"
|
||||
/* 0x37 */ NA_BGM_OCA_NOCTURNE, // Nocturne of Shadow "NA_BGM_OCA_DARKNESS"
|
||||
/* 0x38 */ NA_BGM_MINI_BOSS, // Mini-Boss Battle "NA_BGM_MIDDLE_BOSS"
|
||||
/* 0x39 */ NA_BGM_SMALL_ITEM_GET, // Obtain Small Item "NA_BGM_S_ITEM_GET"
|
||||
/* 0x3A */ NA_BGM_TEMPLE_OF_TIME, // Temple of Time "NA_BGM_SHRINE_OF_TIME"
|
||||
/* 0x3B */ NA_BGM_EVENT_CLEAR, // Escape from Lon Lon Ranch
|
||||
/* 0x3C */ NA_BGM_KOKIRI, // Kokiri Forest
|
||||
/* 0x3D */ NA_BGM_OCA_FAIRY_GET, // Obtain Fairy Ocarina "NA_BGM_OCA_YOUSEI"
|
||||
/* 0x3E */ NA_BGM_SARIA_THEME, // Lost Woods "NA_BGM_MAYOIMORI"
|
||||
/* 0x3F */ NA_BGM_SPIRIT_TEMPLE, // Spirit Temple "NA_BGM_SOUL_DUNGEON"
|
||||
/* 0x40 */ NA_BGM_HORSE, // Horse Race
|
||||
/* 0x41 */ NA_BGM_HORSE_GOAL, // Horse Race Goal
|
||||
/* 0x42 */ NA_BGM_INGO, // Ingo's Theme
|
||||
/* 0x43 */ NA_BGM_MEDALLION_GET, // Obtain Medallion "NA_BGM_MEDAL_GET"
|
||||
/* 0x44 */ NA_BGM_OCA_SARIA, // Ocarina Saria's Song
|
||||
/* 0x45 */ NA_BGM_OCA_EPONA, // Ocarina Epona's Song
|
||||
/* 0x46 */ NA_BGM_OCA_ZELDA, // Ocarina Zelda's Lullaby
|
||||
/* 0x47 */ NA_BGM_OCA_SUNS, // Ocarina Sun's Song "NA_BGM_OCA_SUNMOON"
|
||||
/* 0x48 */ NA_BGM_OCA_TIME, // Ocarina Song of Time
|
||||
/* 0x49 */ NA_BGM_OCA_STORM, // Ocarina Song of Storms
|
||||
/* 0x4A */ NA_BGM_NAVI_OPENING, // Fairy Flying "NA_BGM_NAVI"
|
||||
/* 0x4B */ NA_BGM_DEKU_TREE_CS, // Deku Tree "NA_BGM_DEKUNOKI"
|
||||
/* 0x4C */ NA_BGM_WINDMILL, // Windmill Hut "NA_BGM_FUSHA"
|
||||
/* 0x4D */ NA_BGM_HYRULE_CS, // Legend of Hyrule "NA_BGM_HIRAL_DEMO"
|
||||
/* 0x4E */ NA_BGM_MINI_GAME, // Shooting Gallery
|
||||
/* 0x4F */ NA_BGM_SHEIK, // Sheik's Theme "NA_BGM_SEAK"
|
||||
/* 0x50 */ NA_BGM_ZORA_DOMAIN, // Zora's Domain "NA_BGM_ZORA"
|
||||
/* 0x51 */ NA_BGM_APPEAR, // Enter Zelda
|
||||
/* 0x52 */ NA_BGM_ADULT_LINK, // Goodbye to Zelda
|
||||
/* 0x53 */ NA_BGM_MASTER_SWORD, // Master Sword
|
||||
/* 0x54 */ NA_BGM_INTRO_GANON,
|
||||
/* 0x55 */ NA_BGM_SHOP, // Shop
|
||||
/* 0x56 */ NA_BGM_CHAMBER_OF_SAGES, // Chamber of the Sages "NA_BGM_KENJA"
|
||||
/* 0x57 */ NA_BGM_FILE_SELECT, // File Select
|
||||
/* 0x58 */ NA_BGM_ICE_CAVERN, // Ice Cavern "NA_BGM_ICE_DUNGEON"
|
||||
/* 0x59 */ NA_BGM_DOOR_OF_TIME, // Open Door of Temple of Time "NA_BGM_GATE_OPEN"
|
||||
/* 0x5A */ NA_BGM_OWL, // Kaepora Gaebora's Theme
|
||||
/* 0x5B */ NA_BGM_SHADOW_TEMPLE, // Shadow Temple "NA_BGM_DARKNESS_DUNGEON"
|
||||
/* 0x5C */ NA_BGM_WATER_TEMPLE, // Water Temple "NA_BGM_AQUA_DUNGEON"
|
||||
/* 0x5D */ NA_BGM_BRIDGE_TO_GANONS, // Ganon's Castle Bridge "NA_BGM_BRIDGE"
|
||||
/* 0x5E */ NA_BGM_OCARINA_OF_TIME, // Ocarina of Time "NA_BGM_SARIA"
|
||||
/* 0x5F */ NA_BGM_GERUDO_VALLEY, // Gerudo Valley "NA_BGM_GERUDO"
|
||||
/* 0x60 */ NA_BGM_POTION_SHOP, // Potion Shop "NA_BGM_DRUGSTORE"
|
||||
/* 0x61 */ NA_BGM_KOTAKE_KOUME, // Kotake & Koume's Theme
|
||||
/* 0x62 */ NA_BGM_ESCAPE, // Escape from Ganon's Castle
|
||||
/* 0x63 */ NA_BGM_UNDERGROUND, // Ganon's Castle Under Ground
|
||||
/* 0x64 */ NA_BGM_GANONDORF_BOSS, // Ganondorf Battle
|
||||
/* 0x65 */ NA_BGM_GANON_BOSS, // Ganon Battle
|
||||
/* 0x66 */ NA_BGM_END_DEMO, // Seal of Six Sages
|
||||
/* 0x67 */ NA_BGM_STAFF_1, // End Credits I
|
||||
/* 0x68 */ NA_BGM_STAFF_2, // End Credits II
|
||||
/* 0x69 */ NA_BGM_STAFF_3, // End Credits III
|
||||
/* 0x6A */ NA_BGM_STAFF_4, // End Credits IV
|
||||
/* 0x6B */ NA_BGM_FIRE_BOSS, // King Dodongo & Volvagia Boss Battle "NA_BGM_BOSS01"
|
||||
/* 0x6C */ NA_BGM_TIMED_MINI_GAME, // Mini-Game
|
||||
/* 0x6D */ NA_BGM_CUTSCENE_EFFECTS, // A small collection of various cutscene sounds
|
||||
/* 0x7F */ NA_BGM_NO_MUSIC = 0x7F, // No bgm music is played
|
||||
/* 0x80 */ NA_BGM_NATURE_SFX_RAIN = 0x80, // Related to rain
|
||||
/* 0xFFFF */ NA_BGM_DISABLED = 0xFFFF
|
||||
} SeqId;
|
||||
#define DEFINE_SEQUENCE(_0, seqId, _2, _3, _4) seqId,
|
||||
#define DEFINE_SEQUENCE_PTR(_0, seqId, _2, _3, _4) seqId,
|
||||
typedef enum {
|
||||
#include "tables/sequence_table.h"
|
||||
NA_BGM_MAX,
|
||||
|
||||
NA_BGM_NO_MUSIC = 0x7F,
|
||||
NA_BGM_NATURE_SFX_RAIN = 0x80,
|
||||
NA_BGM_DISABLED = 0xFFFF
|
||||
} NA_BGM;
|
||||
#undef DEFINE_SEQUENCE
|
||||
#undef DEFINE_SEQUENCE_PTR
|
||||
|
||||
typedef enum SequencePlayerId {
|
||||
/* 0 */ SEQ_PLAYER_BGM_MAIN,
|
||||
|
||||
@@ -55,7 +55,7 @@ typedef struct SfxBankEntry {
|
||||
* bank 1111000000000000 observed in audio code
|
||||
*/
|
||||
|
||||
#define DEFINE_SFX(enum, _1, _2, _3, _4) enum,
|
||||
#define DEFINE_SFX(_0, enum, _2, _3, _4, _5) enum,
|
||||
|
||||
typedef enum SfxId {
|
||||
NA_SE_NONE, // Requesting a sfx with this id will play no sound
|
||||
|
||||
132
include/tables/sequence_table.h
Normal file
132
include/tables/sequence_table.h
Normal file
@@ -0,0 +1,132 @@
|
||||
/**
|
||||
* Sequence Table
|
||||
*
|
||||
* DEFINE_SEQUENCE should be used to define sequences
|
||||
* - Argument 0: The name of the sequence, as defined by .startseq in the .seq file
|
||||
* - Argument 1: The sequence id enum name
|
||||
* - Argument 2: Storage medium for the sequence (SampleMedium)
|
||||
* - Argument 3: Cache load policy for the sequence (AudioCacheLoadType)
|
||||
* - Argument 4: Sequence flags
|
||||
*
|
||||
* DEFINE_SEQUENCE_PTR should be used to define pointers to sequences
|
||||
* - Argument 0: The sequence id enum name of the sequence this entry points to
|
||||
* - Argument 1: The sequence id enum name for this pointer
|
||||
* - Argument 2: Storage medium for the sequence (SampleMedium)
|
||||
* - Argument 3: Cache load policy for the sequence (AudioCacheLoadType)
|
||||
* - Argument 4: Sequence flags
|
||||
*/
|
||||
#if PLATFORM_N64
|
||||
#define SEQ_0_FLAGS SEQ_FLAG_FANFARE | SEQ_FLAG_ENEMY
|
||||
#else
|
||||
#define SEQ_0_FLAGS SEQ_FLAG_FANFARE
|
||||
#endif
|
||||
DEFINE_SEQUENCE (Sequence_0, NA_BGM_GENERAL_SFX, MEDIUM_CART, CACHE_LOAD_PERMANENT, SEQ_0_FLAGS ) // general_sfx
|
||||
DEFINE_SEQUENCE (Sequence_1, NA_BGM_NATURE_AMBIENCE, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_ENEMY ) // nature_ambience
|
||||
DEFINE_SEQUENCE (Sequence_2, NA_BGM_FIELD_LOGIC, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_logic
|
||||
DEFINE_SEQUENCE (Sequence_3, NA_BGM_FIELD_INIT, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_init
|
||||
DEFINE_SEQUENCE (Sequence_4, NA_BGM_FIELD_DEFAULT_1, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_default_1
|
||||
DEFINE_SEQUENCE (Sequence_5, NA_BGM_FIELD_DEFAULT_2, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_default_2
|
||||
DEFINE_SEQUENCE (Sequence_6, NA_BGM_FIELD_DEFAULT_3, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_default_3
|
||||
DEFINE_SEQUENCE (Sequence_7, NA_BGM_FIELD_DEFAULT_4, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_default_4
|
||||
DEFINE_SEQUENCE (Sequence_8, NA_BGM_FIELD_DEFAULT_5, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_default_5
|
||||
DEFINE_SEQUENCE (Sequence_9, NA_BGM_FIELD_DEFAULT_6, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_default_6
|
||||
DEFINE_SEQUENCE (Sequence_10, NA_BGM_FIELD_DEFAULT_7, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_default_7
|
||||
DEFINE_SEQUENCE (Sequence_11, NA_BGM_FIELD_DEFAULT_8, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_default_8
|
||||
DEFINE_SEQUENCE (Sequence_12, NA_BGM_FIELD_DEFAULT_9, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_default_9
|
||||
DEFINE_SEQUENCE (Sequence_13, NA_BGM_FIELD_DEFAULT_A, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_default_a
|
||||
DEFINE_SEQUENCE (Sequence_14, NA_BGM_FIELD_DEFAULT_B, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_default_b
|
||||
DEFINE_SEQUENCE (Sequence_15, NA_BGM_FIELD_ENEMY_INIT, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_enemy_init
|
||||
DEFINE_SEQUENCE (Sequence_16, NA_BGM_FIELD_ENEMY_1, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_enemy_1
|
||||
DEFINE_SEQUENCE (Sequence_17, NA_BGM_FIELD_ENEMY_2, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_enemy_2
|
||||
DEFINE_SEQUENCE (Sequence_18, NA_BGM_FIELD_ENEMY_3, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_enemy_3
|
||||
DEFINE_SEQUENCE (Sequence_19, NA_BGM_FIELD_ENEMY_4, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_enemy_4
|
||||
DEFINE_SEQUENCE (Sequence_20, NA_BGM_FIELD_STILL_1, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_still_1
|
||||
DEFINE_SEQUENCE (Sequence_21, NA_BGM_FIELD_STILL_2, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_still_2
|
||||
DEFINE_SEQUENCE (Sequence_22, NA_BGM_FIELD_STILL_3, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_still_3
|
||||
DEFINE_SEQUENCE (Sequence_23, NA_BGM_FIELD_STILL_4, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_still_4
|
||||
DEFINE_SEQUENCE (Sequence_24, NA_BGM_DUNGEON, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_RESUME_PREV | SEQ_FLAG_ENEMY ) // dungeon
|
||||
DEFINE_SEQUENCE (Sequence_25, NA_BGM_KAKARIKO_ADULT, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_RESUME ) // kakariko_adult
|
||||
DEFINE_SEQUENCE (Sequence_26, NA_BGM_ENEMY, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // enemy
|
||||
DEFINE_SEQUENCE (Sequence_27, NA_BGM_BOSS, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_NO_AMBIENCE | SEQ_FLAG_RESTORE) // boss
|
||||
DEFINE_SEQUENCE (Sequence_28, NA_BGM_INSIDE_DEKU_TREE, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_ENEMY ) // inside_deku_tree
|
||||
DEFINE_SEQUENCE (Sequence_29, NA_BGM_MARKET, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // market
|
||||
DEFINE_SEQUENCE (Sequence_30, NA_BGM_TITLE, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // title
|
||||
DEFINE_SEQUENCE (Sequence_31, NA_BGM_LINK_HOUSE, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_RESUME_PREV ) // link_house
|
||||
DEFINE_SEQUENCE (Sequence_32, NA_BGM_GAME_OVER, MEDIUM_CART, CACHE_LOAD_PERSISTENT, 0 ) // game_over
|
||||
DEFINE_SEQUENCE (Sequence_33, NA_BGM_BOSS_CLEAR, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // boss_clear
|
||||
DEFINE_SEQUENCE (Sequence_34, NA_BGM_ITEM_GET, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // item_get
|
||||
DEFINE_SEQUENCE (Sequence_35, NA_BGM_OPENING_GANON, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_FANFARE_GANON ) // opening_ganon
|
||||
DEFINE_SEQUENCE (Sequence_36, NA_BGM_HEART_GET, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // heart_get
|
||||
DEFINE_SEQUENCE (Sequence_37, NA_BGM_OCA_LIGHT, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // oca_light
|
||||
DEFINE_SEQUENCE (Sequence_38, NA_BGM_JABU_JABU, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_ENEMY ) // jabu_jabu
|
||||
DEFINE_SEQUENCE (Sequence_39, NA_BGM_KAKARIKO_KID, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_RESUME ) // kakariko_kid
|
||||
DEFINE_SEQUENCE (Sequence_40, NA_BGM_GREAT_FAIRY, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // great_fairy
|
||||
DEFINE_SEQUENCE (Sequence_41, NA_BGM_ZELDA_THEME, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // zelda_theme
|
||||
DEFINE_SEQUENCE (Sequence_42, NA_BGM_FIRE_TEMPLE, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_ENEMY ) // fire_temple
|
||||
DEFINE_SEQUENCE (Sequence_43, NA_BGM_OPEN_TRE_BOX, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // open_tre_box
|
||||
DEFINE_SEQUENCE (Sequence_44, NA_BGM_FOREST_TEMPLE, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_ENEMY ) // forest_temple
|
||||
DEFINE_SEQUENCE (Sequence_45, NA_BGM_COURTYARD, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // courtyard
|
||||
DEFINE_SEQUENCE (Sequence_46, NA_BGM_GANON_TOWER, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_NO_AMBIENCE ) // ganon_tower
|
||||
DEFINE_SEQUENCE (Sequence_47, NA_BGM_LONLON, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // lonlon
|
||||
DEFINE_SEQUENCE (Sequence_48, NA_BGM_GORON_CITY, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_NO_AMBIENCE ) // goron_city
|
||||
DEFINE_SEQUENCE (Sequence_49, NA_BGM_FIELD_MORNING, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // field_morning
|
||||
DEFINE_SEQUENCE (Sequence_50, NA_BGM_SPIRITUAL_STONE, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // spiritual_stone
|
||||
DEFINE_SEQUENCE (Sequence_51, NA_BGM_OCA_BOLERO, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // oca_bolero
|
||||
DEFINE_SEQUENCE (Sequence_52, NA_BGM_OCA_MINUET, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // oca_minuet
|
||||
DEFINE_SEQUENCE (Sequence_53, NA_BGM_OCA_SERENADE, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // oca_serenade
|
||||
DEFINE_SEQUENCE (Sequence_54, NA_BGM_OCA_REQUIEM, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // oca_requiem
|
||||
DEFINE_SEQUENCE (Sequence_55, NA_BGM_OCA_NOCTURNE, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // oca_nocturne
|
||||
DEFINE_SEQUENCE (Sequence_56, NA_BGM_MINI_BOSS, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_NO_AMBIENCE | SEQ_FLAG_RESTORE) // mini_boss
|
||||
DEFINE_SEQUENCE (Sequence_57, NA_BGM_SMALL_ITEM_GET, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // small_item_get
|
||||
DEFINE_SEQUENCE (Sequence_58, NA_BGM_TEMPLE_OF_TIME, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // temple_of_time
|
||||
DEFINE_SEQUENCE (Sequence_59, NA_BGM_EVENT_CLEAR, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // event_clear
|
||||
DEFINE_SEQUENCE (Sequence_60, NA_BGM_KOKIRI, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_RESUME | SEQ_FLAG_ENEMY ) // kokiri
|
||||
DEFINE_SEQUENCE (Sequence_61, NA_BGM_OCA_FAIRY_GET, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // oca_fairy_get
|
||||
DEFINE_SEQUENCE (Sequence_62, NA_BGM_SARIA_THEME, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_ENEMY ) // saria_theme
|
||||
DEFINE_SEQUENCE (Sequence_63, NA_BGM_SPIRIT_TEMPLE, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_ENEMY ) // spirit_temple
|
||||
DEFINE_SEQUENCE (Sequence_64, NA_BGM_HORSE, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // horse
|
||||
DEFINE_SEQUENCE (Sequence_65, NA_BGM_HORSE_GOAL, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // horse_goal
|
||||
DEFINE_SEQUENCE (Sequence_66, NA_BGM_INGO, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // ingo
|
||||
DEFINE_SEQUENCE (Sequence_67, NA_BGM_MEDALLION_GET, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // medallion_get
|
||||
DEFINE_SEQUENCE (Sequence_68, NA_BGM_OCA_SARIA, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // oca_saria
|
||||
DEFINE_SEQUENCE (Sequence_69, NA_BGM_OCA_EPONA, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // oca_epona
|
||||
DEFINE_SEQUENCE (Sequence_70, NA_BGM_OCA_ZELDA, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // oca_zelda
|
||||
DEFINE_SEQUENCE (Sequence_71, NA_BGM_OCA_SUNS, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // oca_suns
|
||||
DEFINE_SEQUENCE (Sequence_72, NA_BGM_OCA_TIME, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // oca_time
|
||||
DEFINE_SEQUENCE (Sequence_73, NA_BGM_OCA_STORM, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // oca_storm
|
||||
DEFINE_SEQUENCE (Sequence_74, NA_BGM_NAVI_OPENING, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // navi_opening
|
||||
DEFINE_SEQUENCE (Sequence_75, NA_BGM_DEKU_TREE_CS, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // deku_tree_cs
|
||||
DEFINE_SEQUENCE (Sequence_76, NA_BGM_WINDMILL, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // windmill
|
||||
DEFINE_SEQUENCE (Sequence_77, NA_BGM_HYRULE_CS, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // hyrule_cs
|
||||
DEFINE_SEQUENCE (Sequence_78, NA_BGM_MINI_GAME, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_RESUME_PREV ) // mini_game
|
||||
DEFINE_SEQUENCE (Sequence_79, NA_BGM_SHEIK, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // sheik
|
||||
DEFINE_SEQUENCE (Sequence_80, NA_BGM_ZORA_DOMAIN, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_RESUME ) // zora_domain
|
||||
DEFINE_SEQUENCE (Sequence_81, NA_BGM_APPEAR, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // appear
|
||||
DEFINE_SEQUENCE (Sequence_82, NA_BGM_ADULT_LINK, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // adult_link
|
||||
DEFINE_SEQUENCE (Sequence_83, NA_BGM_MASTER_SWORD, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // master_sword
|
||||
DEFINE_SEQUENCE (Sequence_84, NA_BGM_INTRO_GANON, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_FANFARE_GANON ) // intro_ganon
|
||||
DEFINE_SEQUENCE (Sequence_85, NA_BGM_SHOP, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_RESUME_PREV ) // shop
|
||||
DEFINE_SEQUENCE (Sequence_86, NA_BGM_CHAMBER_OF_SAGES, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_SKIP_HARP_INTRO ) // chamber_of_sages
|
||||
DEFINE_SEQUENCE_PTR(NA_BGM_GREAT_FAIRY, NA_BGM_FILE_SELECT, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_SKIP_HARP_INTRO ) // file_select
|
||||
DEFINE_SEQUENCE (Sequence_88, NA_BGM_ICE_CAVERN, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_ENEMY ) // ice_cavern
|
||||
DEFINE_SEQUENCE (Sequence_89, NA_BGM_DOOR_OF_TIME, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // door_of_time
|
||||
DEFINE_SEQUENCE (Sequence_90, NA_BGM_OWL, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // owl
|
||||
DEFINE_SEQUENCE (Sequence_91, NA_BGM_SHADOW_TEMPLE, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_ENEMY ) // shadow_temple
|
||||
DEFINE_SEQUENCE (Sequence_92, NA_BGM_WATER_TEMPLE, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_ENEMY ) // water_temple
|
||||
DEFINE_SEQUENCE (Sequence_93, NA_BGM_BRIDGE_TO_GANONS, MEDIUM_CART, CACHE_LOAD_PERSISTENT, SEQ_FLAG_FANFARE ) // bridge_to_ganons
|
||||
DEFINE_SEQUENCE (Sequence_94, NA_BGM_OCARINA_OF_TIME, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // ocarina_of_time
|
||||
DEFINE_SEQUENCE (Sequence_95, NA_BGM_GERUDO_VALLEY, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_RESUME | SEQ_FLAG_ENEMY ) // gerudo_valley
|
||||
DEFINE_SEQUENCE (Sequence_96, NA_BGM_POTION_SHOP, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // potion_shop
|
||||
DEFINE_SEQUENCE (Sequence_97, NA_BGM_KOTAKE_KOUME, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // kotake_koume
|
||||
DEFINE_SEQUENCE (Sequence_98, NA_BGM_ESCAPE, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_NO_AMBIENCE ) // escape
|
||||
DEFINE_SEQUENCE (Sequence_99, NA_BGM_UNDERGROUND, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // underground
|
||||
DEFINE_SEQUENCE (Sequence_100, NA_BGM_GANONDORF_BOSS, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_NO_AMBIENCE ) // ganondorf_boss
|
||||
DEFINE_SEQUENCE (Sequence_101, NA_BGM_GANON_BOSS, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_NO_AMBIENCE ) // ganon_boss
|
||||
DEFINE_SEQUENCE (Sequence_102, NA_BGM_END_DEMO, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // end_demo
|
||||
DEFINE_SEQUENCE (Sequence_103, NA_BGM_STAFF_1, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // staff_1
|
||||
DEFINE_SEQUENCE (Sequence_104, NA_BGM_STAFF_2, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // staff_2
|
||||
DEFINE_SEQUENCE (Sequence_105, NA_BGM_STAFF_3, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // staff_3
|
||||
DEFINE_SEQUENCE (Sequence_106, NA_BGM_STAFF_4, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // staff_4
|
||||
DEFINE_SEQUENCE (Sequence_107, NA_BGM_FIRE_BOSS, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // fire_boss
|
||||
DEFINE_SEQUENCE (Sequence_108, NA_BGM_TIMED_MINI_GAME, MEDIUM_CART, CACHE_LOAD_TEMPORARY, SEQ_FLAG_RESTORE ) // timed_mini_game
|
||||
DEFINE_SEQUENCE (Sequence_109, NA_BGM_CUTSCENE_EFFECTS, MEDIUM_CART, CACHE_LOAD_TEMPORARY, 0 ) // cutscene_effects
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user