mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-26 20:00:30 +00: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:
parent
03a1502706
commit
dbbeb656f8
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
|
File diff suppressed because it is too large
Load Diff
@ -2,267 +2,266 @@
|
||||
* Sfx Environment Bank
|
||||
*
|
||||
* DEFINE_SFX should be used for all sfx define in the environment bank from sequence 0
|
||||
* - Argument 0: Channel name for sequence 0
|
||||
* - Argument 1: Enum value for this sfx
|
||||
* - Argument 2: Importance for deciding which sfx to prioritize. Higher values have greater importance
|
||||
* - Argument 3: Slows the decay of volume with distance (a 2-bit number ranging from 0-3)
|
||||
* - Argument 4: Applies increasingly random offsets to frequency (a 2-bit number ranging from 0-3)
|
||||
* - Argument 5: Various flags to add properties to the sfx
|
||||
*
|
||||
* WARNING: entries must align with the table defined for the environment bank in sequence 0
|
||||
*/
|
||||
/* 0x2800 */ DEFINE_SFX(NA_SE_EV_DOOR_OPEN, 0x70, 0, 1, SFX_FLAG_10 | SFX_FLAG_9)
|
||||
/* 0x2801 */ DEFINE_SFX(NA_SE_EV_DOOR_CLOSE, 0x80, 0, 1, 0)
|
||||
/* 0x2802 */ DEFINE_SFX(NA_SE_EV_EXPLOSION, 0x30, 0, 0, 0)
|
||||
/* 0x2803 */ DEFINE_SFX(NA_SE_EV_HORSE_WALK, 0x30, 0, 1, 0)
|
||||
/* 0x2804 */ DEFINE_SFX(NA_SE_EV_HORSE_RUN, 0x30, 0, 1, 0)
|
||||
/* 0x2805 */ DEFINE_SFX(NA_SE_EV_HORSE_NEIGH, 0x40, 0, 1, 0)
|
||||
/* 0x2806 */ DEFINE_SFX(NA_SE_EV_RIVER_STREAM, 0x30, 0, 2, SFX_FLAG_10)
|
||||
/* 0x2807 */ DEFINE_SFX(NA_SE_EV_WATER_WALL_BIG, 0x38, 2, 0, 0)
|
||||
/* 0x2808 */ DEFINE_SFX(NA_SE_EV_OUT_OF_WATER, 0x30, 0, 1, 0)
|
||||
/* 0x2809 */ DEFINE_SFX(NA_SE_EV_DIVE_WATER, 0x30, 0, 1, 0)
|
||||
/* 0x280A */ DEFINE_SFX(NA_SE_EV_ROCK_SLIDE, 0x80, 2, 0, 0)
|
||||
/* 0x280B */ DEFINE_SFX(NA_SE_EV_MAGMA_LEVEL, 0xA0, 3, 0, 0)
|
||||
/* 0x280C */ DEFINE_SFX(NA_SE_EV_BRIDGE_OPEN, 0x30, 3, 0, 0)
|
||||
/* 0x280D */ DEFINE_SFX(NA_SE_EV_BRIDGE_CLOSE, 0x30, 3, 0, 0)
|
||||
/* 0x280E */ DEFINE_SFX(NA_SE_EV_BRIDGE_OPEN_STOP, 0x30, 3, 0, 0)
|
||||
/* 0x280F */ DEFINE_SFX(NA_SE_EV_BRIDGE_CLOSE_STOP, 0x30, 3, 0, 0)
|
||||
/* 0x2810 */ DEFINE_SFX(NA_SE_EV_WALL_BROKEN, 0x30, 2, 0, 0)
|
||||
/* 0x2811 */ DEFINE_SFX(NA_SE_EV_CHICKEN_CRY_N, 0x30, 0, 1, 0)
|
||||
/* 0x2812 */ DEFINE_SFX(NA_SE_EV_CHICKEN_CRY_A, 0x30, 0, 1, 0)
|
||||
/* 0x2813 */ DEFINE_SFX(NA_SE_EV_CHICKEN_CRY_M, 0x30, 0, 0, 0)
|
||||
/* 0x2814 */ DEFINE_SFX(NA_SE_EV_SLIDE_DOOR_OPEN, 0x60, 0, 0, 0)
|
||||
/* 0x2815 */ DEFINE_SFX(NA_SE_EV_FOOT_SWITCH, 0x30, 3, 0, 0)
|
||||
/* 0x2816 */ DEFINE_SFX(NA_SE_EV_HORSE_GROAN, 0x30, 0, 0, 0)
|
||||
/* 0x2817 */ DEFINE_SFX(NA_SE_EV_BOMB_DROP_WATER, 0x30, 2, 2, 0)
|
||||
/* 0x2818 */ DEFINE_SFX(NA_SE_EV_HORSE_JUMP, 0x30, 0, 0, 0)
|
||||
/* 0x2819 */ DEFINE_SFX(NA_SE_EV_HORSE_LAND, 0x40, 0, 0, 0)
|
||||
/* 0x281A */ DEFINE_SFX(NA_SE_EV_HORSE_SLIP, 0x38, 0, 0, 0)
|
||||
/* 0x281B */ DEFINE_SFX(NA_SE_EV_FAIRY_DASH, 0x28, 0, 0, 0)
|
||||
/* 0x281C */ DEFINE_SFX(NA_SE_EV_SLIDE_DOOR_CLOSE, 0x60, 0, 0, 0)
|
||||
/* 0x281D */ DEFINE_SFX(NA_SE_EV_STONE_BOUND, 0x70, 3, 0, 0)
|
||||
/* 0x281E */ DEFINE_SFX(NA_SE_EV_STONE_STATUE_OPEN, 0x30, 3, 0, 0)
|
||||
/* 0x281F */ DEFINE_SFX(NA_SE_EV_TBOX_UNLOCK, 0x30, 0, 0, 0)
|
||||
/* 0x2820 */ DEFINE_SFX(NA_SE_EV_TBOX_OPEN, 0x30, 0, 0, 0)
|
||||
/* 0x2821 */ DEFINE_SFX(NA_SE_SY_TIMER, 0xA0, 0, 0, SFX_FLAG_13 | SFX_FLAG_3)
|
||||
/* 0x2800 */ DEFINE_SFX(CHAN_18CA, NA_SE_EV_DOOR_OPEN, 0x70, 0, 1, SFX_FLAG_10 | SFX_FLAG_9)
|
||||
/* 0x2801 */ DEFINE_SFX(CHAN_18D9, NA_SE_EV_DOOR_CLOSE, 0x80, 0, 1, 0)
|
||||
/* 0x2802 */ DEFINE_SFX(CHAN_18E5, NA_SE_EV_EXPLOSION, 0x30, 0, 0, 0)
|
||||
/* 0x2803 */ DEFINE_SFX(CHAN_18F6, NA_SE_EV_HORSE_WALK, 0x30, 0, 1, 0)
|
||||
/* 0x2804 */ DEFINE_SFX(CHAN_1900, NA_SE_EV_HORSE_RUN, 0x30, 0, 1, 0)
|
||||
/* 0x2805 */ DEFINE_SFX(CHAN_190A, NA_SE_EV_HORSE_NEIGH, 0x40, 0, 1, 0)
|
||||
/* 0x2806 */ DEFINE_SFX(CHAN_1915, NA_SE_EV_RIVER_STREAM, 0x30, 0, 2, SFX_FLAG_10)
|
||||
/* 0x2807 */ DEFINE_SFX(CHAN_1929, NA_SE_EV_WATER_WALL_BIG, 0x38, 2, 0, 0)
|
||||
/* 0x2808 */ DEFINE_SFX(CHAN_1945, NA_SE_EV_OUT_OF_WATER, 0x30, 0, 1, 0)
|
||||
/* 0x2809 */ DEFINE_SFX(CHAN_1959, NA_SE_EV_DIVE_WATER, 0x30, 0, 1, 0)
|
||||
/* 0x280A */ DEFINE_SFX(CHAN_196B, NA_SE_EV_ROCK_SLIDE, 0x80, 2, 0, 0)
|
||||
/* 0x280B */ DEFINE_SFX(CHAN_197E, NA_SE_EV_MAGMA_LEVEL, 0xA0, 3, 0, 0)
|
||||
/* 0x280C */ DEFINE_SFX(CHAN_198F, NA_SE_EV_BRIDGE_OPEN, 0x30, 3, 0, 0)
|
||||
/* 0x280D */ DEFINE_SFX(CHAN_19C3, NA_SE_EV_BRIDGE_CLOSE, 0x30, 3, 0, 0)
|
||||
/* 0x280E */ DEFINE_SFX(CHAN_19F7, NA_SE_EV_BRIDGE_OPEN_STOP, 0x30, 3, 0, 0)
|
||||
/* 0x280F */ DEFINE_SFX(CHAN_1A0E, NA_SE_EV_BRIDGE_CLOSE_STOP, 0x30, 3, 0, 0)
|
||||
/* 0x2810 */ DEFINE_SFX(CHAN_1A25, NA_SE_EV_WALL_BROKEN, 0x30, 2, 0, 0)
|
||||
/* 0x2811 */ DEFINE_SFX(CHAN_1A4C, NA_SE_EV_CHICKEN_CRY_N, 0x30, 0, 1, 0)
|
||||
/* 0x2812 */ DEFINE_SFX(CHAN_1A5B, NA_SE_EV_CHICKEN_CRY_A, 0x30, 0, 1, 0)
|
||||
/* 0x2813 */ DEFINE_SFX(CHAN_1A73, NA_SE_EV_CHICKEN_CRY_M, 0x30, 0, 0, 0)
|
||||
/* 0x2814 */ DEFINE_SFX(CHAN_1A7E, NA_SE_EV_SLIDE_DOOR_OPEN, 0x60, 0, 0, 0)
|
||||
/* 0x2815 */ DEFINE_SFX(CHAN_1A8F, NA_SE_EV_FOOT_SWITCH, 0x30, 3, 0, 0)
|
||||
/* 0x2816 */ DEFINE_SFX(CHAN_1AB3, NA_SE_EV_HORSE_GROAN, 0x30, 0, 0, 0)
|
||||
/* 0x2817 */ DEFINE_SFX(CHAN_1ACA, NA_SE_EV_BOMB_DROP_WATER, 0x30, 2, 2, 0)
|
||||
/* 0x2818 */ DEFINE_SFX(CHAN_1AD6, NA_SE_EV_HORSE_JUMP, 0x30, 0, 0, 0)
|
||||
/* 0x2819 */ DEFINE_SFX(CHAN_1AE3, NA_SE_EV_HORSE_LAND, 0x40, 0, 0, 0)
|
||||
/* 0x281A */ DEFINE_SFX(CHAN_1AF0, NA_SE_EV_HORSE_SLIP, 0x38, 0, 0, 0)
|
||||
/* 0x281B */ DEFINE_SFX(CHAN_1B01, NA_SE_EV_FAIRY_DASH, 0x28, 0, 0, 0)
|
||||
/* 0x281C */ DEFINE_SFX(CHAN_1B14, NA_SE_EV_SLIDE_DOOR_CLOSE, 0x60, 0, 0, 0)
|
||||
/* 0x281D */ DEFINE_SFX(CHAN_1B25, NA_SE_EV_STONE_BOUND, 0x70, 3, 0, 0)
|
||||
/* 0x281E */ DEFINE_SFX(CHAN_1B47, NA_SE_EV_STONE_STATUE_OPEN, 0x30, 3, 0, 0)
|
||||
/* 0x281F */ DEFINE_SFX(CHAN_1B61, NA_SE_EV_TBOX_UNLOCK, 0x30, 0, 0, 0)
|
||||
/* 0x2820 */ DEFINE_SFX(CHAN_1B7D, NA_SE_EV_TBOX_OPEN, 0x30, 0, 0, 0)
|
||||
/* 0x2821 */ DEFINE_SFX(CHAN_1B93, NA_SE_SY_TIMER, 0xA0, 0, 0, SFX_FLAG_13 | SFX_FLAG_3)
|
||||
#if PLATFORM_N64
|
||||
/* 0x2822 */ DEFINE_SFX(NA_SE_EV_FLAME_IGNITION, 0x2D, 2, 0, 0)
|
||||
/* 0x2822 */ DEFINE_SFX(CHAN_1BE9, NA_SE_EV_FLAME_IGNITION, 0x2D, 2, 0, 0)
|
||||
#else
|
||||
/* 0x2822 */ DEFINE_SFX(NA_SE_EV_FLAME_IGNITION, 0x20, 2, 0, 0)
|
||||
/* 0x2822 */ DEFINE_SFX(CHAN_1BE9, NA_SE_EV_FLAME_IGNITION, 0x20, 2, 0, 0)
|
||||
#endif
|
||||
/* 0x2823 */ DEFINE_SFX(NA_SE_EV_SPEAR_HIT, 0x30, 0, 0, 0)
|
||||
/* 0x2824 */ DEFINE_SFX(NA_SE_EV_ELEVATOR_MOVE, 0x30, 0, 0, SFX_FLAG_11)
|
||||
/* 0x2825 */ DEFINE_SFX(NA_SE_EV_WARP_HOLE, 0x30, 0, 0, SFX_FLAG_15 | SFX_FLAG_11)
|
||||
/* 0x2826 */ DEFINE_SFX(NA_SE_EV_LINK_WARP, 0x30, 0, 0, SFX_FLAG_15)
|
||||
/* 0x2827 */ DEFINE_SFX(NA_SE_EV_PILLAR_SINK, 0x30, 2, 0, 0)
|
||||
/* 0x2828 */ DEFINE_SFX(NA_SE_EV_WATER_WALL, 0x30, 0, 0, 0)
|
||||
/* 0x2829 */ DEFINE_SFX(NA_SE_EV_RIVER_STREAM_S, 0x30, 0, 0, 0)
|
||||
/* 0x282A */ DEFINE_SFX(NA_SE_EV_RIVER_STREAM_F, 0x30, 0, 0, 0)
|
||||
/* 0x282B */ DEFINE_SFX(NA_SE_EV_HORSE_LAND2, 0x30, 0, 0, 0)
|
||||
/* 0x282C */ DEFINE_SFX(NA_SE_EV_HORSE_SANDDUST, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x282D */ DEFINE_SFX(NA_SE_EV_DUMMY45, 0x30, 0, 0, 0)
|
||||
/* 0x282E */ DEFINE_SFX(NA_SE_EV_LIGHTNING, 0x30, 0, 0, 0)
|
||||
/* 0x282F */ DEFINE_SFX(NA_SE_EV_BOMB_BOUND, 0x30, 0, 2, 0)
|
||||
/* 0x2830 */ DEFINE_SFX(NA_SE_EV_WATERDROP, 0x60, 2, 1, 0)
|
||||
/* 0x2831 */ DEFINE_SFX(NA_SE_EV_TORCH, 0x10, 0, 0, 0)
|
||||
/* 0x2832 */ DEFINE_SFX(NA_SE_EV_MAGMA_LEVEL_M, 0xA0, 3, 0, 0)
|
||||
/* 0x2833 */ DEFINE_SFX(NA_SE_EV_FIRE_PILLAR, 0x30, 0, 0, 0)
|
||||
/* 0x2834 */ DEFINE_SFX(NA_SE_EV_FIRE_PLATE, 0x30, 0, 0, SFX_FLAG_4)
|
||||
/* 0x2835 */ DEFINE_SFX(NA_SE_EV_BLOCK_BOUND, 0x30, 3, 0, 0)
|
||||
/* 0x2836 */ DEFINE_SFX(NA_SE_EV_METALDOOR_SLIDE, 0x30, 0, 0, 0)
|
||||
/* 0x2837 */ DEFINE_SFX(NA_SE_EV_METALDOOR_STOP, 0x30, 0, 0, 0)
|
||||
/* 0x2838 */ DEFINE_SFX(NA_SE_EV_BLOCK_SHAKE, 0x30, 0, 0, 0)
|
||||
/* 0x2839 */ DEFINE_SFX(NA_SE_EV_BOX_BREAK, 0x30, 2, 0, 0)
|
||||
/* 0x283A */ DEFINE_SFX(NA_SE_EV_HAMMER_SWITCH, 0x30, 0, 0, 0)
|
||||
/* 0x283B */ DEFINE_SFX(NA_SE_EV_MAGMA_LEVEL_L, 0xA0, 3, 0, 0)
|
||||
/* 0x283C */ DEFINE_SFX(NA_SE_EV_SPEAR_FENCE, 0x30, 0, 0, 0)
|
||||
/* 0x283D */ DEFINE_SFX(NA_SE_EV_GANON_HORSE_NEIGH, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x283E */ DEFINE_SFX(NA_SE_EV_GANON_HORSE_GROAN, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x283F */ DEFINE_SFX(NA_SE_EV_FANTOM_WARP_S, 0x70, 3, 0, SFX_FLAG_4)
|
||||
/* 0x2840 */ DEFINE_SFX(NA_SE_EV_FANTOM_WARP_L, 0x60, 0, 0, SFX_FLAG_15)
|
||||
/* 0x2841 */ DEFINE_SFX(NA_SE_EV_FOUNTAIN, 0x30, 0, 0, SFX_FLAG_15)
|
||||
/* 0x2842 */ DEFINE_SFX(NA_SE_EV_KID_HORSE_WALK, 0x30, 0, 0, 0)
|
||||
/* 0x2843 */ DEFINE_SFX(NA_SE_EV_KID_HORSE_RUN, 0x30, 0, 0, 0)
|
||||
/* 0x2844 */ DEFINE_SFX(NA_SE_EV_KID_HORSE_NEIGH, 0x30, 0, 0, 0)
|
||||
/* 0x2845 */ DEFINE_SFX(NA_SE_EV_KID_HORSE_GROAN, 0x30, 0, 0, 0)
|
||||
/* 0x2846 */ DEFINE_SFX(NA_SE_EV_WHITE_OUT, 0x30, 3, 0, SFX_FLAG_13)
|
||||
/* 0x2847 */ DEFINE_SFX(NA_SE_EV_LIGHT_GATHER, 0x30, 0, 0, 0)
|
||||
/* 0x2848 */ DEFINE_SFX(NA_SE_EV_TREE_CUT, 0x30, 0, 0, 0)
|
||||
/* 0x2849 */ DEFINE_SFX(NA_SE_EV_VOLCANO, 0x30, 0, 0, SFX_FLAG_13 | SFX_FLAG_4)
|
||||
/* 0x284A */ DEFINE_SFX(NA_SE_EV_GUILLOTINE_UP, 0x30, 0, 0, 0)
|
||||
/* 0x284B */ DEFINE_SFX(NA_SE_EV_GUILLOTINE_BOUND, 0x30, 0, 0, 0)
|
||||
/* 0x284C */ DEFINE_SFX(NA_SE_EV_ROLLCUTTER_MOTOR, 0x30, 0, 0, 0)
|
||||
/* 0x284D */ DEFINE_SFX(NA_SE_EV_CHINETRAP_DOWN, 0x30, 0, 0, 0)
|
||||
/* 0x284E */ DEFINE_SFX(NA_SE_EV_PLANT_BROKEN, 0x30, 1, 0, 0)
|
||||
/* 0x284F */ DEFINE_SFX(NA_SE_EV_SHIP_BELL, 0x30, 0, 0, 0)
|
||||
/* 0x2850 */ DEFINE_SFX(NA_SE_EV_FLUTTER_FLAG, 0x30, 0, 0, 0)
|
||||
/* 0x2851 */ DEFINE_SFX(NA_SE_EV_TRAP_BOUND, 0x40, 0, 0, 0)
|
||||
/* 0x2852 */ DEFINE_SFX(NA_SE_EV_ROCK_BROKEN, 0x30, 2, 3, 0)
|
||||
/* 0x2853 */ DEFINE_SFX(NA_SE_EV_FANTOM_WARP_S2, 0x70, 2, 0, 0)
|
||||
/* 0x2854 */ DEFINE_SFX(NA_SE_EV_FANTOM_WARP_L2, 0x60, 2, 0, 0)
|
||||
/* 0x2855 */ DEFINE_SFX(NA_SE_EV_COFFIN_CAP_OPEN, 0x30, 0, 0, 0)
|
||||
/* 0x2856 */ DEFINE_SFX(NA_SE_EV_COFFIN_CAP_BOUND, 0x60, 1, 0, 0)
|
||||
/* 0x2857 */ DEFINE_SFX(NA_SE_EV_WIND_TRAP, 0x30, 2, 0, 0)
|
||||
/* 0x2858 */ DEFINE_SFX(NA_SE_EV_TRAP_OBJ_SLIDE, 0x30, 0, 0, 0)
|
||||
/* 0x2859 */ DEFINE_SFX(NA_SE_EV_METALDOOR_OPEN, 0x90, 3, 0, 0)
|
||||
/* 0x285A */ DEFINE_SFX(NA_SE_EV_METALDOOR_CLOSE, 0x90, 3, 0, 0)
|
||||
/* 0x285B */ DEFINE_SFX(NA_SE_EV_BURN_OUT, 0x30, 0, 0, 0)
|
||||
/* 0x285C */ DEFINE_SFX(NA_SE_EV_BLOCKSINK, 0x30, 2, 0, 0)
|
||||
/* 0x285D */ DEFINE_SFX(NA_SE_EV_CROWD, 0x30, 0, 0, SFX_FLAG_13 | SFX_FLAG_12 | SFX_FLAG_11)
|
||||
/* 0x285E */ DEFINE_SFX(NA_SE_EV_WATER_LEVEL_DOWN, 0x30, 0, 0, 0)
|
||||
/* 0x2823 */ DEFINE_SFX(CHAN_1BF9, NA_SE_EV_SPEAR_HIT, 0x30, 0, 0, 0)
|
||||
/* 0x2824 */ DEFINE_SFX(CHAN_1C14, NA_SE_EV_ELEVATOR_MOVE, 0x30, 0, 0, SFX_FLAG_11)
|
||||
/* 0x2825 */ DEFINE_SFX(CHAN_1C2E, NA_SE_EV_WARP_HOLE, 0x30, 0, 0, SFX_FLAG_15 | SFX_FLAG_11)
|
||||
/* 0x2826 */ DEFINE_SFX(CHAN_1C9E, NA_SE_EV_LINK_WARP, 0x30, 0, 0, SFX_FLAG_15)
|
||||
/* 0x2827 */ DEFINE_SFX(CHAN_1CFE, NA_SE_EV_PILLAR_SINK, 0x30, 2, 0, 0)
|
||||
/* 0x2828 */ DEFINE_SFX(CHAN_1D77, NA_SE_EV_WATER_WALL, 0x30, 0, 0, 0)
|
||||
/* 0x2829 */ DEFINE_SFX(CHAN_1D8D, NA_SE_EV_RIVER_STREAM_S, 0x30, 0, 0, 0)
|
||||
/* 0x282A */ DEFINE_SFX(CHAN_1DA1, NA_SE_EV_RIVER_STREAM_F, 0x30, 0, 0, 0)
|
||||
/* 0x282B */ DEFINE_SFX(CHAN_1DB5, NA_SE_EV_HORSE_LAND2, 0x30, 0, 0, 0)
|
||||
/* 0x282C */ DEFINE_SFX(CHAN_1DBF, NA_SE_EV_HORSE_SANDDUST, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x282D */ DEFINE_SFX(CHAN_1DD0, NA_SE_EV_DUMMY45, 0x30, 0, 0, 0)
|
||||
/* 0x282E */ DEFINE_SFX(CHAN_1DEE, NA_SE_EV_LIGHTNING, 0x30, 0, 0, 0)
|
||||
/* 0x282F */ DEFINE_SFX(CHAN_1E10, NA_SE_EV_BOMB_BOUND, 0x30, 0, 2, 0)
|
||||
/* 0x2830 */ DEFINE_SFX(CHAN_1E26, NA_SE_EV_WATERDROP, 0x60, 2, 1, 0)
|
||||
/* 0x2831 */ DEFINE_SFX(CHAN_1EAB, NA_SE_EV_TORCH, 0x10, 0, 0, 0)
|
||||
/* 0x2832 */ DEFINE_SFX(CHAN_1EBA, NA_SE_EV_MAGMA_LEVEL_M, 0xA0, 3, 0, 0)
|
||||
/* 0x2833 */ DEFINE_SFX(CHAN_1EEC, NA_SE_EV_FIRE_PILLAR, 0x30, 0, 0, 0)
|
||||
/* 0x2834 */ DEFINE_SFX(CHAN_1EFF, NA_SE_EV_FIRE_PLATE, 0x30, 0, 0, SFX_FLAG_4)
|
||||
/* 0x2835 */ DEFINE_SFX(CHAN_1F16, NA_SE_EV_BLOCK_BOUND, 0x30, 3, 0, 0)
|
||||
/* 0x2836 */ DEFINE_SFX(CHAN_1F27, NA_SE_EV_METALDOOR_SLIDE, 0x30, 0, 0, 0)
|
||||
/* 0x2837 */ DEFINE_SFX(CHAN_1F3D, NA_SE_EV_METALDOOR_STOP, 0x30, 0, 0, 0)
|
||||
/* 0x2838 */ DEFINE_SFX(CHAN_1F4B, NA_SE_EV_BLOCK_SHAKE, 0x30, 0, 0, 0)
|
||||
/* 0x2839 */ DEFINE_SFX(CHAN_1F65, NA_SE_EV_BOX_BREAK, 0x30, 2, 0, 0)
|
||||
/* 0x283A */ DEFINE_SFX(CHAN_1F91, NA_SE_EV_HAMMER_SWITCH, 0x30, 0, 0, 0)
|
||||
/* 0x283B */ DEFINE_SFX(CHAN_1FAB, NA_SE_EV_MAGMA_LEVEL_L, 0xA0, 3, 0, 0)
|
||||
/* 0x283C */ DEFINE_SFX(CHAN_1FDD, NA_SE_EV_SPEAR_FENCE, 0x30, 0, 0, 0)
|
||||
/* 0x283D */ DEFINE_SFX(CHAN_1FFD, NA_SE_EV_GANON_HORSE_NEIGH, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x283E */ DEFINE_SFX(CHAN_200F, NA_SE_EV_GANON_HORSE_GROAN, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x283F */ DEFINE_SFX(CHAN_2026, NA_SE_EV_FANTOM_WARP_S, 0x70, 3, 0, SFX_FLAG_4)
|
||||
/* 0x2840 */ DEFINE_SFX(CHAN_207E, NA_SE_EV_FANTOM_WARP_L, 0x60, 0, 0, SFX_FLAG_15)
|
||||
/* 0x2841 */ DEFINE_SFX(CHAN_20B5, NA_SE_EV_FOUNTAIN, 0x30, 0, 0, SFX_FLAG_15)
|
||||
/* 0x2842 */ DEFINE_SFX(CHAN_20CB, NA_SE_EV_KID_HORSE_WALK, 0x30, 0, 0, 0)
|
||||
/* 0x2843 */ DEFINE_SFX(CHAN_20D7, NA_SE_EV_KID_HORSE_RUN, 0x30, 0, 0, 0)
|
||||
/* 0x2844 */ DEFINE_SFX(CHAN_20E1, NA_SE_EV_KID_HORSE_NEIGH, 0x30, 0, 0, 0)
|
||||
/* 0x2845 */ DEFINE_SFX(CHAN_20EC, NA_SE_EV_KID_HORSE_GROAN, 0x30, 0, 0, 0)
|
||||
/* 0x2846 */ DEFINE_SFX(CHAN_20F5, NA_SE_EV_WHITE_OUT, 0x30, 3, 0, SFX_FLAG_13)
|
||||
/* 0x2847 */ DEFINE_SFX(CHAN_2118, NA_SE_EV_LIGHT_GATHER, 0x30, 0, 0, 0)
|
||||
/* 0x2848 */ DEFINE_SFX(CHAN_2156, NA_SE_EV_TREE_CUT, 0x30, 0, 0, 0)
|
||||
/* 0x2849 */ DEFINE_SFX(CHAN_2177, NA_SE_EV_VOLCANO, 0x30, 0, 0, SFX_FLAG_13 | SFX_FLAG_4)
|
||||
/* 0x284A */ DEFINE_SFX(CHAN_21C0, NA_SE_EV_GUILLOTINE_UP, 0x30, 0, 0, 0)
|
||||
/* 0x284B */ DEFINE_SFX(CHAN_21D7, NA_SE_EV_GUILLOTINE_BOUND, 0x30, 0, 0, 0)
|
||||
/* 0x284C */ DEFINE_SFX(CHAN_21FC, NA_SE_EV_ROLLCUTTER_MOTOR, 0x30, 0, 0, 0)
|
||||
/* 0x284D */ DEFINE_SFX(CHAN_220D, NA_SE_EV_CHINETRAP_DOWN, 0x30, 0, 0, 0)
|
||||
/* 0x284E */ DEFINE_SFX(CHAN_2225, NA_SE_EV_PLANT_BROKEN, 0x30, 1, 0, 0)
|
||||
/* 0x284F */ DEFINE_SFX(CHAN_2240, NA_SE_EV_SHIP_BELL, 0x30, 0, 0, 0)
|
||||
/* 0x2850 */ DEFINE_SFX(CHAN_2261, NA_SE_EV_FLUTTER_FLAG, 0x30, 0, 0, 0)
|
||||
/* 0x2851 */ DEFINE_SFX(CHAN_229D, NA_SE_EV_TRAP_BOUND, 0x40, 0, 0, 0)
|
||||
/* 0x2852 */ DEFINE_SFX(CHAN_22A4, NA_SE_EV_ROCK_BROKEN, 0x30, 2, 3, 0)
|
||||
/* 0x2853 */ DEFINE_SFX(CHAN_22BC, NA_SE_EV_FANTOM_WARP_S2, 0x70, 2, 0, 0)
|
||||
/* 0x2854 */ DEFINE_SFX(CHAN_22D0, NA_SE_EV_FANTOM_WARP_L2, 0x60, 2, 0, 0)
|
||||
/* 0x2855 */ DEFINE_SFX(CHAN_22E6, NA_SE_EV_COFFIN_CAP_OPEN, 0x30, 0, 0, 0)
|
||||
/* 0x2856 */ DEFINE_SFX(CHAN_22F5, NA_SE_EV_COFFIN_CAP_BOUND, 0x60, 1, 0, 0)
|
||||
/* 0x2857 */ DEFINE_SFX(CHAN_2302, NA_SE_EV_WIND_TRAP, 0x30, 2, 0, 0)
|
||||
/* 0x2858 */ DEFINE_SFX(CHAN_231C, NA_SE_EV_TRAP_OBJ_SLIDE, 0x30, 0, 0, 0)
|
||||
/* 0x2859 */ DEFINE_SFX(CHAN_2332, NA_SE_EV_METALDOOR_OPEN, 0x90, 3, 0, 0)
|
||||
/* 0x285A */ DEFINE_SFX(CHAN_2340, NA_SE_EV_METALDOOR_CLOSE, 0x90, 3, 0, 0)
|
||||
/* 0x285B */ DEFINE_SFX(CHAN_234E, NA_SE_EV_BURN_OUT, 0x30, 0, 0, 0)
|
||||
/* 0x285C */ DEFINE_SFX(CHAN_2374, NA_SE_EV_BLOCKSINK, 0x30, 2, 0, 0)
|
||||
/* 0x285D */ DEFINE_SFX(CHAN_2389, NA_SE_EV_CROWD, 0x30, 0, 0, SFX_FLAG_13 | SFX_FLAG_12 | SFX_FLAG_11)
|
||||
/* 0x285E */ DEFINE_SFX(CHAN_23A6, NA_SE_EV_WATER_LEVEL_DOWN, 0x30, 0, 0, 0)
|
||||
#if PLATFORM_N64
|
||||
/* 0x285F */ DEFINE_SFX(NA_SE_EV_NAVY_VANISH, 0x2C, 0, 0, 0)
|
||||
/* 0x285F */ DEFINE_SFX(CHAN_23D5, NA_SE_EV_NAVY_VANISH, 0x2C, 0, 0, 0)
|
||||
#else
|
||||
/* 0x285F */ DEFINE_SFX(NA_SE_EV_NAVY_VANISH, 0x30, 0, 0, 0)
|
||||
/* 0x285F */ DEFINE_SFX(CHAN_23D5, NA_SE_EV_NAVY_VANISH, 0x30, 0, 0, 0)
|
||||
#endif
|
||||
/* 0x2860 */ DEFINE_SFX(NA_SE_EV_LADDER_DOUND, 0x30, 3, 0, 0)
|
||||
/* 0x2861 */ DEFINE_SFX(NA_SE_EV_WEB_VIBRATION, 0x30, 0, 0, 0)
|
||||
/* 0x2862 */ DEFINE_SFX(NA_SE_EV_WEB_BROKEN, 0x30, 0, 0, 0)
|
||||
/* 0x2863 */ DEFINE_SFX(NA_SE_EV_ROLL_STAND, 0x30, 3, 0, 0)
|
||||
/* 0x2864 */ DEFINE_SFX(NA_SE_EV_BUYODOOR_OPEN, 0x30, 0, 0, 0)
|
||||
/* 0x2865 */ DEFINE_SFX(NA_SE_EV_BUYODOOR_CLOSE, 0x30, 0, 0, 0)
|
||||
/* 0x2866 */ DEFINE_SFX(NA_SE_EV_WOODDOOR_OPEN, 0x30, 0, 0, 0)
|
||||
/* 0x2867 */ DEFINE_SFX(NA_SE_EV_METALGATE_OPEN, 0x30, 0, 0, 0)
|
||||
/* 0x2868 */ DEFINE_SFX(NA_SE_IT_SCOOP_UP_WATER, 0x30, 0, 0, 0)
|
||||
/* 0x2869 */ DEFINE_SFX(NA_SE_EV_FISH_LEAP, 0x30, 0, 0, 0)
|
||||
/* 0x286A */ DEFINE_SFX(NA_SE_EV_KAKASHI_SWING, 0x30, 0, 0, 0)
|
||||
/* 0x286B */ DEFINE_SFX(NA_SE_EV_KAKASHI_ROLL, 0x30, 0, 0, 0)
|
||||
/* 0x286C */ DEFINE_SFX(NA_SE_EV_BOTTLE_CAP_OPEN, 0x30, 0, 0, 0)
|
||||
/* 0x286D */ DEFINE_SFX(NA_SE_EV_JABJAB_BREATHE, 0x30, 3, 0, SFX_FLAG_11)
|
||||
/* 0x286E */ DEFINE_SFX(NA_SE_EV_SPIRIT_STONE, 0x30, 0, 0, 0)
|
||||
/* 0x286F */ DEFINE_SFX(NA_SE_EV_TRIFORCE_FLASH, 0x30, 3, 0, 0)
|
||||
/* 0x2870 */ DEFINE_SFX(NA_SE_EV_FALL_DOWN_DIRT, 0x30, 0, 0, 0)
|
||||
/* 0x2871 */ DEFINE_SFX(NA_SE_EV_NAVY_FLY, 0x30, 0, 0, 0)
|
||||
/* 0x2872 */ DEFINE_SFX(NA_SE_EV_NAVY_CRASH, 0x30, 0, 0, 0)
|
||||
/* 0x2873 */ DEFINE_SFX(NA_SE_EV_WOOD_HIT, 0x30, 0, 0, 0)
|
||||
/* 0x2874 */ DEFINE_SFX(NA_SE_EV_SCOOPUP_WATER, 0x30, 0, 0, 0)
|
||||
/* 0x2875 */ DEFINE_SFX(NA_SE_EV_DROP_FALL, 0x30, 0, 0, 0)
|
||||
/* 0x2876 */ DEFINE_SFX(NA_SE_EV_WOOD_GEAR, 0x30, 2, 0, 0)
|
||||
/* 0x2877 */ DEFINE_SFX(NA_SE_EV_TREE_SWING, 0x30, 0, 0, 0)
|
||||
/* 0x2878 */ DEFINE_SFX(NA_SE_EV_HORSE_RUN_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x2879 */ DEFINE_SFX(NA_SE_EV_ELEVATOR_MOVE2, 0x30, 2, 0, 0)
|
||||
/* 0x287A */ DEFINE_SFX(NA_SE_EV_ELEVATOR_STOP, 0x30, 2, 0, 0)
|
||||
/* 0x287B */ DEFINE_SFX(NA_SE_EV_TRE_BOX_APPEAR, 0x30, 2, 0, 0)
|
||||
/* 0x287C */ DEFINE_SFX(NA_SE_EV_CHAIN_KEY_UNLOCK, 0x40, 0, 0, 0)
|
||||
/* 0x287D */ DEFINE_SFX(NA_SE_EV_SPINE_TRAP_MOVE, 0x1C, 0, 0, 0)
|
||||
/* 0x287E */ DEFINE_SFX(NA_SE_EV_HEALING, 0x30, 0, 0, 0)
|
||||
/* 0x287F */ DEFINE_SFX(NA_SE_EV_GREAT_FAIRY_APPEAR, 0x30, 0, 0, 0)
|
||||
/* 0x2880 */ DEFINE_SFX(NA_SE_EV_GREAT_FAIRY_VANISH, 0x30, 0, 0, 0)
|
||||
/* 0x2881 */ DEFINE_SFX(NA_SE_EV_RED_EYE, 0x30, 0, 0, 0)
|
||||
/* 0x2882 */ DEFINE_SFX(NA_SE_EV_ROLL_STAND_2, 0x30, 0, 0, 0)
|
||||
/* 0x2883 */ DEFINE_SFX(NA_SE_EV_WALL_SLIDE, 0x30, 0, 0, 0)
|
||||
/* 0x2884 */ DEFINE_SFX(NA_SE_EV_TRE_BOX_FLASH, 0x30, 0, 0, 0)
|
||||
/* 0x2885 */ DEFINE_SFX(NA_SE_EV_WINDMILL_LEVEL, 0x60, 0, 0, SFX_FLAG_9)
|
||||
/* 0x2886 */ DEFINE_SFX(NA_SE_EV_GOTO_HEAVEN, 0x30, 0, 0, SFX_FLAG_11)
|
||||
/* 0x2887 */ DEFINE_SFX(NA_SE_EV_POT_BROKEN, 0x30, 0, 0, 0)
|
||||
/* 0x2888 */ DEFINE_SFX(NA_SE_PL_PUT_DOWN_POT, 0x30, 0, 0, 0)
|
||||
/* 0x2889 */ DEFINE_SFX(NA_SE_EV_DIVE_INTO_WATER, 0x30, 0, 0, 0)
|
||||
/* 0x288A */ DEFINE_SFX(NA_SE_EV_JUMP_OUT_WATER, 0x30, 0, 0, 0)
|
||||
/* 0x288B */ DEFINE_SFX(NA_SE_EV_GOD_FLYING, 0x30, 3, 0, 0)
|
||||
/* 0x288C */ DEFINE_SFX(NA_SE_EV_TRIFORCE, 0x30, 0, 0, 0)
|
||||
/* 0x288D */ DEFINE_SFX(NA_SE_EV_AURORA, 0x30, 0, 0, 0)
|
||||
/* 0x288E */ DEFINE_SFX(NA_SE_EV_DEKU_DEATH, 0x30, 0, 0, 0)
|
||||
/* 0x288F */ DEFINE_SFX(NA_SE_EV_BUYOSTAND_RISING, 0x30, 3, 0, 0)
|
||||
/* 0x2890 */ DEFINE_SFX(NA_SE_EV_BUYOSTAND_FALL, 0x30, 3, 0, 0)
|
||||
/* 0x2891 */ DEFINE_SFX(NA_SE_EV_BUYOSHUTTER_OPEN, 0x30, 0, 0, SFX_FLAG_13)
|
||||
/* 0x2892 */ DEFINE_SFX(NA_SE_EV_BUYOSHUTTER_CLOSE, 0x30, 0, 0, SFX_FLAG_13)
|
||||
/* 0x2893 */ DEFINE_SFX(NA_SE_EV_STONEDOOR_STOP, 0x30, 3, 0, 0)
|
||||
/* 0x2894 */ DEFINE_SFX(NA_SE_EV_S_STONE_REVIVAL, 0x30, 0, 0, 0)
|
||||
/* 0x2895 */ DEFINE_SFX(NA_SE_EV_MEDAL_APPEAR_S, 0x30, 0, 0, 0)
|
||||
/* 0x2896 */ DEFINE_SFX(NA_SE_EV_HUMAN_BOUND, 0x30, 0, 2, 0)
|
||||
/* 0x2897 */ DEFINE_SFX(NA_SE_EV_MEDAL_APPEAR_L, 0x30, 0, 0, 0)
|
||||
/* 0x2898 */ DEFINE_SFX(NA_SE_EV_EARTHQUAKE, 0x30, 0, 0, 0)
|
||||
/* 0x2899 */ DEFINE_SFX(NA_SE_EV_SHUT_BY_CRYSTAL, 0x30, 0, 0, 0)
|
||||
/* 0x289A */ DEFINE_SFX(NA_SE_EV_GOD_LIGHTBALL_2, 0x30, 0, 0, 0)
|
||||
/* 0x289B */ DEFINE_SFX(NA_SE_EV_RUN_AROUND, 0x30, 0, 0, 0)
|
||||
/* 0x289C */ DEFINE_SFX(NA_SE_EV_CONSENTRATION, 0x30, 0, 0, SFX_FLAG_11)
|
||||
/* 0x289D */ DEFINE_SFX(NA_SE_EV_TIMETRIP_LIGHT, 0x30, 0, 0, SFX_FLAG_11)
|
||||
/* 0x289E */ DEFINE_SFX(NA_SE_EV_BUYOSTAND_STOP_A, 0x30, 2, 0, 0)
|
||||
/* 0x289F */ DEFINE_SFX(NA_SE_EV_BUYOSTAND_STOP_U, 0x30, 3, 0, 0)
|
||||
/* 0x28A0 */ DEFINE_SFX(NA_SE_EV_OBJECT_FALL, 0x30, 0, 0, 0)
|
||||
/* 0x28A1 */ DEFINE_SFX(NA_SE_EV_JUMP_CONC, 0x30, 0, 0, 0)
|
||||
/* 0x28A2 */ DEFINE_SFX(NA_SE_EV_ICE_MELT, 0x30, 0, 0, 0)
|
||||
/* 0x28A3 */ DEFINE_SFX(NA_SE_EV_FIRE_PILLAR_S, 0x30, 0, 0, 0)
|
||||
/* 0x28A4 */ DEFINE_SFX(NA_SE_EV_BLOCK_RISING, 0x20, 3, 0, 0)
|
||||
/* 0x28A5 */ DEFINE_SFX(NA_SE_EV_NABALL_VANISH, 0x30, 0, 0, 0)
|
||||
/* 0x28A6 */ DEFINE_SFX(NA_SE_EV_SARIA_MELODY, 0x30, 0, 0, SFX_FLAG_15)
|
||||
/* 0x28A7 */ DEFINE_SFX(NA_SE_EV_LINK_WARP_OUT, 0x30, 0, 0, 0)
|
||||
/* 0x28A8 */ DEFINE_SFX(NA_SE_EV_FIATY_HEAL, 0x30, 0, 0, 0)
|
||||
/* 0x28A9 */ DEFINE_SFX(NA_SE_EV_CHAIN_KEY_UNLOCK_B, 0x30, 0, 0, 0)
|
||||
/* 0x28AA */ DEFINE_SFX(NA_SE_EV_WOODBOX_BREAK, 0x30, 2, 0, 0)
|
||||
/* 0x28AB */ DEFINE_SFX(NA_SE_EV_PUT_DOWN_WOODBOX, 0x30, 0, 0, 0)
|
||||
/* 0x28AC */ DEFINE_SFX(NA_SE_EV_LAND_DIRT, 0x30, 0, 0, 0)
|
||||
/* 0x28AD */ DEFINE_SFX(NA_SE_EV_FLOOR_ROLLING, 0x30, 0, 0, 0)
|
||||
/* 0x28AE */ DEFINE_SFX(NA_SE_EV_DOG_CRY_EVENING, 0x30, 0, 0, 0)
|
||||
/* 0x28AF */ DEFINE_SFX(NA_SE_EV_JABJAB_HICCUP, 0x30, 0, 0, 0)
|
||||
/* 0x28B0 */ DEFINE_SFX(NA_SE_EV_NALE_MAGIC, 0x30, 0, 0, 0)
|
||||
/* 0x28B1 */ DEFINE_SFX(NA_SE_EV_FROG_JUMP, 0x30, 0, 0, 0)
|
||||
/* 0x28B2 */ DEFINE_SFX(NA_SE_EV_ICE_FREEZE, 0x30, 3, 0, 0)
|
||||
/* 0x28B3 */ DEFINE_SFX(NA_SE_EV_BURNING, 0x60, 3, 0, 0)
|
||||
/* 0x28B4 */ DEFINE_SFX(NA_SE_EV_WOODPLATE_BOUND, 0x30, 0, 2, 0)
|
||||
/* 0x28B5 */ DEFINE_SFX(NA_SE_EV_GORON_WATER_DROP, 0x30, 0, 0, SFX_FLAG_13)
|
||||
/* 0x28B6 */ DEFINE_SFX(NA_SE_EV_JABJAB_GROAN, 0x30, 0, 0, 0)
|
||||
/* 0x28B7 */ DEFINE_SFX(NA_SE_EV_DARUMA_VANISH, 0x30, 1, 0, 0)
|
||||
/* 0x28B8 */ DEFINE_SFX(NA_SE_EV_BIGBALL_ROLL, 0x30, 0, 0, 0)
|
||||
/* 0x28B9 */ DEFINE_SFX(NA_SE_EV_ELEVATOR_MOVE3, 0x30, 0, 0, 0)
|
||||
/* 0x28BA */ DEFINE_SFX(NA_SE_EV_DIAMOND_SWITCH, 0x30, 2, 0, 0)
|
||||
/* 0x28BB */ DEFINE_SFX(NA_SE_EV_FLAME_OF_FIRE, 0x30, 3, 0, 0)
|
||||
/* 0x28BC */ DEFINE_SFX(NA_SE_EV_RAINBOW_SHOWER, 0x30, 0, 0, 0)
|
||||
/* 0x28BD */ DEFINE_SFX(NA_SE_EV_FLYING_AIR, 0x30, 0, 0, 0)
|
||||
/* 0x28BE */ DEFINE_SFX(NA_SE_EV_PASS_AIR, 0x30, 0, 0, 0)
|
||||
/* 0x28BF */ DEFINE_SFX(NA_SE_EV_COME_UP_DEKU_JR, 0x30, 0, 0, 0)
|
||||
/* 0x28C0 */ DEFINE_SFX(NA_SE_EV_SAND_STORM, 0x30, 0, 0, 0)
|
||||
/* 0x28C1 */ DEFINE_SFX(NA_SE_EV_TRIFORCE_MARK, 0x30, 0, 0, 0)
|
||||
/* 0x28C2 */ DEFINE_SFX(NA_SE_EV_GRAVE_EXPLOSION, 0xA0, 3, 0, 0)
|
||||
/* 0x28C3 */ DEFINE_SFX(NA_SE_EV_LURE_MOVE_W, 0x30, 0, 0, 0)
|
||||
/* 0x28C4 */ DEFINE_SFX(NA_SE_EV_POT_MOVE_START, 0x30, 0, 0, 0)
|
||||
/* 0x28C5 */ DEFINE_SFX(NA_SE_EV_DIVE_INTO_WATER_L, 0x30, 0, 0, 0)
|
||||
/* 0x28C6 */ DEFINE_SFX(NA_SE_EV_OUT_OF_WATER_L, 0x30, 0, 0, 0)
|
||||
/* 0x28C7 */ DEFINE_SFX(NA_SE_EV_GANON_MANTLE, 0x30, 0, 0, 0)
|
||||
/* 0x28C8 */ DEFINE_SFX(NA_SE_EV_DIG_UP, 0x30, 0, 0, 0)
|
||||
/* 0x28C9 */ DEFINE_SFX(NA_SE_EV_WOOD_BOUND, 0x30, 0, 0, 0)
|
||||
/* 0x28CA */ DEFINE_SFX(NA_SE_EV_WATER_BUBBLE, 0x30, 0, 3, 0)
|
||||
/* 0x28CB */ DEFINE_SFX(NA_SE_EV_ICE_BROKEN, 0x30, 2, 0, 0)
|
||||
/* 0x28CC */ DEFINE_SFX(NA_SE_EV_FROG_GROW_UP, 0x30, 2, 0, 0)
|
||||
/* 0x28CD */ DEFINE_SFX(NA_SE_EV_WATER_CONVECTION, 0x30, 0, 0, 0)
|
||||
/* 0x28CE */ DEFINE_SFX(NA_SE_EV_GROUND_GATE_OPEN, 0x30, 3, 0, 0)
|
||||
/* 0x28CF */ DEFINE_SFX(NA_SE_EV_FACE_BREAKDOWN, 0x30, 3, 0, 0)
|
||||
/* 0x28D0 */ DEFINE_SFX(NA_SE_EV_FACE_EXPLOSION, 0x30, 0, 0, 0)
|
||||
/* 0x28D1 */ DEFINE_SFX(NA_SE_EV_FACE_CRUMBLE_SLOW, 0x30, 3, 2, SFX_FLAG_14)
|
||||
/* 0x28D2 */ DEFINE_SFX(NA_SE_EV_ROUND_TRAP_MOVE, 0x30, 0, 0, 0)
|
||||
/* 0x28D3 */ DEFINE_SFX(NA_SE_EV_HIT_SOUND, 0x30, 0, 0, 0)
|
||||
/* 0x28D4 */ DEFINE_SFX(NA_SE_EV_ICE_SWING, 0x30, 0, 0, 0)
|
||||
/* 0x28D5 */ DEFINE_SFX(NA_SE_EV_DOWN_TO_GROUND, 0x30, 0, 0, 0)
|
||||
/* 0x28D6 */ DEFINE_SFX(NA_SE_EV_KENJA_ENVIROMENT_0, 0x30, 0, 0, 0)
|
||||
/* 0x28D7 */ DEFINE_SFX(NA_SE_EV_KENJA_ENVIROMENT_1, 0x30, 0, 0, 0)
|
||||
/* 0x28D8 */ DEFINE_SFX(NA_SE_EV_SMALL_DOG_BARK, 0x80, 0, 0, 0)
|
||||
/* 0x28D9 */ DEFINE_SFX(NA_SE_EV_ZELDA_POWER, 0x60, 0, 0, 0)
|
||||
/* 0x28DA */ DEFINE_SFX(NA_SE_EV_RAIN, 0x90, 0, 0, 0)
|
||||
/* 0x28DB */ DEFINE_SFX(NA_SE_EV_IRON_DOOR_OPEN, 0x30, 0, 0, 0)
|
||||
/* 0x28DC */ DEFINE_SFX(NA_SE_EV_IRON_DOOR_CLOSE, 0x30, 0, 0, 0)
|
||||
/* 0x28DD */ DEFINE_SFX(NA_SE_EV_WHIRLPOOL, 0x30, 0, 0, 0)
|
||||
/* 0x28DE */ DEFINE_SFX(NA_SE_EV_TOWER_PARTS_BROKEN, 0x60, 3, 3, 0)
|
||||
/* 0x28DF */ DEFINE_SFX(NA_SE_EV_COW_CRY, 0x30, 0, 0, 0)
|
||||
/* 0x28E0 */ DEFINE_SFX(NA_SE_EV_METAL_BOX_BOUND, 0x30, 0, 0, 0)
|
||||
/* 0x28E1 */ DEFINE_SFX(NA_SE_EV_ELECTRIC_EXPLOSION, 0x30, 3, 0, 0)
|
||||
/* 0x28E2 */ DEFINE_SFX(NA_SE_EV_HEAVY_THROW, 0x30, 3, 0, 0)
|
||||
/* 0x28E3 */ DEFINE_SFX(NA_SE_EV_FROG_CRY_0, 0x30, 0, 0, 0)
|
||||
/* 0x28E4 */ DEFINE_SFX(NA_SE_EV_FROG_CRY_1, 0x30, 0, 0, 0)
|
||||
/* 0x28E5 */ DEFINE_SFX(NA_SE_EV_COW_CRY_LV, 0x30, 0, 0, 0)
|
||||
/* 0x28E6 */ DEFINE_SFX(NA_SE_EV_RONRON_DOOR_CLOSE, 0x30, 0, 0, 0)
|
||||
/* 0x28E7 */ DEFINE_SFX(NA_SE_EV_BUTTERFRY_TO_FAIRY, 0x30, 0, 0, 0)
|
||||
/* 0x28E8 */ DEFINE_SFX(NA_SE_EV_FIVE_COUNT_LUPY, 0xA0, 0, 0, SFX_FLAG_11)
|
||||
/* 0x28E9 */ DEFINE_SFX(NA_SE_EV_STONE_GROW_UP, 0x30, 0, 0, 0)
|
||||
/* 0x28EA */ DEFINE_SFX(NA_SE_EV_STONE_LAUNCH, 0x30, 0, 0, 0)
|
||||
/* 0x28EB */ DEFINE_SFX(NA_SE_EV_STONE_ROLLING, 0x30, 0, 0, 0)
|
||||
/* 0x28EC */ DEFINE_SFX(NA_SE_EV_TOGE_STICK_ROLLING, 0x30, 2, 0, 0)
|
||||
/* 0x28ED */ DEFINE_SFX(NA_SE_EV_TOWER_ENERGY, 0x30, 0, 0, 0)
|
||||
/* 0x28EE */ DEFINE_SFX(NA_SE_EV_TOWER_BARRIER, 0x30, 3, 0, 0)
|
||||
/* 0x28EF */ DEFINE_SFX(NA_SE_EV_CHIBI_WALK, 0x20, 0, 0, 0)
|
||||
/* 0x28F0 */ DEFINE_SFX(NA_SE_EV_KNIGHT_WALK, 0x30, 0, 0, 0)
|
||||
/* 0x28F1 */ DEFINE_SFX(NA_SE_EV_PILLAR_MOVE_STOP, 0x30, 0, 0, 0)
|
||||
/* 0x28F2 */ DEFINE_SFX(NA_SE_EV_ERUPTION_CLOUD, 0x30, 0, 0, 0)
|
||||
/* 0x28F3 */ DEFINE_SFX(NA_SE_EV_LINK_WARP_OUT_LV, 0x30, 0, 0, 0)
|
||||
/* 0x28F4 */ DEFINE_SFX(NA_SE_EV_LINK_WARP_IN, 0x30, 0, 0, 0)
|
||||
/* 0x28F5 */ DEFINE_SFX(NA_SE_EV_OCARINA_BMELO_0, 0x30, 0, 0, 0)
|
||||
/* 0x28F6 */ DEFINE_SFX(NA_SE_EV_OCARINA_BMELO_1, 0x30, 0, 0, 0)
|
||||
/* 0x28F7 */ DEFINE_SFX(NA_SE_EV_EXPLOSION_FOR_RENZOKU, 0x30, 0, 0, 0)
|
||||
/* 0x2860 */ DEFINE_SFX(CHAN_23EB, NA_SE_EV_LADDER_DOUND, 0x30, 3, 0, 0)
|
||||
/* 0x2861 */ DEFINE_SFX(CHAN_2401, NA_SE_EV_WEB_VIBRATION, 0x30, 0, 0, 0)
|
||||
/* 0x2862 */ DEFINE_SFX(CHAN_2416, NA_SE_EV_WEB_BROKEN, 0x30, 0, 0, 0)
|
||||
/* 0x2863 */ DEFINE_SFX(CHAN_243A, NA_SE_EV_ROLL_STAND, 0x30, 3, 0, 0)
|
||||
/* 0x2864 */ DEFINE_SFX(CHAN_245F, NA_SE_EV_BUYODOOR_OPEN, 0x30, 0, 0, 0)
|
||||
/* 0x2865 */ DEFINE_SFX(CHAN_2480, NA_SE_EV_BUYODOOR_CLOSE, 0x30, 0, 0, 0)
|
||||
/* 0x2866 */ DEFINE_SFX(CHAN_24A1, NA_SE_EV_WOODDOOR_OPEN, 0x30, 0, 0, 0)
|
||||
/* 0x2867 */ DEFINE_SFX(CHAN_24AD, NA_SE_EV_METALGATE_OPEN, 0x30, 0, 0, 0)
|
||||
/* 0x2868 */ DEFINE_SFX(CHAN_24BD, NA_SE_IT_SCOOP_UP_WATER, 0x30, 0, 0, 0)
|
||||
/* 0x2869 */ DEFINE_SFX(CHAN_24CB, NA_SE_EV_FISH_LEAP, 0x30, 0, 0, 0)
|
||||
/* 0x286A */ DEFINE_SFX(CHAN_24DF, NA_SE_EV_KAKASHI_SWING, 0x30, 0, 0, 0)
|
||||
/* 0x286B */ DEFINE_SFX(CHAN_24F0, NA_SE_EV_KAKASHI_ROLL, 0x30, 0, 0, 0)
|
||||
/* 0x286C */ DEFINE_SFX(CHAN_2502, NA_SE_EV_BOTTLE_CAP_OPEN, 0x30, 0, 0, 0)
|
||||
/* 0x286D */ DEFINE_SFX(CHAN_250E, NA_SE_EV_JABJAB_BREATHE, 0x30, 3, 0, SFX_FLAG_11)
|
||||
/* 0x286E */ DEFINE_SFX(CHAN_2531, NA_SE_EV_SPIRIT_STONE, 0x30, 0, 0, 0)
|
||||
/* 0x286F */ DEFINE_SFX(CHAN_2554, NA_SE_EV_TRIFORCE_FLASH, 0x30, 3, 0, 0)
|
||||
/* 0x2870 */ DEFINE_SFX(CHAN_256B, NA_SE_EV_FALL_DOWN_DIRT, 0x30, 0, 0, 0)
|
||||
/* 0x2871 */ DEFINE_SFX(CHAN_2582, NA_SE_EV_NAVY_FLY, 0x30, 0, 0, 0)
|
||||
/* 0x2872 */ DEFINE_SFX(CHAN_2597, NA_SE_EV_NAVY_CRASH, 0x30, 0, 0, 0)
|
||||
/* 0x2873 */ DEFINE_SFX(CHAN_25C6, NA_SE_EV_WOOD_HIT, 0x30, 0, 0, 0)
|
||||
/* 0x2874 */ DEFINE_SFX(CHAN_25D4, NA_SE_EV_SCOOPUP_WATER, 0x30, 0, 0, 0)
|
||||
/* 0x2875 */ DEFINE_SFX(CHAN_25FF, NA_SE_EV_DROP_FALL, 0x30, 0, 0, 0)
|
||||
/* 0x2876 */ DEFINE_SFX(CHAN_2619, NA_SE_EV_WOOD_GEAR, 0x30, 2, 0, 0)
|
||||
/* 0x2877 */ DEFINE_SFX(CHAN_262A, NA_SE_EV_TREE_SWING, 0x30, 0, 0, 0)
|
||||
/* 0x2878 */ DEFINE_SFX(CHAN_264B, NA_SE_EV_HORSE_RUN_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x2879 */ DEFINE_SFX(CHAN_2656, NA_SE_EV_ELEVATOR_MOVE2, 0x30, 2, 0, 0)
|
||||
/* 0x287A */ DEFINE_SFX(CHAN_2667, NA_SE_EV_ELEVATOR_STOP, 0x30, 2, 0, 0)
|
||||
/* 0x287B */ DEFINE_SFX(CHAN_2691, NA_SE_EV_TRE_BOX_APPEAR, 0x30, 2, 0, 0)
|
||||
/* 0x287C */ DEFINE_SFX(CHAN_26CF, NA_SE_EV_CHAIN_KEY_UNLOCK, 0x40, 0, 0, 0)
|
||||
/* 0x287D */ DEFINE_SFX(CHAN_26E9, NA_SE_EV_SPINE_TRAP_MOVE, 0x1C, 0, 0, 0)
|
||||
/* 0x287E */ DEFINE_SFX(CHAN_2700, NA_SE_EV_HEALING, 0x30, 0, 0, 0)
|
||||
/* 0x287F */ DEFINE_SFX(CHAN_272F, NA_SE_EV_GREAT_FAIRY_APPEAR, 0x30, 0, 0, 0)
|
||||
/* 0x2880 */ DEFINE_SFX(CHAN_274E, NA_SE_EV_GREAT_FAIRY_VANISH, 0x30, 0, 0, 0)
|
||||
/* 0x2881 */ DEFINE_SFX(CHAN_2752, NA_SE_EV_RED_EYE, 0x30, 0, 0, 0)
|
||||
/* 0x2882 */ DEFINE_SFX(CHAN_2764, NA_SE_EV_ROLL_STAND_2, 0x30, 0, 0, 0)
|
||||
/* 0x2883 */ DEFINE_SFX(CHAN_2776, NA_SE_EV_WALL_SLIDE, 0x30, 0, 0, 0)
|
||||
/* 0x2884 */ DEFINE_SFX(CHAN_278C, NA_SE_EV_TRE_BOX_FLASH, 0x30, 0, 0, 0)
|
||||
/* 0x2885 */ DEFINE_SFX(CHAN_279F, NA_SE_EV_WINDMILL_LEVEL, 0x60, 0, 0, SFX_FLAG_9)
|
||||
/* 0x2886 */ DEFINE_SFX(CHAN_27B0, NA_SE_EV_GOTO_HEAVEN, 0x30, 0, 0, SFX_FLAG_11)
|
||||
/* 0x2887 */ DEFINE_SFX(CHAN_27DD, NA_SE_EV_POT_BROKEN, 0x30, 0, 0, 0)
|
||||
/* 0x2888 */ DEFINE_SFX(CHAN_27F0, NA_SE_PL_PUT_DOWN_POT, 0x30, 0, 0, 0)
|
||||
/* 0x2889 */ DEFINE_SFX(CHAN_06CD, NA_SE_EV_DIVE_INTO_WATER, 0x30, 0, 0, 0)
|
||||
/* 0x288A */ DEFINE_SFX(CHAN_06E1, NA_SE_EV_JUMP_OUT_WATER, 0x30, 0, 0, 0)
|
||||
/* 0x288B */ DEFINE_SFX(CHAN_27FC, NA_SE_EV_GOD_FLYING, 0x30, 3, 0, 0)
|
||||
/* 0x288C */ DEFINE_SFX(CHAN_2829, NA_SE_EV_TRIFORCE, 0x30, 0, 0, 0)
|
||||
/* 0x288D */ DEFINE_SFX(CHAN_2848, NA_SE_EV_AURORA, 0x30, 0, 0, 0)
|
||||
/* 0x288E */ DEFINE_SFX(CHAN_2862, NA_SE_EV_DEKU_DEATH, 0x30, 0, 0, 0)
|
||||
/* 0x288F */ DEFINE_SFX(CHAN_288B, NA_SE_EV_BUYOSTAND_RISING, 0x30, 3, 0, 0)
|
||||
/* 0x2890 */ DEFINE_SFX(CHAN_28B4, NA_SE_EV_BUYOSTAND_FALL, 0x30, 3, 0, 0)
|
||||
/* 0x2891 */ DEFINE_SFX(CHAN_28BC, NA_SE_EV_BUYOSHUTTER_OPEN, 0x30, 0, 0, SFX_FLAG_13)
|
||||
/* 0x2892 */ DEFINE_SFX(CHAN_28DC, NA_SE_EV_BUYOSHUTTER_CLOSE, 0x30, 0, 0, SFX_FLAG_13)
|
||||
/* 0x2893 */ DEFINE_SFX(CHAN_28E0, NA_SE_EV_STONEDOOR_STOP, 0x30, 3, 0, 0)
|
||||
/* 0x2894 */ DEFINE_SFX(CHAN_28E7, NA_SE_EV_S_STONE_REVIVAL, 0x30, 0, 0, 0)
|
||||
/* 0x2895 */ DEFINE_SFX(CHAN_2933, NA_SE_EV_MEDAL_APPEAR_S, 0x30, 0, 0, 0)
|
||||
/* 0x2896 */ DEFINE_SFX(CHAN_2951, NA_SE_EV_HUMAN_BOUND, 0x30, 0, 2, 0)
|
||||
/* 0x2897 */ DEFINE_SFX(CHAN_296A, NA_SE_EV_MEDAL_APPEAR_L, 0x30, 0, 0, 0)
|
||||
/* 0x2898 */ DEFINE_SFX(CHAN_298E, NA_SE_EV_EARTHQUAKE, 0x30, 0, 0, 0)
|
||||
/* 0x2899 */ DEFINE_SFX(CHAN_29C5, NA_SE_EV_SHUT_BY_CRYSTAL, 0x30, 0, 0, 0)
|
||||
/* 0x289A */ DEFINE_SFX(CHAN_29F0, NA_SE_EV_GOD_LIGHTBALL_2, 0x30, 0, 0, 0)
|
||||
/* 0x289B */ DEFINE_SFX(CHAN_2A15, NA_SE_EV_RUN_AROUND, 0x30, 0, 0, 0)
|
||||
/* 0x289C */ DEFINE_SFX(CHAN_2A15, NA_SE_EV_CONSENTRATION, 0x30, 0, 0, SFX_FLAG_11)
|
||||
/* 0x289D */ DEFINE_SFX(CHAN_2A5C, NA_SE_EV_TIMETRIP_LIGHT, 0x30, 0, 0, SFX_FLAG_11)
|
||||
/* 0x289E */ DEFINE_SFX(CHAN_2A97, NA_SE_EV_BUYOSTAND_STOP_A, 0x30, 2, 0, 0)
|
||||
/* 0x289F */ DEFINE_SFX(CHAN_2AB2, NA_SE_EV_BUYOSTAND_STOP_U, 0x30, 3, 0, 0)
|
||||
/* 0x28A0 */ DEFINE_SFX(CHAN_2ACC, NA_SE_EV_OBJECT_FALL, 0x30, 0, 0, 0)
|
||||
/* 0x28A1 */ DEFINE_SFX(CHAN_2AE4, NA_SE_EV_JUMP_CONC, 0x30, 0, 0, 0)
|
||||
/* 0x28A2 */ DEFINE_SFX(CHAN_2AEB, NA_SE_EV_ICE_MELT, 0x30, 0, 0, 0)
|
||||
/* 0x28A3 */ DEFINE_SFX(CHAN_2B10, NA_SE_EV_FIRE_PILLAR_S, 0x30, 0, 0, 0)
|
||||
/* 0x28A4 */ DEFINE_SFX(CHAN_2B14, NA_SE_EV_BLOCK_RISING, 0x20, 3, 0, 0)
|
||||
/* 0x28A5 */ DEFINE_SFX(CHAN_2B2A, NA_SE_EV_NABALL_VANISH, 0x30, 0, 0, 0)
|
||||
/* 0x28A6 */ DEFINE_SFX(CHAN_2B49, NA_SE_EV_SARIA_MELODY, 0x30, 0, 0, SFX_FLAG_15)
|
||||
/* 0x28A7 */ DEFINE_SFX(CHAN_2B61, NA_SE_EV_LINK_WARP_OUT, 0x30, 0, 0, 0)
|
||||
/* 0x28A8 */ DEFINE_SFX(CHAN_2B75, NA_SE_EV_FIATY_HEAL, 0x30, 0, 0, 0)
|
||||
/* 0x28A9 */ DEFINE_SFX(CHAN_2BB0, NA_SE_EV_CHAIN_KEY_UNLOCK_B, 0x30, 0, 0, 0)
|
||||
/* 0x28AA */ DEFINE_SFX(CHAN_2BD2, NA_SE_EV_WOODBOX_BREAK, 0x30, 2, 0, 0)
|
||||
/* 0x28AB */ DEFINE_SFX(CHAN_2BE1, NA_SE_EV_PUT_DOWN_WOODBOX, 0x30, 0, 0, 0)
|
||||
/* 0x28AC */ DEFINE_SFX(CHAN_2BEE, NA_SE_EV_LAND_DIRT, 0x30, 0, 0, 0)
|
||||
/* 0x28AD */ DEFINE_SFX(CHAN_2BF5, NA_SE_EV_FLOOR_ROLLING, 0x30, 0, 0, 0)
|
||||
/* 0x28AE */ DEFINE_SFX(CHAN_2BFE, NA_SE_EV_DOG_CRY_EVENING, 0x30, 0, 0, 0)
|
||||
/* 0x28AF */ DEFINE_SFX(CHAN_2C0D, NA_SE_EV_JABJAB_HICCUP, 0x30, 0, 0, 0)
|
||||
/* 0x28B0 */ DEFINE_SFX(CHAN_0F8D, NA_SE_EV_NALE_MAGIC, 0x30, 0, 0, 0)
|
||||
/* 0x28B1 */ DEFINE_SFX(CHAN_2C19, NA_SE_EV_FROG_JUMP, 0x30, 0, 0, 0)
|
||||
/* 0x28B2 */ DEFINE_SFX(CHAN_2C38, NA_SE_EV_ICE_FREEZE, 0x30, 3, 0, 0)
|
||||
/* 0x28B3 */ DEFINE_SFX(CHAN_2C54, NA_SE_EV_BURNING, 0x60, 3, 0, 0)
|
||||
/* 0x28B4 */ DEFINE_SFX(CHAN_2C75, NA_SE_EV_WOODPLATE_BOUND, 0x30, 0, 2, 0)
|
||||
/* 0x28B5 */ DEFINE_SFX(CHAN_2C85, NA_SE_EV_GORON_WATER_DROP, 0x30, 0, 0, SFX_FLAG_13)
|
||||
/* 0x28B6 */ DEFINE_SFX(CHAN_2C99, NA_SE_EV_JABJAB_GROAN, 0x30, 0, 0, 0)
|
||||
/* 0x28B7 */ DEFINE_SFX(CHAN_2CAF, NA_SE_EV_DARUMA_VANISH, 0x30, 1, 0, 0)
|
||||
/* 0x28B8 */ DEFINE_SFX(CHAN_2CBB, NA_SE_EV_BIGBALL_ROLL, 0x30, 0, 0, 0)
|
||||
/* 0x28B9 */ DEFINE_SFX(CHAN_2CD6, NA_SE_EV_ELEVATOR_MOVE3, 0x30, 0, 0, 0)
|
||||
/* 0x28BA */ DEFINE_SFX(CHAN_2CF0, NA_SE_EV_DIAMOND_SWITCH, 0x30, 2, 0, 0)
|
||||
/* 0x28BB */ DEFINE_SFX(CHAN_2CF6, NA_SE_EV_FLAME_OF_FIRE, 0x30, 3, 0, 0)
|
||||
/* 0x28BC */ DEFINE_SFX(CHAN_2CFE, NA_SE_EV_RAINBOW_SHOWER, 0x30, 0, 0, 0)
|
||||
/* 0x28BD */ DEFINE_SFX(CHAN_2D13, NA_SE_EV_FLYING_AIR, 0x30, 0, 0, 0)
|
||||
/* 0x28BE */ DEFINE_SFX(CHAN_2D36, NA_SE_EV_PASS_AIR, 0x30, 0, 0, 0)
|
||||
/* 0x28BF */ DEFINE_SFX(CHAN_2D4E, NA_SE_EV_COME_UP_DEKU_JR, 0x30, 0, 0, 0)
|
||||
/* 0x28C0 */ DEFINE_SFX(CHAN_2D63, NA_SE_EV_SAND_STORM, 0x30, 0, 0, 0)
|
||||
/* 0x28C1 */ DEFINE_SFX(CHAN_2D85, NA_SE_EV_TRIFORCE_MARK, 0x30, 0, 0, 0)
|
||||
/* 0x28C2 */ DEFINE_SFX(CHAN_2D9D, NA_SE_EV_GRAVE_EXPLOSION, 0xA0, 3, 0, 0)
|
||||
/* 0x28C3 */ DEFINE_SFX(CHAN_06F2, NA_SE_EV_LURE_MOVE_W, 0x30, 0, 0, 0)
|
||||
/* 0x28C4 */ DEFINE_SFX(CHAN_0989, NA_SE_EV_POT_MOVE_START, 0x30, 0, 0, 0)
|
||||
/* 0x28C5 */ DEFINE_SFX(CHAN_2DA9, NA_SE_EV_DIVE_INTO_WATER_L, 0x30, 0, 0, 0)
|
||||
/* 0x28C6 */ DEFINE_SFX(CHAN_2DAD, NA_SE_EV_OUT_OF_WATER_L, 0x30, 0, 0, 0)
|
||||
/* 0x28C7 */ DEFINE_SFX(CHAN_2DC3, NA_SE_EV_GANON_MANTLE, 0x30, 0, 0, 0)
|
||||
/* 0x28C8 */ DEFINE_SFX(CHAN_2DD1, NA_SE_EV_DIG_UP, 0x30, 0, 0, 0)
|
||||
/* 0x28C9 */ DEFINE_SFX(CHAN_2BDE, NA_SE_EV_WOOD_BOUND, 0x30, 0, 0, 0)
|
||||
/* 0x28CA */ DEFINE_SFX(CHAN_2DD8, NA_SE_EV_WATER_BUBBLE, 0x30, 0, 3, 0)
|
||||
/* 0x28CB */ DEFINE_SFX(CHAN_2DE4, NA_SE_EV_ICE_BROKEN, 0x30, 2, 0, 0)
|
||||
/* 0x28CC */ DEFINE_SFX(CHAN_2DFC, NA_SE_EV_FROG_GROW_UP, 0x30, 2, 0, 0)
|
||||
/* 0x28CD */ DEFINE_SFX(CHAN_2E14, NA_SE_EV_WATER_CONVECTION, 0x30, 0, 0, 0)
|
||||
/* 0x28CE */ DEFINE_SFX(CHAN_2E1D, NA_SE_EV_GROUND_GATE_OPEN, 0x30, 3, 0, 0)
|
||||
/* 0x28CF */ DEFINE_SFX(CHAN_2E29, NA_SE_EV_FACE_BREAKDOWN, 0x30, 3, 0, 0)
|
||||
/* 0x28D0 */ DEFINE_SFX(CHAN_2E30, NA_SE_EV_FACE_EXPLOSION, 0x30, 0, 0, 0)
|
||||
/* 0x28D1 */ DEFINE_SFX(CHAN_2E37, NA_SE_EV_FACE_CRUMBLE_SLOW, 0x30, 3, 2, SFX_FLAG_14)
|
||||
/* 0x28D2 */ DEFINE_SFX(CHAN_2E3E, NA_SE_EV_ROUND_TRAP_MOVE, 0x30, 0, 0, 0)
|
||||
/* 0x28D3 */ DEFINE_SFX(CHAN_5C64, NA_SE_EV_HIT_SOUND, 0x30, 0, 0, 0)
|
||||
/* 0x28D4 */ DEFINE_SFX(CHAN_2E4F, NA_SE_EV_ICE_SWING, 0x30, 0, 0, 0)
|
||||
/* 0x28D5 */ DEFINE_SFX(CHAN_2E5B, NA_SE_EV_DOWN_TO_GROUND, 0x30, 0, 0, 0)
|
||||
/* 0x28D6 */ DEFINE_SFX(CHAN_2E60, NA_SE_EV_KENJA_ENVIROMENT_0, 0x30, 0, 0, 0)
|
||||
/* 0x28D7 */ DEFINE_SFX(CHAN_2E6E, NA_SE_EV_KENJA_ENVIROMENT_1, 0x30, 0, 0, 0)
|
||||
/* 0x28D8 */ DEFINE_SFX(CHAN_2E86, NA_SE_EV_SMALL_DOG_BARK, 0x80, 0, 0, 0)
|
||||
/* 0x28D9 */ DEFINE_SFX(CHAN_2E92, NA_SE_EV_ZELDA_POWER, 0x60, 0, 0, 0)
|
||||
/* 0x28DA */ DEFINE_SFX(CHAN_2EB6, NA_SE_EV_RAIN, 0x90, 0, 0, 0)
|
||||
/* 0x28DB */ DEFINE_SFX(CHAN_2ECF, NA_SE_EV_IRON_DOOR_OPEN, 0x30, 0, 0, 0)
|
||||
/* 0x28DC */ DEFINE_SFX(CHAN_2EDB, NA_SE_EV_IRON_DOOR_CLOSE, 0x30, 0, 0, 0)
|
||||
/* 0x28DD */ DEFINE_SFX(CHAN_2EE7, NA_SE_EV_WHIRLPOOL, 0x30, 0, 0, 0)
|
||||
/* 0x28DE */ DEFINE_SFX(CHAN_2EEE, NA_SE_EV_TOWER_PARTS_BROKEN, 0x60, 3, 3, 0)
|
||||
/* 0x28DF */ DEFINE_SFX(CHAN_2F1A, NA_SE_EV_COW_CRY, 0x30, 0, 0, 0)
|
||||
/* 0x28E0 */ DEFINE_SFX(CHAN_2F26, NA_SE_EV_METAL_BOX_BOUND, 0x30, 0, 0, 0)
|
||||
/* 0x28E1 */ DEFINE_SFX(CHAN_2F43, NA_SE_EV_ELECTRIC_EXPLOSION, 0x30, 3, 0, 0)
|
||||
/* 0x28E2 */ DEFINE_SFX(CHAN_2D4E, NA_SE_EV_HEAVY_THROW, 0x30, 3, 0, 0)
|
||||
/* 0x28E3 */ DEFINE_SFX(CHAN_2F4A, NA_SE_EV_FROG_CRY_0, 0x30, 0, 0, 0)
|
||||
/* 0x28E4 */ DEFINE_SFX(CHAN_2F60, NA_SE_EV_FROG_CRY_1, 0x30, 0, 0, 0)
|
||||
/* 0x28E5 */ DEFINE_SFX(CHAN_2F76, NA_SE_EV_COW_CRY_LV, 0x30, 0, 0, 0)
|
||||
/* 0x28E6 */ DEFINE_SFX(CHAN_2FB8, NA_SE_EV_RONRON_DOOR_CLOSE, 0x30, 0, 0, 0)
|
||||
/* 0x28E7 */ DEFINE_SFX(CHAN_2FC5, NA_SE_EV_BUTTERFRY_TO_FAIRY, 0x30, 0, 0, 0)
|
||||
/* 0x28E8 */ DEFINE_SFX(CHAN_5E6B, NA_SE_EV_FIVE_COUNT_LUPY, 0xA0, 0, 0, SFX_FLAG_11)
|
||||
/* 0x28E9 */ DEFINE_SFX(CHAN_2FEA, NA_SE_EV_STONE_GROW_UP, 0x30, 0, 0, 0)
|
||||
/* 0x28EA */ DEFINE_SFX(CHAN_2FFC, NA_SE_EV_STONE_LAUNCH, 0x30, 0, 0, 0)
|
||||
/* 0x28EB */ DEFINE_SFX(CHAN_1B14, NA_SE_EV_STONE_ROLLING, 0x30, 0, 0, 0)
|
||||
/* 0x28EC */ DEFINE_SFX(CHAN_3002, NA_SE_EV_TOGE_STICK_ROLLING, 0x30, 2, 0, 0)
|
||||
/* 0x28ED */ DEFINE_SFX(CHAN_300F, NA_SE_EV_TOWER_ENERGY, 0x30, 0, 0, 0)
|
||||
/* 0x28EE */ DEFINE_SFX(CHAN_303C, NA_SE_EV_TOWER_BARRIER, 0x30, 3, 0, 0)
|
||||
/* 0x28EF */ DEFINE_SFX(CHAN_3081, NA_SE_EV_CHIBI_WALK, 0x20, 0, 0, 0)
|
||||
/* 0x28F0 */ DEFINE_SFX(CHAN_308F, NA_SE_EV_KNIGHT_WALK, 0x30, 0, 0, 0)
|
||||
/* 0x28F1 */ DEFINE_SFX(CHAN_30AB, NA_SE_EV_PILLAR_MOVE_STOP, 0x30, 0, 0, 0)
|
||||
/* 0x28F2 */ DEFINE_SFX(CHAN_2D4E, NA_SE_EV_ERUPTION_CLOUD, 0x30, 0, 0, 0)
|
||||
/* 0x28F3 */ DEFINE_SFX(CHAN_2F4A, NA_SE_EV_LINK_WARP_OUT_LV, 0x30, 0, 0, 0)
|
||||
/* 0x28F4 */ DEFINE_SFX(CHAN_2F60, NA_SE_EV_LINK_WARP_IN, 0x30, 0, 0, 0)
|
||||
/* 0x28F5 */ DEFINE_SFX(CHAN_2F76, NA_SE_EV_OCARINA_BMELO_0, 0x30, 0, 0, 0)
|
||||
/* 0x28F6 */ DEFINE_SFX(CHAN_2FB8, NA_SE_EV_OCARINA_BMELO_1, 0x30, 0, 0, 0)
|
||||
/* 0x28F7 */ DEFINE_SFX(CHAN_2FC5, NA_SE_EV_EXPLOSION_FOR_RENZOKU, 0x30, 0, 0, 0)
|
||||
|
@ -2,95 +2,94 @@
|
||||
* Sfx Item Bank
|
||||
*
|
||||
* DEFINE_SFX should be used for all sfx define in the item bank from sequence 0
|
||||
* - Argument 0: Channel name for sequence 0
|
||||
* - Argument 1: Enum value for this sfx
|
||||
* - Argument 2: Importance for deciding which sfx to prioritize. Higher values have greater importance
|
||||
* - Argument 3: Slows the decay of volume with distance (a 2-bit number ranging from 0-3)
|
||||
* - Argument 4: Applies increasingly random offsets to frequency (a 2-bit number ranging from 0-3)
|
||||
* - Argument 5: Various flags to add properties to the sfx
|
||||
*
|
||||
* WARNING: entries must align with the table defined for the item bank in sequence 0
|
||||
*/
|
||||
/* 0x1800 */ DEFINE_SFX(NA_SE_IT_SWORD_IMPACT, 0x30, 0, 1, SFX_FLAG_15)
|
||||
/* 0x1801 */ DEFINE_SFX(NA_SE_IT_SWORD_SWING, 0x30, 0, 1, 0)
|
||||
/* 0x1802 */ DEFINE_SFX(NA_SE_IT_SWORD_PUTAWAY, 0x30, 0, 0, 0)
|
||||
/* 0x1803 */ DEFINE_SFX(NA_SE_IT_SWORD_PICKOUT, 0x30, 0, 0, 0)
|
||||
/* 0x1804 */ DEFINE_SFX(NA_SE_IT_ARROW_SHOT, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x1805 */ DEFINE_SFX(NA_SE_IT_BOOMERANG_THROW, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x1806 */ DEFINE_SFX(NA_SE_IT_SHIELD_BOUND, 0x60, 3, 2, 0)
|
||||
/* 0x1807 */ DEFINE_SFX(NA_SE_IT_BOW_DRAW, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x1808 */ DEFINE_SFX(NA_SE_IT_SHIELD_REFLECT_SW, 0x80, 3, 1, 0)
|
||||
/* 0x1809 */ DEFINE_SFX(NA_SE_IT_ARROW_STICK_HRAD, 0x30, 0, 0, 0)
|
||||
/* 0x180A */ DEFINE_SFX(NA_SE_IT_HAMMER_HIT, 0x30, 0, 1, 0)
|
||||
/* 0x180B */ DEFINE_SFX(NA_SE_IT_HOOKSHOT_CHAIN, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x180C */ DEFINE_SFX(NA_SE_IT_SHIELD_REFLECT_MG, 0x30, 1, 0, SFX_FLAG_10)
|
||||
/* 0x180D */ DEFINE_SFX(NA_SE_IT_BOMB_IGNIT, 0x50, 0, 0, 0)
|
||||
/* 0x180E */ DEFINE_SFX(NA_SE_IT_BOMB_EXPLOSION, 0x90, 2, 0, 0)
|
||||
/* 0x180F */ DEFINE_SFX(NA_SE_IT_BOMB_UNEXPLOSION, 0x50, 2, 0, 0)
|
||||
/* 0x1810 */ DEFINE_SFX(NA_SE_IT_BOOMERANG_FLY, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x1811 */ DEFINE_SFX(NA_SE_IT_SWORD_STRIKE, 0x40, 2, 0, 0)
|
||||
/* 0x1812 */ DEFINE_SFX(NA_SE_IT_HAMMER_SWING, 0x30, 0, 1, 0)
|
||||
/* 0x1800 */ DEFINE_SFX(CHAN_0F83, NA_SE_IT_SWORD_IMPACT, 0x30, 0, 1, SFX_FLAG_15)
|
||||
/* 0x1801 */ DEFINE_SFX(CHAN_0F8D, NA_SE_IT_SWORD_SWING, 0x30, 0, 1, 0)
|
||||
/* 0x1802 */ DEFINE_SFX(CHAN_0F9B, NA_SE_IT_SWORD_PUTAWAY, 0x30, 0, 0, 0)
|
||||
/* 0x1803 */ DEFINE_SFX(CHAN_0FA5, NA_SE_IT_SWORD_PICKOUT, 0x30, 0, 0, 0)
|
||||
/* 0x1804 */ DEFINE_SFX(CHAN_0FAF, NA_SE_IT_ARROW_SHOT, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x1805 */ DEFINE_SFX(CHAN_0FB9, NA_SE_IT_BOOMERANG_THROW, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x1806 */ DEFINE_SFX(CHAN_0FCB, NA_SE_IT_SHIELD_BOUND, 0x60, 3, 2, 0)
|
||||
/* 0x1807 */ DEFINE_SFX(CHAN_0FDB, NA_SE_IT_BOW_DRAW, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x1808 */ DEFINE_SFX(CHAN_0FE9, NA_SE_IT_SHIELD_REFLECT_SW, 0x80, 3, 1, 0)
|
||||
/* 0x1809 */ DEFINE_SFX(CHAN_1001, NA_SE_IT_ARROW_STICK_HRAD, 0x30, 0, 0, 0)
|
||||
/* 0x180A */ DEFINE_SFX(CHAN_100B, NA_SE_IT_HAMMER_HIT, 0x30, 0, 1, 0)
|
||||
/* 0x180B */ DEFINE_SFX(CHAN_1022, NA_SE_IT_HOOKSHOT_CHAIN, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x180C */ DEFINE_SFX(CHAN_103A, NA_SE_IT_SHIELD_REFLECT_MG, 0x30, 1, 0, SFX_FLAG_10)
|
||||
/* 0x180D */ DEFINE_SFX(CHAN_106A, NA_SE_IT_BOMB_IGNIT, 0x50, 0, 0, 0)
|
||||
/* 0x180E */ DEFINE_SFX(CHAN_1076, NA_SE_IT_BOMB_EXPLOSION, 0x90, 2, 0, 0)
|
||||
/* 0x180F */ DEFINE_SFX(CHAN_1085, NA_SE_IT_BOMB_UNEXPLOSION, 0x50, 2, 0, 0)
|
||||
/* 0x1810 */ DEFINE_SFX(CHAN_10A2, NA_SE_IT_BOOMERANG_FLY, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x1811 */ DEFINE_SFX(CHAN_10D2, NA_SE_IT_SWORD_STRIKE, 0x40, 2, 0, 0)
|
||||
/* 0x1812 */ DEFINE_SFX(CHAN_10E6, NA_SE_IT_HAMMER_SWING, 0x30, 0, 1, 0)
|
||||
#if PLATFORM_N64
|
||||
/* 0x1813 */ DEFINE_SFX(NA_SE_IT_HOOKSHOT_REFLECT, 0x20, 0, 0, 0)
|
||||
/* 0x1813 */ DEFINE_SFX(CHAN_10F4, NA_SE_IT_HOOKSHOT_REFLECT, 0x20, 0, 0, 0)
|
||||
#else
|
||||
/* 0x1813 */ DEFINE_SFX(NA_SE_IT_HOOKSHOT_REFLECT, 0x30, 0, 0, 0)
|
||||
/* 0x1813 */ DEFINE_SFX(CHAN_10F4, NA_SE_IT_HOOKSHOT_REFLECT, 0x30, 0, 0, 0)
|
||||
#endif
|
||||
/* 0x1814 */ DEFINE_SFX(NA_SE_IT_ARROW_STICK_CRE, 0x30, 0, 0, 0)
|
||||
/* 0x1815 */ DEFINE_SFX(NA_SE_IT_ARROW_STICK_OBJ, 0x34, 0, 0, 0)
|
||||
/* 0x1816 */ DEFINE_SFX(NA_SE_IT_DUMMY, 0x30, 0, 0, 0)
|
||||
/* 0x1817 */ DEFINE_SFX(NA_SE_IT_DUMMY2, 0x30, 0, 0, 0)
|
||||
/* 0x1818 */ DEFINE_SFX(NA_SE_IT_SWORD_SWING_HARD, 0x30, 0, 0, 0)
|
||||
/* 0x1819 */ DEFINE_SFX(NA_SE_IT_DUMMY3, 0x30, 0, 0, 0)
|
||||
/* 0x181A */ DEFINE_SFX(NA_SE_IT_WALL_HIT_HARD, 0x40, 0, 0, 0)
|
||||
/* 0x181B */ DEFINE_SFX(NA_SE_IT_WALL_HIT_SOFT, 0x30, 0, 0, 0)
|
||||
/* 0x181C */ DEFINE_SFX(NA_SE_IT_STONE_HIT, 0x30, 0, 0, 0)
|
||||
/* 0x181D */ DEFINE_SFX(NA_SE_IT_WOODSTICK_BROKEN, 0x30, 0, 0, 0)
|
||||
/* 0x181E */ DEFINE_SFX(NA_SE_IT_LASH, 0x30, 0, 2, 0)
|
||||
/* 0x181F */ DEFINE_SFX(NA_SE_IT_SHIELD_POSTURE, 0x30, 0, 1, 0)
|
||||
/* 0x1820 */ DEFINE_SFX(NA_SE_IT_SLING_SHOT, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x1821 */ DEFINE_SFX(NA_SE_IT_SLING_DRAW, 0x20, 0, 0, SFX_FLAG_10)
|
||||
/* 0x1822 */ DEFINE_SFX(NA_SE_IT_SWORD_CHARGE, 0x30, 0, 0, 0)
|
||||
/* 0x1823 */ DEFINE_SFX(NA_SE_IT_ROLLING_CUT, 0x30, 0, 0, 0)
|
||||
/* 0x1824 */ DEFINE_SFX(NA_SE_IT_SWORD_STRIKE_HARD, 0x30, 0, 0, 0)
|
||||
/* 0x1825 */ DEFINE_SFX(NA_SE_IT_SLING_REFLECT, 0x30, 0, 0, 0)
|
||||
/* 0x1826 */ DEFINE_SFX(NA_SE_IT_SHIELD_REMOVE, 0x30, 0, 0, 0)
|
||||
/* 0x1827 */ DEFINE_SFX(NA_SE_IT_HOOKSHOT_READY, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x1828 */ DEFINE_SFX(NA_SE_IT_HOOKSHOT_RECEIVE, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x1829 */ DEFINE_SFX(NA_SE_IT_HOOKSHOT_STICK_OBJ, 0x60, 3, 1, 0)
|
||||
/* 0x182A */ DEFINE_SFX(NA_SE_IT_SWORD_REFLECT_MG, 0x30, 1, 0, 0)
|
||||
/* 0x182B */ DEFINE_SFX(NA_SE_IT_DEKU, 0x30, 1, 0, SFX_FLAG_10)
|
||||
/* 0x182C */ DEFINE_SFX(NA_SE_IT_WALL_HIT_BUYO, 0x30, 0, 0, 0)
|
||||
/* 0x182D */ DEFINE_SFX(NA_SE_IT_SWORD_PUTAWAY_STN, 0x30, 0, 0, 0)
|
||||
/* 0x182E */ DEFINE_SFX(NA_SE_IT_ROLLING_CUT_LV1, 0xA0, 2, 0, 0)
|
||||
/* 0x182F */ DEFINE_SFX(NA_SE_IT_ROLLING_CUT_LV2, 0xA0, 2, 0, 0)
|
||||
/* 0x1830 */ DEFINE_SFX(NA_SE_IT_BOW_FLICK, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x1831 */ DEFINE_SFX(NA_SE_IT_BOMBCHU_MOVE, 0x30, 0, 0, 0)
|
||||
/* 0x1832 */ DEFINE_SFX(NA_SE_IT_SHIELD_CHARGE_LV1, 0x60, 0, 0, 0)
|
||||
/* 0x1833 */ DEFINE_SFX(NA_SE_IT_SHIELD_CHARGE_LV2, 0x60, 0, 0, 0)
|
||||
/* 0x1834 */ DEFINE_SFX(NA_SE_IT_SHIELD_CHARGE_LV3, 0x60, 0, 0, 0)
|
||||
/* 0x1835 */ DEFINE_SFX(NA_SE_IT_SLING_FLICK, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x1836 */ DEFINE_SFX(NA_SE_IT_SWORD_STICK_STN, 0x30, 0, 0, 0)
|
||||
/* 0x1837 */ DEFINE_SFX(NA_SE_IT_REFLECTION_WOOD, 0x60, 1, 2, 0)
|
||||
/* 0x1838 */ DEFINE_SFX(NA_SE_IT_SHIELD_REFLECT_MG2, 0x30, 0, 0, 0)
|
||||
/* 0x1839 */ DEFINE_SFX(NA_SE_IT_MAGIC_ARROW_SHOT, 0x30, 0, 0, 0)
|
||||
/* 0x183A */ DEFINE_SFX(NA_SE_IT_EXPLOSION_FRAME, 0x60, 3, 0, SFX_FLAG_15)
|
||||
/* 0x183B */ DEFINE_SFX(NA_SE_IT_EXPLOSION_ICE, 0x60, 3, 0, SFX_FLAG_15)
|
||||
/* 0x183C */ DEFINE_SFX(NA_SE_IT_EXPLOSION_LIGHT, 0x60, 3, 0, SFX_FLAG_15)
|
||||
/* 0x183D */ DEFINE_SFX(NA_SE_IT_FISHING_REEL_SLOW, 0x30, 0, 0, SFX_FLAG_14)
|
||||
/* 0x183E */ DEFINE_SFX(NA_SE_IT_FISHING_REEL_HIGH, 0x30, 0, 0, SFX_FLAG_14)
|
||||
/* 0x183F */ DEFINE_SFX(NA_SE_IT_PULL_FISHING_ROD, 0x30, 0, 1, 0)
|
||||
/* 0x1840 */ DEFINE_SFX(NA_SE_IT_DM_FLYING_GOD_PASS, 0x80, 3, 0, 0)
|
||||
/* 0x1841 */ DEFINE_SFX(NA_SE_IT_DM_FLYING_GOD_DASH, 0x80, 3, 0, 0)
|
||||
/* 0x1842 */ DEFINE_SFX(NA_SE_IT_DM_RING_EXPLOSION, 0x30, 3, 0, 0)
|
||||
/* 0x1843 */ DEFINE_SFX(NA_SE_IT_DM_RING_GATHER, 0x30, 0, 0, 0)
|
||||
/* 0x1844 */ DEFINE_SFX(NA_SE_IT_INGO_HORSE_NEIGH, 0x30, 0, 1, 0)
|
||||
/* 0x1845 */ DEFINE_SFX(NA_SE_IT_EARTHQUAKE, 0x30, 0, 0, 0)
|
||||
/* 0x1846 */ DEFINE_SFX(NA_SE_IT_DUMMY4, 0x30, 0, 0, 0)
|
||||
/* 0x1847 */ DEFINE_SFX(NA_SE_IT_KAKASHI_JUMP, 0x30, 0, 0, 0)
|
||||
/* 0x1848 */ DEFINE_SFX(NA_SE_IT_FLAME, 0x30, 0, 0, 0)
|
||||
/* 0x1849 */ DEFINE_SFX(NA_SE_IT_SHIELD_BEAM, 0x30, 0, 0, 0)
|
||||
/* 0x184A */ DEFINE_SFX(NA_SE_IT_FISHING_HIT, 0x30, 0, 0, 0)
|
||||
/* 0x184B */ DEFINE_SFX(NA_SE_IT_GOODS_APPEAR, 0x30, 0, 0, 0)
|
||||
/* 0x184C */ DEFINE_SFX(NA_SE_IT_MAJIN_SWORD_BROKEN, 0x80, 0, 0, 0)
|
||||
/* 0x184D */ DEFINE_SFX(NA_SE_IT_HAND_CLAP, 0x30, 0, 0, 0)
|
||||
/* 0x184E */ DEFINE_SFX(NA_SE_IT_MASTER_SWORD_SWING, 0x30, 0, 0, 0)
|
||||
/* 0x184F */ DEFINE_SFX(NA_SE_IT_DUMMY5, 0x30, 0, 0, 0)
|
||||
/* 0x1814 */ DEFINE_SFX(CHAN_110B, NA_SE_IT_ARROW_STICK_CRE, 0x30, 0, 0, 0)
|
||||
/* 0x1815 */ DEFINE_SFX(CHAN_1120, NA_SE_IT_ARROW_STICK_OBJ, 0x34, 0, 0, 0)
|
||||
/* 0x1816 */ DEFINE_SFX(CHAN_1123, NA_SE_IT_DUMMY, 0x30, 0, 0, 0)
|
||||
/* 0x1817 */ DEFINE_SFX(CHAN_1146, NA_SE_IT_DUMMY2, 0x30, 0, 0, 0)
|
||||
/* 0x1818 */ DEFINE_SFX(CHAN_1169, NA_SE_IT_SWORD_SWING_HARD, 0x30, 0, 0, 0)
|
||||
/* 0x1819 */ DEFINE_SFX(CHAN_1E10, NA_SE_IT_DUMMY3, 0x30, 0, 0, 0)
|
||||
/* 0x181A */ DEFINE_SFX(CHAN_1187, NA_SE_IT_WALL_HIT_HARD, 0x40, 0, 0, 0)
|
||||
/* 0x181B */ DEFINE_SFX(CHAN_119A, NA_SE_IT_WALL_HIT_SOFT, 0x30, 0, 0, 0)
|
||||
/* 0x181C */ DEFINE_SFX(CHAN_11B3, NA_SE_IT_STONE_HIT, 0x30, 0, 0, 0)
|
||||
/* 0x181D */ DEFINE_SFX(CHAN_11C4, NA_SE_IT_WOODSTICK_BROKEN, 0x30, 0, 0, 0)
|
||||
/* 0x181E */ DEFINE_SFX(CHAN_11D5, NA_SE_IT_LASH, 0x30, 0, 2, 0)
|
||||
/* 0x181F */ DEFINE_SFX(CHAN_11E8, NA_SE_IT_SHIELD_POSTURE, 0x30, 0, 1, 0)
|
||||
/* 0x1820 */ DEFINE_SFX(CHAN_1208, NA_SE_IT_SLING_SHOT, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x1821 */ DEFINE_SFX(CHAN_1216, NA_SE_IT_SLING_DRAW, 0x20, 0, 0, SFX_FLAG_10)
|
||||
/* 0x1822 */ DEFINE_SFX(CHAN_1224, NA_SE_IT_SWORD_CHARGE, 0x30, 0, 0, 0)
|
||||
/* 0x1823 */ DEFINE_SFX(CHAN_125A, NA_SE_IT_ROLLING_CUT, 0x30, 0, 0, 0)
|
||||
/* 0x1824 */ DEFINE_SFX(CHAN_1271, NA_SE_IT_SWORD_STRIKE_HARD, 0x30, 0, 0, 0)
|
||||
/* 0x1825 */ DEFINE_SFX(CHAN_128A, NA_SE_IT_SLING_REFLECT, 0x30, 0, 0, 0)
|
||||
/* 0x1826 */ DEFINE_SFX(CHAN_12A0, NA_SE_IT_SHIELD_REMOVE, 0x30, 0, 0, 0)
|
||||
/* 0x1827 */ DEFINE_SFX(CHAN_12C0, NA_SE_IT_HOOKSHOT_READY, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x1828 */ DEFINE_SFX(CHAN_12DA, NA_SE_IT_HOOKSHOT_RECEIVE, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x1829 */ DEFINE_SFX(CHAN_12F4, NA_SE_IT_HOOKSHOT_STICK_OBJ, 0x60, 3, 1, 0)
|
||||
/* 0x182A */ DEFINE_SFX(CHAN_1316, NA_SE_IT_SWORD_REFLECT_MG, 0x30, 1, 0, 0)
|
||||
/* 0x182B */ DEFINE_SFX(CHAN_132D, NA_SE_IT_DEKU, 0x30, 1, 0, SFX_FLAG_10)
|
||||
/* 0x182C */ DEFINE_SFX(CHAN_1350, NA_SE_IT_WALL_HIT_BUYO, 0x30, 0, 0, 0)
|
||||
/* 0x182D */ DEFINE_SFX(CHAN_1396, NA_SE_IT_SWORD_PUTAWAY_STN, 0x30, 0, 0, 0)
|
||||
/* 0x182E */ DEFINE_SFX(CHAN_13A7, NA_SE_IT_ROLLING_CUT_LV1, 0xA0, 2, 0, 0)
|
||||
/* 0x182F */ DEFINE_SFX(CHAN_13CA, NA_SE_IT_ROLLING_CUT_LV2, 0xA0, 2, 0, 0)
|
||||
/* 0x1830 */ DEFINE_SFX(CHAN_13E8, NA_SE_IT_BOW_FLICK, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x1831 */ DEFINE_SFX(CHAN_13FE, NA_SE_IT_BOMBCHU_MOVE, 0x30, 0, 0, 0)
|
||||
/* 0x1832 */ DEFINE_SFX(CHAN_1411, NA_SE_IT_SHIELD_CHARGE_LV1, 0x60, 0, 0, 0)
|
||||
/* 0x1833 */ DEFINE_SFX(CHAN_145D, NA_SE_IT_SHIELD_CHARGE_LV2, 0x60, 0, 0, 0)
|
||||
/* 0x1834 */ DEFINE_SFX(CHAN_1462, NA_SE_IT_SHIELD_CHARGE_LV3, 0x60, 0, 0, 0)
|
||||
/* 0x1835 */ DEFINE_SFX(CHAN_1467, NA_SE_IT_SLING_FLICK, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x1836 */ DEFINE_SFX(CHAN_147C, NA_SE_IT_SWORD_STICK_STN, 0x30, 0, 0, 0)
|
||||
/* 0x1837 */ DEFINE_SFX(CHAN_1493, NA_SE_IT_REFLECTION_WOOD, 0x60, 1, 2, 0)
|
||||
/* 0x1838 */ DEFINE_SFX(CHAN_14B0, NA_SE_IT_SHIELD_REFLECT_MG2, 0x30, 0, 0, 0)
|
||||
/* 0x1839 */ DEFINE_SFX(CHAN_14B9, NA_SE_IT_MAGIC_ARROW_SHOT, 0x30, 0, 0, 0)
|
||||
/* 0x183A */ DEFINE_SFX(CHAN_14CA, NA_SE_IT_EXPLOSION_FRAME, 0x60, 3, 0, SFX_FLAG_15)
|
||||
/* 0x183B */ DEFINE_SFX(CHAN_14E5, NA_SE_IT_EXPLOSION_ICE, 0x60, 3, 0, SFX_FLAG_15)
|
||||
/* 0x183C */ DEFINE_SFX(CHAN_14F6, NA_SE_IT_EXPLOSION_LIGHT, 0x60, 3, 0, SFX_FLAG_15)
|
||||
/* 0x183D */ DEFINE_SFX(CHAN_1505, NA_SE_IT_FISHING_REEL_SLOW, 0x30, 0, 0, SFX_FLAG_14)
|
||||
/* 0x183E */ DEFINE_SFX(CHAN_1510, NA_SE_IT_FISHING_REEL_HIGH, 0x30, 0, 0, SFX_FLAG_14)
|
||||
/* 0x183F */ DEFINE_SFX(CHAN_0FDB, NA_SE_IT_PULL_FISHING_ROD, 0x30, 0, 1, 0)
|
||||
/* 0x1840 */ DEFINE_SFX(CHAN_151B, NA_SE_IT_DM_FLYING_GOD_PASS, 0x80, 3, 0, 0)
|
||||
/* 0x1841 */ DEFINE_SFX(CHAN_154A, NA_SE_IT_DM_FLYING_GOD_DASH, 0x80, 3, 0, 0)
|
||||
/* 0x1842 */ DEFINE_SFX(CHAN_157D, NA_SE_IT_DM_RING_EXPLOSION, 0x30, 3, 0, 0)
|
||||
/* 0x1843 */ DEFINE_SFX(CHAN_15BB, NA_SE_IT_DM_RING_GATHER, 0x30, 0, 0, 0)
|
||||
/* 0x1844 */ DEFINE_SFX(CHAN_190A, NA_SE_IT_INGO_HORSE_NEIGH, 0x30, 0, 1, 0)
|
||||
/* 0x1845 */ DEFINE_SFX(CHAN_15BB, NA_SE_IT_EARTHQUAKE, 0x30, 0, 0, 0)
|
||||
/* 0x1846 */ DEFINE_SFX(CHAN_15D0, NA_SE_IT_DUMMY4, 0x30, 0, 0, 0)
|
||||
/* 0x1847 */ DEFINE_SFX(CHAN_15DF, NA_SE_IT_KAKASHI_JUMP, 0x30, 0, 0, 0)
|
||||
/* 0x1848 */ DEFINE_SFX(CHAN_15F3, NA_SE_IT_FLAME, 0x30, 0, 0, 0)
|
||||
/* 0x1849 */ DEFINE_SFX(CHAN_2848, NA_SE_IT_SHIELD_BEAM, 0x30, 0, 0, 0)
|
||||
/* 0x184A */ DEFINE_SFX(CHAN_15FA, NA_SE_IT_FISHING_HIT, 0x30, 0, 0, 0)
|
||||
/* 0x184B */ DEFINE_SFX(CHAN_1617, NA_SE_IT_GOODS_APPEAR, 0x30, 0, 0, 0)
|
||||
/* 0x184C */ DEFINE_SFX(CHAN_1624, NA_SE_IT_MAJIN_SWORD_BROKEN, 0x80, 0, 0, 0)
|
||||
/* 0x184D */ DEFINE_SFX(CHAN_163E, NA_SE_IT_HAND_CLAP, 0x30, 0, 0, 0)
|
||||
/* 0x184E */ DEFINE_SFX(CHAN_1648, NA_SE_IT_MASTER_SWORD_SWING, 0x30, 0, 0, 0)
|
||||
/* 0x184F */ DEFINE_SFX(CHAN_1085, NA_SE_IT_DUMMY5, 0x30, 0, 0, 0)
|
||||
|
@ -2,19 +2,18 @@
|
||||
* Sfx Ocarina Bank
|
||||
*
|
||||
* DEFINE_SFX should be used for all sfx define in the ocarina bank from sequence 0
|
||||
* - Argument 0: Channel name for sequence 0
|
||||
* - Argument 1: Enum value for this sfx
|
||||
* - Argument 2: Importance for deciding which sfx to prioritize. Higher values have greater importance
|
||||
* - Argument 3: Slows the decay of volume with distance (a 2-bit number ranging from 0-3)
|
||||
* - Argument 4: Applies increasingly random offsets to frequency (a 2-bit number ranging from 0-3)
|
||||
* - Argument 5: Various flags to add properties to the sfx
|
||||
*
|
||||
* WARNING: entries must align with the table defined for the ocarina bank in sequence 0
|
||||
*/
|
||||
/* 0x5800 */ DEFINE_SFX(NA_SE_OC_OCARINA, 0x30, 0, 0, 0)
|
||||
/* 0x5801 */ DEFINE_SFX(NA_SE_OC_ABYSS, 0x30, 0, 0, SFX_FLAG_5)
|
||||
/* 0x5802 */ DEFINE_SFX(NA_SE_OC_DOOR_OPEN, 0x30, 2, 1, SFX_FLAG_10 | SFX_FLAG_9)
|
||||
/* 0x5803 */ DEFINE_SFX(NA_SE_OC_SECRET_WARP_IN, 0x30, 0, 0, 0)
|
||||
/* 0x5804 */ DEFINE_SFX(NA_SE_OC_SECRET_WARP_OUT, 0x30, 0, 0, 0)
|
||||
/* 0x5805 */ DEFINE_SFX(NA_SE_OC_SECRET_HOLE_OUT, 0x30, 0, 0, 0)
|
||||
/* 0x5806 */ DEFINE_SFX(NA_SE_OC_REVENGE, 0x30, 0, 0, 0)
|
||||
/* 0x5807 */ DEFINE_SFX(NA_SE_OC_HINT_MOVIE, 0x30, 0, 0, 0)
|
||||
/* 0x5800 */ DEFINE_SFX(CHAN_5EF5, NA_SE_OC_OCARINA, 0x30, 0, 0, 0)
|
||||
/* 0x5801 */ DEFINE_SFX(CHAN_5F69, NA_SE_OC_ABYSS, 0x30, 0, 0, SFX_FLAG_5)
|
||||
/* 0x5802 */ DEFINE_SFX(CHAN_18C5, NA_SE_OC_DOOR_OPEN, 0x30, 2, 1, SFX_FLAG_10 | SFX_FLAG_9)
|
||||
/* 0x5803 */ DEFINE_SFX(CHAN_5F65, NA_SE_OC_SECRET_WARP_IN, 0x30, 0, 0, 0)
|
||||
/* 0x5804 */ DEFINE_SFX(CHAN_5F40, NA_SE_OC_SECRET_WARP_OUT, 0x30, 0, 0, 0)
|
||||
/* 0x5805 */ DEFINE_SFX(CHAN_27AE, NA_SE_OC_SECRET_HOLE_OUT, 0x30, 0, 0, 0)
|
||||
/* 0x5806 */ DEFINE_SFX(CHAN_5F96, NA_SE_OC_REVENGE, 0x30, 0, 0, 0)
|
||||
/* 0x5807 */ DEFINE_SFX(CHAN_5EF5, NA_SE_OC_HINT_MOVIE, 0x30, 0, 0, 0)
|
||||
|
@ -2,235 +2,234 @@
|
||||
* Sfx Player Bank
|
||||
*
|
||||
* DEFINE_SFX should be used for all sfx define in the player bank from sequence 0
|
||||
* - Argument 0: Channel name for sequence 0
|
||||
* - Argument 1: Enum value for this sfx
|
||||
* - Argument 2: Importance for deciding which sfx to prioritize. Higher values have greater importance
|
||||
* - Argument 3: Slows the decay of volume with distance (a 2-bit number ranging from 0-3)
|
||||
* - Argument 4: Applies increasingly random offsets to frequency (a 2-bit number ranging from 0-3)
|
||||
* - Argument 5: Various flags to add properties to the sfx
|
||||
*
|
||||
* WARNING: entries must align with the table defined for the player bank in sequence 0
|
||||
*/
|
||||
/* 0x800 */ DEFINE_SFX(NA_SE_PL_WALK_GROUND, 0x20, 0, 2, SFX_FLAG_10)
|
||||
/* 0x801 */ DEFINE_SFX(NA_SE_PL_WALK_SAND, 0x20, 0, 2, SFX_FLAG_10)
|
||||
/* 0x802 */ DEFINE_SFX(NA_SE_PL_WALK_CONCRETE, 0x20, 0, 2, SFX_FLAG_10)
|
||||
/* 0x803 */ DEFINE_SFX(NA_SE_PL_WALK_DIRT, 0x20, 0, 2, SFX_FLAG_10)
|
||||
/* 0x804 */ DEFINE_SFX(NA_SE_PL_WALK_WATER0, 0x20, 0, 1, SFX_FLAG_10)
|
||||
/* 0x805 */ DEFINE_SFX(NA_SE_PL_WALK_WATER1, 0x20, 0, 1, SFX_FLAG_10)
|
||||
/* 0x806 */ DEFINE_SFX(NA_SE_PL_WALK_WATER2, 0x20, 0, 1, SFX_FLAG_10)
|
||||
/* 0x807 */ DEFINE_SFX(NA_SE_PL_WALK_MAGMA, 0x20, 0, 1, SFX_FLAG_10)
|
||||
/* 0x808 */ DEFINE_SFX(NA_SE_PL_WALK_GRASS, 0x20, 0, 2, SFX_FLAG_10)
|
||||
/* 0x809 */ DEFINE_SFX(NA_SE_PL_WALK_IRON, 0x20, 0, 1, SFX_FLAG_10)
|
||||
/* 0x80A */ DEFINE_SFX(NA_SE_PL_WALK_LADDER, 0x20, 0, 2, SFX_FLAG_10)
|
||||
/* 0x80B */ DEFINE_SFX(NA_SE_PL_WALK_GLASS, 0x20, 0, 0, SFX_FLAG_10)
|
||||
/* 0x80C */ DEFINE_SFX(NA_SE_PL_WALK_WALL, 0x20, 0, 0, SFX_FLAG_10)
|
||||
/* 0x80D */ DEFINE_SFX(NA_SE_PL_WALK_HEAVYBOOTS, 0x20, 0, 0, SFX_FLAG_10)
|
||||
/* 0x80E */ DEFINE_SFX(NA_SE_PL_DUMMY_14, 0x20, 0, 0, SFX_FLAG_10)
|
||||
/* 0x80F */ DEFINE_SFX(NA_SE_PL_WALK_ICE, 0x20, 0, 0, SFX_FLAG_10)
|
||||
/* 0x810 */ DEFINE_SFX(NA_SE_PL_JUMP, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x811 */ DEFINE_SFX(NA_SE_PL_JUMP_SAND, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x812 */ DEFINE_SFX(NA_SE_PL_JUMP_CONCRETE, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x813 */ DEFINE_SFX(NA_SE_PL_JUMP_DIRT, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x814 */ DEFINE_SFX(NA_SE_PL_JUMP_WATER0, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x815 */ DEFINE_SFX(NA_SE_PL_JUMP_WATER1, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x816 */ DEFINE_SFX(NA_SE_PL_JUMP_WATER2, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x817 */ DEFINE_SFX(NA_SE_PL_JUMP_MAGMA, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x818 */ DEFINE_SFX(NA_SE_PL_JUMP_GRASS, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x819 */ DEFINE_SFX(NA_SE_PL_JUMP_IRON, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x81A */ DEFINE_SFX(NA_SE_PL_JUMP_LADDER, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x81B */ DEFINE_SFX(NA_SE_PL_JUMP_GLASS, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x81C */ DEFINE_SFX(NA_SE_PL_DUMMY28, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x81D */ DEFINE_SFX(NA_SE_PL_JUMP_HEAVYBOOTS, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x81E */ DEFINE_SFX(NA_SE_PL_DUMMY30, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x81F */ DEFINE_SFX(NA_SE_PL_JUMP_ICE, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x820 */ DEFINE_SFX(NA_SE_PL_LAND, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x821 */ DEFINE_SFX(NA_SE_PL_LAND_SAND, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x822 */ DEFINE_SFX(NA_SE_PL_LAND_CONCRETE, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x823 */ DEFINE_SFX(NA_SE_PL_LAND_DIRT, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x824 */ DEFINE_SFX(NA_SE_PL_LAND_WATER0, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x825 */ DEFINE_SFX(NA_SE_PL_LAND_WATER1, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x826 */ DEFINE_SFX(NA_SE_PL_LAND_WATER2, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x827 */ DEFINE_SFX(NA_SE_PL_LAND_MAGMA, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x828 */ DEFINE_SFX(NA_SE_PL_LAND_GRASS, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x829 */ DEFINE_SFX(NA_SE_PL_LAND_IRON, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x82A */ DEFINE_SFX(NA_SE_PL_LAND_LADDER, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x82B */ DEFINE_SFX(NA_SE_PL_LAND_GLASS, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x82C */ DEFINE_SFX(NA_SE_PL_DUMMY_44, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x82D */ DEFINE_SFX(NA_SE_PL_LAND_HEAVYBOOTS, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x82E */ DEFINE_SFX(NA_SE_PL_DUMMY_46, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x82F */ DEFINE_SFX(NA_SE_PL_LAND_ICE, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x830 */ DEFINE_SFX(NA_SE_PL_SLIPDOWN, 0x30, 0, 2, 0)
|
||||
/* 0x831 */ DEFINE_SFX(NA_SE_PL_CLIMB_CLIFF, 0x30, 0, 0, 0)
|
||||
/* 0x832 */ DEFINE_SFX(NA_SE_PL_SIT_ON_HORSE, 0x30, 0, 0, 0)
|
||||
/* 0x833 */ DEFINE_SFX(NA_SE_PL_GET_OFF_HORSE, 0x30, 0, 0, 0)
|
||||
/* 0x834 */ DEFINE_SFX(NA_SE_PL_TAKE_OUT_SHIELD, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x835 */ DEFINE_SFX(NA_SE_PL_CHANGE_ARMS, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x836 */ DEFINE_SFX(NA_SE_PL_CATCH_BOOMERANG, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x837 */ DEFINE_SFX(NA_SE_PL_DUMMY_55, 0x30, 0, 1, 0)
|
||||
/* 0x838 */ DEFINE_SFX(NA_SE_PL_DUMMY_56, 0x30, 0, 1, 0)
|
||||
/* 0x839 */ DEFINE_SFX(NA_SE_PL_SWIM, 0x30, 0, 2, 0)
|
||||
/* 0x83A */ DEFINE_SFX(NA_SE_PL_THROW, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x83B */ DEFINE_SFX(NA_SE_PL_BODY_BOUND, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x83C */ DEFINE_SFX(NA_SE_PL_ROLL, 0x40, 0, 0, SFX_FLAG_10)
|
||||
/* 0x83D */ DEFINE_SFX(NA_SE_PL_SKIP, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x83E */ DEFINE_SFX(NA_SE_PL_BODY_HIT, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x83F */ DEFINE_SFX(NA_SE_PL_DAMAGE, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x840 */ DEFINE_SFX(NA_SE_PL_SLIP, 0x30, 0, 1, 0)
|
||||
/* 0x841 */ DEFINE_SFX(NA_SE_PL_SLIP_SAND, 0x30, 0, 1, 0)
|
||||
/* 0x842 */ DEFINE_SFX(NA_SE_PL_SLIP_CONCRETE, 0x30, 0, 1, 0)
|
||||
/* 0x843 */ DEFINE_SFX(NA_SE_PL_SLIP_DIRT, 0x30, 0, 1, 0)
|
||||
/* 0x844 */ DEFINE_SFX(NA_SE_PL_SLIP_WATER0, 0x30, 0, 1, 0)
|
||||
/* 0x845 */ DEFINE_SFX(NA_SE_PL_SLIP_WATER1, 0x30, 0, 1, 0)
|
||||
/* 0x846 */ DEFINE_SFX(NA_SE_PL_SLIP_WATER2, 0x30, 0, 1, 0)
|
||||
/* 0x847 */ DEFINE_SFX(NA_SE_PL_SLIP_MAGMA, 0x30, 0, 1, 0)
|
||||
/* 0x848 */ DEFINE_SFX(NA_SE_PL_SLIP_GRASS, 0x30, 0, 1, 0)
|
||||
/* 0x849 */ DEFINE_SFX(NA_SE_PL_SLIP_IRON, 0x30, 0, 1, 0)
|
||||
/* 0x84A */ DEFINE_SFX(NA_SE_PL_SLIP_LADDER, 0x30, 0, 1, 0)
|
||||
/* 0x84B */ DEFINE_SFX(NA_SE_PL_SLIP_GLASS, 0x30, 0, 1, 0)
|
||||
/* 0x84C */ DEFINE_SFX(NA_SE_PL_DUMMY76, 0x30, 0, 0, 0)
|
||||
/* 0x84D */ DEFINE_SFX(NA_SE_PL_SLIP_HEAVYBOOTS, 0x30, 0, 0, 0)
|
||||
/* 0x84E */ DEFINE_SFX(NA_SE_PL_DUMMY78, 0x30, 0, 0, 0)
|
||||
/* 0x84F */ DEFINE_SFX(NA_SE_PL_SLIP_ICE, 0x30, 0, 0, 0)
|
||||
/* 0x850 */ DEFINE_SFX(NA_SE_PL_BOUND, 0x80, 0, 0, 0)
|
||||
/* 0x851 */ DEFINE_SFX(NA_SE_PL_BOUND_SAND, 0x80, 0, 0, 0)
|
||||
/* 0x852 */ DEFINE_SFX(NA_SE_PL_BOUND_CONCRETE, 0x80, 0, 0, 0)
|
||||
/* 0x853 */ DEFINE_SFX(NA_SE_PL_BOUND_DIRT, 0x80, 0, 0, 0)
|
||||
/* 0x854 */ DEFINE_SFX(NA_SE_PL_BOUND_WATER0, 0x80, 0, 0, 0)
|
||||
/* 0x855 */ DEFINE_SFX(NA_SE_PL_BOUND_WATER1, 0x80, 0, 0, 0)
|
||||
/* 0x856 */ DEFINE_SFX(NA_SE_PL_BOUND_WATER2, 0x80, 0, 0, 0)
|
||||
/* 0x857 */ DEFINE_SFX(NA_SE_PL_BOUND_MAGMA, 0x80, 0, 0, 0)
|
||||
/* 0x858 */ DEFINE_SFX(NA_SE_PL_BOUND_GRASS, 0x80, 0, 0, 0)
|
||||
/* 0x859 */ DEFINE_SFX(NA_SE_PL_BOUND_IRON, 0x80, 0, 0, 0)
|
||||
/* 0x85A */ DEFINE_SFX(NA_SE_PL_BOUND_LADDER, 0x80, 0, 0, 0)
|
||||
/* 0x85B */ DEFINE_SFX(NA_SE_PL_BOUND_WOOD, 0x80, 0, 0, 0)
|
||||
/* 0x85C */ DEFINE_SFX(NA_SE_PL_DUMMY_92, 0x80, 0, 0, 0)
|
||||
/* 0x85D */ DEFINE_SFX(NA_SE_PL_BOUND_HEAVYBOOTS, 0x80, 0, 0, 0)
|
||||
/* 0x85E */ DEFINE_SFX(NA_SE_PL_DUMMY_94, 0x80, 0, 0, 0)
|
||||
/* 0x85F */ DEFINE_SFX(NA_SE_PL_BOUND_ICE, 0x80, 0, 0, 0)
|
||||
/* 0x860 */ DEFINE_SFX(NA_SE_PL_DUMMY_96, 0x30, 0, 0, 0)
|
||||
/* 0x861 */ DEFINE_SFX(NA_SE_PL_DUMMY_97, 0x30, 0, 0, 0)
|
||||
/* 0x862 */ DEFINE_SFX(NA_SE_PL_DUMMY_98, 0x30, 0, 0, 0)
|
||||
/* 0x863 */ DEFINE_SFX(NA_SE_PL_FACE_UP, 0x30, 0, 0, 0)
|
||||
/* 0x864 */ DEFINE_SFX(NA_SE_PL_DIVE_BUBBLE, 0x30, 0, 0, 0)
|
||||
/* 0x865 */ DEFINE_SFX(NA_SE_PL_MOVE_BUBBLE, 0x30, 0, 0, 0)
|
||||
/* 0x866 */ DEFINE_SFX(NA_SE_PL_METALEFFECT_KID, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x867 */ DEFINE_SFX(NA_SE_PL_METALEFFECT_ADULT, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x868 */ DEFINE_SFX(NA_SE_PL_SPARK, 0x30, 0, 0, 0)
|
||||
/* 0x869 */ DEFINE_SFX(NA_SE_PL_PULL_UP_PLANT, 0x30, 0, 0, 0)
|
||||
/* 0x86A */ DEFINE_SFX(NA_SE_PL_PULL_UP_ROCK, 0x30, 0, 0, 0)
|
||||
/* 0x86B */ DEFINE_SFX(NA_SE_PL_IN_BUBBLE, 0x30, 0, 0, 0)
|
||||
/* 0x86C */ DEFINE_SFX(NA_SE_PL_PULL_UP_BIGROCK, 0x30, 3, 0, 0)
|
||||
/* 0x86D */ DEFINE_SFX(NA_SE_PL_SWORD_CHARGE, 0x30, 0, 0, 0)
|
||||
/* 0x86E */ DEFINE_SFX(NA_SE_PL_FREEZE, 0x30, 0, 0, 0)
|
||||
/* 0x86F */ DEFINE_SFX(NA_SE_PL_PULL_UP_POT, 0x30, 0, 0, 0)
|
||||
/* 0x870 */ DEFINE_SFX(NA_SE_PL_KNOCK, 0x30, 0, 0, 0)
|
||||
/* 0x871 */ DEFINE_SFX(NA_SE_PL_CALM_HIT, 0x30, 0, 2, 0)
|
||||
/* 0x872 */ DEFINE_SFX(NA_SE_PL_CALM_PAT, 0x30, 0, 0, 0)
|
||||
/* 0x873 */ DEFINE_SFX(NA_SE_PL_SUBMERGE, 0x30, 0, 0, 0)
|
||||
/* 0x874 */ DEFINE_SFX(NA_SE_PL_FREEZE_S, 0x30, 3, 0, 0)
|
||||
/* 0x875 */ DEFINE_SFX(NA_SE_PL_ICE_BROKEN, 0x30, 1, 0, 0)
|
||||
/* 0x876 */ DEFINE_SFX(NA_SE_PL_SLIP_ICE_LELEL, 0x30, 0, 0, 0)
|
||||
/* 0x877 */ DEFINE_SFX(NA_SE_PL_PUT_OUT_ITEM, 0x30, 0, 0, 0)
|
||||
/* 0x878 */ DEFINE_SFX(NA_SE_PL_PULL_UP_WOODBOX, 0x30, 0, 0, 0)
|
||||
/* 0x879 */ DEFINE_SFX(NA_SE_PL_MAGIC_FIRE, 0x30, 0, 0, 0)
|
||||
/* 0x87A */ DEFINE_SFX(NA_SE_PL_MAGIC_WIND_NORMAL, 0x30, 0, 0, 0)
|
||||
/* 0x87B */ DEFINE_SFX(NA_SE_PL_MAGIC_WIND_WARP, 0x30, 0, 0, SFX_FLAG_13)
|
||||
/* 0x87C */ DEFINE_SFX(NA_SE_PL_MAGIC_SOUL_NORMAL, 0x30, 0, 0, SFX_FLAG_11 | SFX_FLAG_10)
|
||||
/* 0x87D */ DEFINE_SFX(NA_SE_PL_ARROW_CHARGE_FIRE, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x87E */ DEFINE_SFX(NA_SE_PL_ARROW_CHARGE_ICE, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x87F */ DEFINE_SFX(NA_SE_PL_ARROW_CHARGE_LIGHT, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x880 */ DEFINE_SFX(NA_SE_PL_DUMMY_128, 0x20, 0, 2, 0)
|
||||
/* 0x881 */ DEFINE_SFX(NA_SE_PL_DUMMY_129, 0x20, 0, 2, 0)
|
||||
/* 0x882 */ DEFINE_SFX(NA_SE_PL_DUMMY_130, 0x20, 0, 2, 0)
|
||||
/* 0x883 */ DEFINE_SFX(NA_SE_PL_PULL_UP_RUTO, 0x20, 0, 2, 0)
|
||||
/* 0x884 */ DEFINE_SFX(NA_SE_PL_DUMMY_132, 0x20, 0, 1, 0)
|
||||
/* 0x885 */ DEFINE_SFX(NA_SE_PL_DUMMY_133, 0x20, 0, 1, 0)
|
||||
/* 0x886 */ DEFINE_SFX(NA_SE_PL_DUMMY_134, 0x20, 0, 1, 0)
|
||||
/* 0x887 */ DEFINE_SFX(NA_SE_PL_DUMMY_135, 0x20, 0, 1, 0)
|
||||
/* 0x888 */ DEFINE_SFX(NA_SE_PL_DUMMY_136, 0x20, 0, 2, 0)
|
||||
/* 0x889 */ DEFINE_SFX(NA_SE_PL_DUMMY_137, 0x20, 0, 2, 0)
|
||||
/* 0x88A */ DEFINE_SFX(NA_SE_PL_DUMMY_138, 0x20, 0, 2, 0)
|
||||
/* 0x88B */ DEFINE_SFX(NA_SE_PL_DUMMY_139, 0x20, 0, 0, 0)
|
||||
/* 0x88C */ DEFINE_SFX(NA_SE_PL_DUMMY_140, 0x20, 0, 0, 0)
|
||||
/* 0x88D */ DEFINE_SFX(NA_SE_PL_DUMMY_141, 0x20, 0, 0, 0)
|
||||
/* 0x88E */ DEFINE_SFX(NA_SE_PL_DUMMY_142, 0x20, 0, 0, 0)
|
||||
/* 0x88F */ DEFINE_SFX(NA_SE_PL_DUMMY_143, 0x20, 0, 0, 0)
|
||||
/* 0x890 */ DEFINE_SFX(NA_SE_PL_DUMMY_144, 0x30, 0, 0, 0)
|
||||
/* 0x891 */ DEFINE_SFX(NA_SE_PL_DUMMY_145, 0x30, 0, 0, 0)
|
||||
/* 0x892 */ DEFINE_SFX(NA_SE_PL_DUMMY_146, 0x30, 0, 0, 0)
|
||||
/* 0x893 */ DEFINE_SFX(NA_SE_PL_DUMMY_147, 0x30, 0, 0, 0)
|
||||
/* 0x894 */ DEFINE_SFX(NA_SE_PL_DUMMY_148, 0x30, 0, 0, 0)
|
||||
/* 0x895 */ DEFINE_SFX(NA_SE_PL_DUMMY_149, 0x30, 0, 0, 0)
|
||||
/* 0x896 */ DEFINE_SFX(NA_SE_PL_DUMMY_150, 0x30, 0, 0, 0)
|
||||
/* 0x897 */ DEFINE_SFX(NA_SE_PL_DUMMY_151, 0x30, 0, 0, 0)
|
||||
/* 0x898 */ DEFINE_SFX(NA_SE_PL_DUMMY_152, 0x30, 0, 0, 0)
|
||||
/* 0x899 */ DEFINE_SFX(NA_SE_PL_DUMMY_153, 0x30, 0, 0, 0)
|
||||
/* 0x89A */ DEFINE_SFX(NA_SE_PL_DUMMY_154, 0x30, 0, 0, 0)
|
||||
/* 0x89B */ DEFINE_SFX(NA_SE_PL_DUMMY_155, 0x30, 0, 0, 0)
|
||||
/* 0x89C */ DEFINE_SFX(NA_SE_PL_DUMMY_156, 0x30, 0, 0, 0)
|
||||
/* 0x89D */ DEFINE_SFX(NA_SE_PL_DUMMY_157, 0x30, 0, 0, 0)
|
||||
/* 0x89E */ DEFINE_SFX(NA_SE_PL_DUMMY_158, 0x30, 0, 0, 0)
|
||||
/* 0x89F */ DEFINE_SFX(NA_SE_PL_DUMMY_159, 0x30, 0, 0, 0)
|
||||
/* 0x8A0 */ DEFINE_SFX(NA_SE_PL_DUMMY_160, 0x40, 0, 0, 0)
|
||||
/* 0x8A1 */ DEFINE_SFX(NA_SE_PL_DUMMY_161, 0x40, 0, 0, 0)
|
||||
/* 0x8A2 */ DEFINE_SFX(NA_SE_PL_DUMMY_162, 0x40, 0, 0, 0)
|
||||
/* 0x8A3 */ DEFINE_SFX(NA_SE_PL_DUMMY_163, 0x40, 0, 0, 0)
|
||||
/* 0x8A4 */ DEFINE_SFX(NA_SE_PL_DUMMY_164, 0x40, 0, 0, 0)
|
||||
/* 0x8A5 */ DEFINE_SFX(NA_SE_PL_DUMMY_165, 0x40, 0, 0, 0)
|
||||
/* 0x8A6 */ DEFINE_SFX(NA_SE_PL_DUMMY_166, 0x40, 0, 0, 0)
|
||||
/* 0x8A7 */ DEFINE_SFX(NA_SE_PL_DUMMY_167, 0x40, 0, 0, 0)
|
||||
/* 0x8A8 */ DEFINE_SFX(NA_SE_PL_DUMMY_168, 0x40, 0, 0, 0)
|
||||
/* 0x8A9 */ DEFINE_SFX(NA_SE_PL_DUMMY_169, 0x40, 0, 0, 0)
|
||||
/* 0x8AA */ DEFINE_SFX(NA_SE_PL_DUMMY_170, 0x40, 0, 0, 0)
|
||||
/* 0x8AB */ DEFINE_SFX(NA_SE_PL_DUMMY_171, 0x40, 0, 0, 0)
|
||||
/* 0x8AC */ DEFINE_SFX(NA_SE_PL_DUMMY_172, 0x40, 0, 0, 0)
|
||||
/* 0x8AD */ DEFINE_SFX(NA_SE_PL_DUMMY_173, 0x40, 0, 0, 0)
|
||||
/* 0x8AE */ DEFINE_SFX(NA_SE_PL_DUMMY_174, 0x40, 0, 0, 0)
|
||||
/* 0x8AF */ DEFINE_SFX(NA_SE_PL_DUMMY_175, 0x40, 0, 0, 0)
|
||||
/* 0x8B0 */ DEFINE_SFX(NA_SE_PL_CRAWL, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8B1 */ DEFINE_SFX(NA_SE_PL_CRAWL_SAND, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8B2 */ DEFINE_SFX(NA_SE_PL_CRAWL_CONCRETE, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8B3 */ DEFINE_SFX(NA_SE_PL_CRAWL_DIRT, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8B4 */ DEFINE_SFX(NA_SE_PL_CRAWL_WATER0, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8B5 */ DEFINE_SFX(NA_SE_PL_DUMMY_181, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8B6 */ DEFINE_SFX(NA_SE_PL_DUMMY_182, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8B7 */ DEFINE_SFX(NA_SE_PL_DUMMY_183, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8B8 */ DEFINE_SFX(NA_SE_PL_DUMMY_184, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8B9 */ DEFINE_SFX(NA_SE_PL_DUMMY_185, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8BA */ DEFINE_SFX(NA_SE_PL_DUMMY_186, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8BB */ DEFINE_SFX(NA_SE_PL_CRAWL_WOOD, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8BC */ DEFINE_SFX(NA_SE_PL_CRAWL_ICE, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8BD */ DEFINE_SFX(NA_SE_PL_DUMMY_189, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8BE */ DEFINE_SFX(NA_SE_PL_DUMMY_190, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8BF */ DEFINE_SFX(NA_SE_PL_DUMMY_191, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8C0 */ DEFINE_SFX(NA_SE_PL_MAGIC_SOUL_FLASH, 0x30, 0, 0, SFX_FLAG_11 | SFX_FLAG_10)
|
||||
/* 0x8C1 */ DEFINE_SFX(NA_SE_PL_ROLL_DUST, 0x30, 0, 2, 0)
|
||||
/* 0x8C2 */ DEFINE_SFX(NA_SE_PL_DUMMY_192, 0x30, 0, 0, 0)
|
||||
/* 0x8C3 */ DEFINE_SFX(NA_SE_PL_MAGIC_SOUL_BALL, 0x30, 0, 0, 0)
|
||||
/* 0x8C4 */ DEFINE_SFX(NA_SE_PL_SPIRAL_HEAL_BEAM, 0x30, 0, 0, 0)
|
||||
/* 0x8C5 */ DEFINE_SFX(NA_SE_PL_BOUND_NOWEAPON, 0x30, 0, 0, 0)
|
||||
/* 0x8C6 */ DEFINE_SFX(NA_SE_PL_PLANT_GROW_UP, 0x30, 0, 0, 0)
|
||||
/* 0x8C7 */ DEFINE_SFX(NA_SE_PL_PLANT_TALLER, 0x30, 0, 0, 0)
|
||||
/* 0x8C8 */ DEFINE_SFX(NA_SE_PL_MAGIC_WIND_VANISH, 0x60, 2, 0, 0)
|
||||
/* 0x8C9 */ DEFINE_SFX(NA_SE_PL_HOBBERBOOTS_LV, 0x30, 0, 0, 0)
|
||||
/* 0x8CA */ DEFINE_SFX(NA_SE_PL_PLANT_MOVE, 0x30, 0, 0, 0)
|
||||
/* 0x8CB */ DEFINE_SFX(NA_SE_EV_WALL_MOVE_SP, 0x30, 0, 0, SFX_FLAG_11)
|
||||
/* 0x8CC */ DEFINE_SFX(NA_SE_PL_DUMMY_204, 0x30, 0, 0, 0)
|
||||
/* 0x8CD */ DEFINE_SFX(NA_SE_PL_DUMMY_205, 0x30, 0, 0, 0)
|
||||
/* 0x8CE */ DEFINE_SFX(NA_SE_PL_DUMMY_206, 0x30, 0, 0, 0)
|
||||
/* 0x8CF */ DEFINE_SFX(NA_SE_PL_DUMMY_207, 0x30, 0, 0, 0)
|
||||
/* 0x8D0 */ DEFINE_SFX(NA_SE_PL_SLIP_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8D1 */ DEFINE_SFX(NA_SE_PL_SLIP_SAND_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8D2 */ DEFINE_SFX(NA_SE_PL_SLIP_CONCRETE_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8D3 */ DEFINE_SFX(NA_SE_PL_SLIP_DIRT_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8D4 */ DEFINE_SFX(NA_SE_PL_SLIP_WATER0_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8D5 */ DEFINE_SFX(NA_SE_PL_SLIP_WATER1_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8D6 */ DEFINE_SFX(NA_SE_PL_SLIP_WATER2_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8D7 */ DEFINE_SFX(NA_SE_PL_SLIP_MAGMA_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8D8 */ DEFINE_SFX(NA_SE_PL_SLIP_GRASS_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8D9 */ DEFINE_SFX(NA_SE_PL_SLIP_IRON_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8DA */ DEFINE_SFX(NA_SE_PL_SLIP_GLASS_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8DB */ DEFINE_SFX(NA_SE_PL_SLIP_WOOD_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8DC */ DEFINE_SFX(NA_SE_PL_DUMMY_220, 0x30, 0, 0, 0)
|
||||
/* 0x8DD */ DEFINE_SFX(NA_SE_PL_DUMMY_221, 0x30, 0, 0, 0)
|
||||
/* 0x8DE */ DEFINE_SFX(NA_SE_PL_SLIP_HEAVYBOOTS_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8DF */ DEFINE_SFX(NA_SE_PL_SLIP_ICE_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x800 */ DEFINE_SFX(CHAN_02A1, NA_SE_PL_WALK_GROUND, 0x20, 0, 2, SFX_FLAG_10)
|
||||
/* 0x801 */ DEFINE_SFX(CHAN_02BD, NA_SE_PL_WALK_SAND, 0x20, 0, 2, SFX_FLAG_10)
|
||||
/* 0x802 */ DEFINE_SFX(CHAN_02C9, NA_SE_PL_WALK_CONCRETE, 0x20, 0, 2, SFX_FLAG_10)
|
||||
/* 0x803 */ DEFINE_SFX(CHAN_02D8, NA_SE_PL_WALK_DIRT, 0x20, 0, 2, SFX_FLAG_10)
|
||||
/* 0x804 */ DEFINE_SFX(CHAN_02E8, NA_SE_PL_WALK_WATER0, 0x20, 0, 1, SFX_FLAG_10)
|
||||
/* 0x805 */ DEFINE_SFX(CHAN_02F4, NA_SE_PL_WALK_WATER1, 0x20, 0, 1, SFX_FLAG_10)
|
||||
/* 0x806 */ DEFINE_SFX(CHAN_0300, NA_SE_PL_WALK_WATER2, 0x20, 0, 1, SFX_FLAG_10)
|
||||
/* 0x807 */ DEFINE_SFX(CHAN_0313, NA_SE_PL_WALK_MAGMA, 0x20, 0, 1, SFX_FLAG_10)
|
||||
/* 0x808 */ DEFINE_SFX(CHAN_032D, NA_SE_PL_WALK_GRASS, 0x20, 0, 2, SFX_FLAG_10)
|
||||
/* 0x809 */ DEFINE_SFX(CHAN_033D, NA_SE_PL_WALK_IRON, 0x20, 0, 1, SFX_FLAG_10)
|
||||
/* 0x80A */ DEFINE_SFX(CHAN_0349, NA_SE_PL_WALK_LADDER, 0x20, 0, 2, SFX_FLAG_10)
|
||||
/* 0x80B */ DEFINE_SFX(CHAN_0355, NA_SE_PL_WALK_GLASS, 0x20, 0, 0, SFX_FLAG_10)
|
||||
/* 0x80C */ DEFINE_SFX(CHAN_0361, NA_SE_PL_WALK_WALL, 0x20, 0, 0, SFX_FLAG_10)
|
||||
/* 0x80D */ DEFINE_SFX(CHAN_0376, NA_SE_PL_WALK_HEAVYBOOTS, 0x20, 0, 0, SFX_FLAG_10)
|
||||
/* 0x80E */ DEFINE_SFX(CHAN_0380, NA_SE_PL_DUMMY_14, 0x20, 0, 0, SFX_FLAG_10)
|
||||
/* 0x80F */ DEFINE_SFX(CHAN_038A, NA_SE_PL_WALK_ICE, 0x20, 0, 0, SFX_FLAG_10)
|
||||
/* 0x810 */ DEFINE_SFX(CHAN_0396, NA_SE_PL_JUMP, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x811 */ DEFINE_SFX(CHAN_03C5, NA_SE_PL_JUMP_SAND, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x812 */ DEFINE_SFX(CHAN_03D9, NA_SE_PL_JUMP_CONCRETE, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x813 */ DEFINE_SFX(CHAN_03F2, NA_SE_PL_JUMP_DIRT, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x814 */ DEFINE_SFX(CHAN_0406, NA_SE_PL_JUMP_WATER0, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x815 */ DEFINE_SFX(CHAN_0418, NA_SE_PL_JUMP_WATER1, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x816 */ DEFINE_SFX(CHAN_042A, NA_SE_PL_JUMP_WATER2, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x817 */ DEFINE_SFX(CHAN_0443, NA_SE_PL_JUMP_MAGMA, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x818 */ DEFINE_SFX(CHAN_0465, NA_SE_PL_JUMP_GRASS, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x819 */ DEFINE_SFX(CHAN_0479, NA_SE_PL_JUMP_IRON, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x81A */ DEFINE_SFX(CHAN_048D, NA_SE_PL_JUMP_LADDER, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x81B */ DEFINE_SFX(CHAN_049F, NA_SE_PL_JUMP_GLASS, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x81C */ DEFINE_SFX(CHAN_02A1, NA_SE_PL_DUMMY28, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x81D */ DEFINE_SFX(CHAN_04B1, NA_SE_PL_JUMP_HEAVYBOOTS, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x81E */ DEFINE_SFX(CHAN_04D8, NA_SE_PL_DUMMY30, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x81F */ DEFINE_SFX(CHAN_04EA, NA_SE_PL_JUMP_ICE, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x820 */ DEFINE_SFX(CHAN_04FE, NA_SE_PL_LAND, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x821 */ DEFINE_SFX(CHAN_052D, NA_SE_PL_LAND_SAND, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x822 */ DEFINE_SFX(CHAN_053F, NA_SE_PL_LAND_CONCRETE, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x823 */ DEFINE_SFX(CHAN_0558, NA_SE_PL_LAND_DIRT, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x824 */ DEFINE_SFX(CHAN_056C, NA_SE_PL_LAND_WATER0, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x825 */ DEFINE_SFX(CHAN_057E, NA_SE_PL_LAND_WATER1, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x826 */ DEFINE_SFX(CHAN_0590, NA_SE_PL_LAND_WATER2, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x827 */ DEFINE_SFX(CHAN_05A9, NA_SE_PL_LAND_MAGMA, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x828 */ DEFINE_SFX(CHAN_05C9, NA_SE_PL_LAND_GRASS, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x829 */ DEFINE_SFX(CHAN_05DD, NA_SE_PL_LAND_IRON, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x82A */ DEFINE_SFX(CHAN_05F1, NA_SE_PL_LAND_LADDER, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x82B */ DEFINE_SFX(CHAN_0603, NA_SE_PL_LAND_GLASS, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x82C */ DEFINE_SFX(CHAN_02A1, NA_SE_PL_DUMMY_44, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x82D */ DEFINE_SFX(CHAN_0615, NA_SE_PL_LAND_HEAVYBOOTS, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x82E */ DEFINE_SFX(CHAN_0622, NA_SE_PL_DUMMY_46, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x82F */ DEFINE_SFX(CHAN_0632, NA_SE_PL_LAND_ICE, 0x40, 0, 1, SFX_FLAG_10)
|
||||
/* 0x830 */ DEFINE_SFX(CHAN_0644, NA_SE_PL_SLIPDOWN, 0x30, 0, 2, 0)
|
||||
/* 0x831 */ DEFINE_SFX(CHAN_0655, NA_SE_PL_CLIMB_CLIFF, 0x30, 0, 0, 0)
|
||||
/* 0x832 */ DEFINE_SFX(CHAN_0662, NA_SE_PL_SIT_ON_HORSE, 0x30, 0, 0, 0)
|
||||
/* 0x833 */ DEFINE_SFX(CHAN_066F, NA_SE_PL_GET_OFF_HORSE, 0x30, 0, 0, 0)
|
||||
/* 0x834 */ DEFINE_SFX(CHAN_0680, NA_SE_PL_TAKE_OUT_SHIELD, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x835 */ DEFINE_SFX(CHAN_069D, NA_SE_PL_CHANGE_ARMS, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x836 */ DEFINE_SFX(CHAN_06BF, NA_SE_PL_CATCH_BOOMERANG, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x837 */ DEFINE_SFX(CHAN_06CD, NA_SE_PL_DUMMY_55, 0x30, 0, 1, 0)
|
||||
/* 0x838 */ DEFINE_SFX(CHAN_06E1, NA_SE_PL_DUMMY_56, 0x30, 0, 1, 0)
|
||||
/* 0x839 */ DEFINE_SFX(CHAN_06F2, NA_SE_PL_SWIM, 0x30, 0, 2, 0)
|
||||
/* 0x83A */ DEFINE_SFX(CHAN_0706, NA_SE_PL_THROW, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x83B */ DEFINE_SFX(CHAN_0714, NA_SE_PL_BODY_BOUND, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x83C */ DEFINE_SFX(CHAN_0731, NA_SE_PL_ROLL, 0x40, 0, 0, SFX_FLAG_10)
|
||||
/* 0x83D */ DEFINE_SFX(CHAN_0743, NA_SE_PL_SKIP, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x83E */ DEFINE_SFX(CHAN_0753, NA_SE_PL_BODY_HIT, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x83F */ DEFINE_SFX(CHAN_076A, NA_SE_PL_DAMAGE, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x840 */ DEFINE_SFX(CHAN_0796, NA_SE_PL_SLIP, 0x30, 0, 1, 0)
|
||||
/* 0x841 */ DEFINE_SFX(CHAN_07A0, NA_SE_PL_SLIP_SAND, 0x30, 0, 1, 0)
|
||||
/* 0x842 */ DEFINE_SFX(CHAN_07A7, NA_SE_PL_SLIP_CONCRETE, 0x30, 0, 1, 0)
|
||||
/* 0x843 */ DEFINE_SFX(CHAN_07AE, NA_SE_PL_SLIP_DIRT, 0x30, 0, 1, 0)
|
||||
/* 0x844 */ DEFINE_SFX(CHAN_07B5, NA_SE_PL_SLIP_WATER0, 0x30, 0, 1, 0)
|
||||
/* 0x845 */ DEFINE_SFX(CHAN_07BC, NA_SE_PL_SLIP_WATER1, 0x30, 0, 1, 0)
|
||||
/* 0x846 */ DEFINE_SFX(CHAN_07C3, NA_SE_PL_SLIP_WATER2, 0x30, 0, 1, 0)
|
||||
/* 0x847 */ DEFINE_SFX(CHAN_07CA, NA_SE_PL_SLIP_MAGMA, 0x30, 0, 1, 0)
|
||||
/* 0x848 */ DEFINE_SFX(CHAN_07D1, NA_SE_PL_SLIP_GRASS, 0x30, 0, 1, 0)
|
||||
/* 0x849 */ DEFINE_SFX(CHAN_07D8, NA_SE_PL_SLIP_IRON, 0x30, 0, 1, 0)
|
||||
/* 0x84A */ DEFINE_SFX(CHAN_07DF, NA_SE_PL_SLIP_LADDER, 0x30, 0, 1, 0)
|
||||
/* 0x84B */ DEFINE_SFX(CHAN_07E6, NA_SE_PL_SLIP_GLASS, 0x30, 0, 1, 0)
|
||||
/* 0x84C */ DEFINE_SFX(CHAN_02E8, NA_SE_PL_DUMMY76, 0x30, 0, 0, 0)
|
||||
/* 0x84D */ DEFINE_SFX(CHAN_07DF, NA_SE_PL_SLIP_HEAVYBOOTS, 0x30, 0, 0, 0)
|
||||
/* 0x84E */ DEFINE_SFX(CHAN_07ED, NA_SE_PL_DUMMY78, 0x30, 0, 0, 0)
|
||||
/* 0x84F */ DEFINE_SFX(CHAN_07A7, NA_SE_PL_SLIP_ICE, 0x30, 0, 0, 0)
|
||||
/* 0x850 */ DEFINE_SFX(CHAN_07F4, NA_SE_PL_BOUND, 0x80, 0, 0, 0)
|
||||
/* 0x851 */ DEFINE_SFX(CHAN_0811, NA_SE_PL_BOUND_SAND, 0x80, 0, 0, 0)
|
||||
/* 0x852 */ DEFINE_SFX(CHAN_081B, NA_SE_PL_BOUND_CONCRETE, 0x80, 0, 0, 0)
|
||||
/* 0x853 */ DEFINE_SFX(CHAN_0825, NA_SE_PL_BOUND_DIRT, 0x80, 0, 0, 0)
|
||||
/* 0x854 */ DEFINE_SFX(CHAN_082F, NA_SE_PL_BOUND_WATER0, 0x80, 0, 0, 0)
|
||||
/* 0x855 */ DEFINE_SFX(CHAN_083B, NA_SE_PL_BOUND_WATER1, 0x80, 0, 0, 0)
|
||||
/* 0x856 */ DEFINE_SFX(CHAN_0845, NA_SE_PL_BOUND_WATER2, 0x80, 0, 0, 0)
|
||||
/* 0x857 */ DEFINE_SFX(CHAN_084F, NA_SE_PL_BOUND_MAGMA, 0x80, 0, 0, 0)
|
||||
/* 0x858 */ DEFINE_SFX(CHAN_0859, NA_SE_PL_BOUND_GRASS, 0x80, 0, 0, 0)
|
||||
/* 0x859 */ DEFINE_SFX(CHAN_0863, NA_SE_PL_BOUND_IRON, 0x80, 0, 0, 0)
|
||||
/* 0x85A */ DEFINE_SFX(CHAN_086D, NA_SE_PL_BOUND_LADDER, 0x80, 0, 0, 0)
|
||||
/* 0x85B */ DEFINE_SFX(CHAN_0877, NA_SE_PL_BOUND_WOOD, 0x80, 0, 0, 0)
|
||||
/* 0x85C */ DEFINE_SFX(CHAN_02A1, NA_SE_PL_DUMMY_92, 0x80, 0, 0, 0)
|
||||
/* 0x85D */ DEFINE_SFX(CHAN_086D, NA_SE_PL_BOUND_HEAVYBOOTS, 0x80, 0, 0, 0)
|
||||
/* 0x85E */ DEFINE_SFX(CHAN_0882, NA_SE_PL_DUMMY_94, 0x80, 0, 0, 0)
|
||||
/* 0x85F */ DEFINE_SFX(CHAN_088D, NA_SE_PL_BOUND_ICE, 0x80, 0, 0, 0)
|
||||
/* 0x860 */ DEFINE_SFX(CHAN_0376, NA_SE_PL_DUMMY_96, 0x30, 0, 0, 0)
|
||||
/* 0x861 */ DEFINE_SFX(CHAN_04B1, NA_SE_PL_DUMMY_97, 0x30, 0, 0, 0)
|
||||
/* 0x862 */ DEFINE_SFX(CHAN_0615, NA_SE_PL_DUMMY_98, 0x30, 0, 0, 0)
|
||||
/* 0x863 */ DEFINE_SFX(CHAN_0898, NA_SE_PL_FACE_UP, 0x30, 0, 0, 0)
|
||||
/* 0x864 */ DEFINE_SFX(CHAN_08B7, NA_SE_PL_DIVE_BUBBLE, 0x30, 0, 0, 0)
|
||||
/* 0x865 */ DEFINE_SFX(CHAN_08CA, NA_SE_PL_MOVE_BUBBLE, 0x30, 0, 0, 0)
|
||||
/* 0x866 */ DEFINE_SFX(CHAN_08DC, NA_SE_PL_METALEFFECT_KID, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x867 */ DEFINE_SFX(CHAN_08E0, NA_SE_PL_METALEFFECT_ADULT, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x868 */ DEFINE_SFX(CHAN_08E4, NA_SE_PL_SPARK, 0x30, 0, 0, 0)
|
||||
/* 0x869 */ DEFINE_SFX(CHAN_090A, NA_SE_PL_PULL_UP_PLANT, 0x30, 0, 0, 0)
|
||||
/* 0x86A */ DEFINE_SFX(CHAN_091C, NA_SE_PL_PULL_UP_ROCK, 0x30, 0, 0, 0)
|
||||
/* 0x86B */ DEFINE_SFX(CHAN_0940, NA_SE_PL_IN_BUBBLE, 0x30, 0, 0, 0)
|
||||
/* 0x86C */ DEFINE_SFX(CHAN_0950, NA_SE_PL_PULL_UP_BIGROCK, 0x30, 3, 0, 0)
|
||||
/* 0x86D */ DEFINE_SFX(CHAN_0959, NA_SE_PL_SWORD_CHARGE, 0x30, 0, 0, 0)
|
||||
/* 0x86E */ DEFINE_SFX(CHAN_096A, NA_SE_PL_FREEZE, 0x30, 0, 0, 0)
|
||||
/* 0x86F */ DEFINE_SFX(CHAN_0989, NA_SE_PL_PULL_UP_POT, 0x30, 0, 0, 0)
|
||||
/* 0x870 */ DEFINE_SFX(CHAN_09A0, NA_SE_PL_KNOCK, 0x30, 0, 0, 0)
|
||||
/* 0x871 */ DEFINE_SFX(CHAN_09AE, NA_SE_PL_CALM_HIT, 0x30, 0, 2, 0)
|
||||
/* 0x872 */ DEFINE_SFX(CHAN_09BC, NA_SE_PL_CALM_PAT, 0x30, 0, 0, 0)
|
||||
/* 0x873 */ DEFINE_SFX(CHAN_09CA, NA_SE_PL_SUBMERGE, 0x30, 0, 0, 0)
|
||||
/* 0x874 */ DEFINE_SFX(CHAN_09E9, NA_SE_PL_FREEZE_S, 0x30, 3, 0, 0)
|
||||
/* 0x875 */ DEFINE_SFX(CHAN_0A06, NA_SE_PL_ICE_BROKEN, 0x30, 1, 0, 0)
|
||||
/* 0x876 */ DEFINE_SFX(CHAN_0A15, NA_SE_PL_SLIP_ICE_LELEL, 0x30, 0, 0, 0)
|
||||
/* 0x877 */ DEFINE_SFX(CHAN_0A23, NA_SE_PL_PUT_OUT_ITEM, 0x30, 0, 0, 0)
|
||||
/* 0x878 */ DEFINE_SFX(CHAN_0A36, NA_SE_PL_PULL_UP_WOODBOX, 0x30, 0, 0, 0)
|
||||
/* 0x879 */ DEFINE_SFX(CHAN_0A40, NA_SE_PL_MAGIC_FIRE, 0x30, 0, 0, 0)
|
||||
/* 0x87A */ DEFINE_SFX(CHAN_0A7B, NA_SE_PL_MAGIC_WIND_NORMAL, 0x30, 0, 0, 0)
|
||||
/* 0x87B */ DEFINE_SFX(CHAN_0ABC, NA_SE_PL_MAGIC_WIND_WARP, 0x30, 0, 0, SFX_FLAG_13)
|
||||
/* 0x87C */ DEFINE_SFX(CHAN_0AD8, NA_SE_PL_MAGIC_SOUL_NORMAL, 0x30, 0, 0, SFX_FLAG_11 | SFX_FLAG_10)
|
||||
/* 0x87D */ DEFINE_SFX(CHAN_0B08, NA_SE_PL_ARROW_CHARGE_FIRE, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x87E */ DEFINE_SFX(CHAN_0B37, NA_SE_PL_ARROW_CHARGE_ICE, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x87F */ DEFINE_SFX(CHAN_0B5D, NA_SE_PL_ARROW_CHARGE_LIGHT, 0x30, 0, 0, SFX_FLAG_10)
|
||||
/* 0x880 */ DEFINE_SFX(CHAN_0B79, NA_SE_PL_DUMMY_128, 0x20, 0, 2, 0)
|
||||
/* 0x881 */ DEFINE_SFX(CHAN_0B96, NA_SE_PL_DUMMY_129, 0x20, 0, 2, 0)
|
||||
/* 0x882 */ DEFINE_SFX(CHAN_0B9A, NA_SE_PL_DUMMY_130, 0x20, 0, 2, 0)
|
||||
/* 0x883 */ DEFINE_SFX(CHAN_0B9E, NA_SE_PL_PULL_UP_RUTO, 0x20, 0, 2, 0)
|
||||
/* 0x884 */ DEFINE_SFX(CHAN_0BA2, NA_SE_PL_DUMMY_132, 0x20, 0, 1, 0)
|
||||
/* 0x885 */ DEFINE_SFX(CHAN_0BA6, NA_SE_PL_DUMMY_133, 0x20, 0, 1, 0)
|
||||
/* 0x886 */ DEFINE_SFX(CHAN_0BAA, NA_SE_PL_DUMMY_134, 0x20, 0, 1, 0)
|
||||
/* 0x887 */ DEFINE_SFX(CHAN_0BAE, NA_SE_PL_DUMMY_135, 0x20, 0, 1, 0)
|
||||
/* 0x888 */ DEFINE_SFX(CHAN_0BB2, NA_SE_PL_DUMMY_136, 0x20, 0, 2, 0)
|
||||
/* 0x889 */ DEFINE_SFX(CHAN_0BB6, NA_SE_PL_DUMMY_137, 0x20, 0, 2, 0)
|
||||
/* 0x88A */ DEFINE_SFX(CHAN_0BBA, NA_SE_PL_DUMMY_138, 0x20, 0, 2, 0)
|
||||
/* 0x88B */ DEFINE_SFX(CHAN_0BBE, NA_SE_PL_DUMMY_139, 0x20, 0, 0, 0)
|
||||
/* 0x88C */ DEFINE_SFX(CHAN_0BC2, NA_SE_PL_DUMMY_140, 0x20, 0, 0, 0)
|
||||
/* 0x88D */ DEFINE_SFX(CHAN_0376, NA_SE_PL_DUMMY_141, 0x20, 0, 0, 0)
|
||||
/* 0x88E */ DEFINE_SFX(CHAN_02A1, NA_SE_PL_DUMMY_142, 0x20, 0, 0, 0)
|
||||
/* 0x88F */ DEFINE_SFX(CHAN_0BC9, NA_SE_PL_DUMMY_143, 0x20, 0, 0, 0)
|
||||
/* 0x890 */ DEFINE_SFX(CHAN_0BCD, NA_SE_PL_DUMMY_144, 0x30, 0, 0, 0)
|
||||
/* 0x891 */ DEFINE_SFX(CHAN_0BED, NA_SE_PL_DUMMY_145, 0x30, 0, 0, 0)
|
||||
/* 0x892 */ DEFINE_SFX(CHAN_0BF4, NA_SE_PL_DUMMY_146, 0x30, 0, 0, 0)
|
||||
/* 0x893 */ DEFINE_SFX(CHAN_0BFB, NA_SE_PL_DUMMY_147, 0x30, 0, 0, 0)
|
||||
/* 0x894 */ DEFINE_SFX(CHAN_0C02, NA_SE_PL_DUMMY_148, 0x30, 0, 0, 0)
|
||||
/* 0x895 */ DEFINE_SFX(CHAN_0C09, NA_SE_PL_DUMMY_149, 0x30, 0, 0, 0)
|
||||
/* 0x896 */ DEFINE_SFX(CHAN_0C0D, NA_SE_PL_DUMMY_150, 0x30, 0, 0, 0)
|
||||
/* 0x897 */ DEFINE_SFX(CHAN_0C14, NA_SE_PL_DUMMY_151, 0x30, 0, 0, 0)
|
||||
/* 0x898 */ DEFINE_SFX(CHAN_0C1B, NA_SE_PL_DUMMY_152, 0x30, 0, 0, 0)
|
||||
/* 0x899 */ DEFINE_SFX(CHAN_0C22, NA_SE_PL_DUMMY_153, 0x30, 0, 0, 0)
|
||||
/* 0x89A */ DEFINE_SFX(CHAN_0C29, NA_SE_PL_DUMMY_154, 0x30, 0, 0, 0)
|
||||
/* 0x89B */ DEFINE_SFX(CHAN_0C30, NA_SE_PL_DUMMY_155, 0x30, 0, 0, 0)
|
||||
/* 0x89C */ DEFINE_SFX(CHAN_02A1, NA_SE_PL_DUMMY_156, 0x30, 0, 0, 0)
|
||||
/* 0x89D */ DEFINE_SFX(CHAN_04B1, NA_SE_PL_DUMMY_157, 0x30, 0, 0, 0)
|
||||
/* 0x89E */ DEFINE_SFX(CHAN_02A1, NA_SE_PL_DUMMY_158, 0x30, 0, 0, 0)
|
||||
/* 0x89F */ DEFINE_SFX(CHAN_0C37, NA_SE_PL_DUMMY_159, 0x30, 0, 0, 0)
|
||||
/* 0x8A0 */ DEFINE_SFX(CHAN_0C3E, NA_SE_PL_DUMMY_160, 0x40, 0, 0, 0)
|
||||
/* 0x8A1 */ DEFINE_SFX(CHAN_0C5C, NA_SE_PL_DUMMY_161, 0x40, 0, 0, 0)
|
||||
/* 0x8A2 */ DEFINE_SFX(CHAN_0C63, NA_SE_PL_DUMMY_162, 0x40, 0, 0, 0)
|
||||
/* 0x8A3 */ DEFINE_SFX(CHAN_0C6A, NA_SE_PL_DUMMY_163, 0x40, 0, 0, 0)
|
||||
/* 0x8A4 */ DEFINE_SFX(CHAN_0C71, NA_SE_PL_DUMMY_164, 0x40, 0, 0, 0)
|
||||
/* 0x8A5 */ DEFINE_SFX(CHAN_0C78, NA_SE_PL_DUMMY_165, 0x40, 0, 0, 0)
|
||||
/* 0x8A6 */ DEFINE_SFX(CHAN_0C7C, NA_SE_PL_DUMMY_166, 0x40, 0, 0, 0)
|
||||
/* 0x8A7 */ DEFINE_SFX(CHAN_0C83, NA_SE_PL_DUMMY_167, 0x40, 0, 0, 0)
|
||||
/* 0x8A8 */ DEFINE_SFX(CHAN_0C8A, NA_SE_PL_DUMMY_168, 0x40, 0, 0, 0)
|
||||
/* 0x8A9 */ DEFINE_SFX(CHAN_0C91, NA_SE_PL_DUMMY_169, 0x40, 0, 0, 0)
|
||||
/* 0x8AA */ DEFINE_SFX(CHAN_0C98, NA_SE_PL_DUMMY_170, 0x40, 0, 0, 0)
|
||||
/* 0x8AB */ DEFINE_SFX(CHAN_0C9F, NA_SE_PL_DUMMY_171, 0x40, 0, 0, 0)
|
||||
/* 0x8AC */ DEFINE_SFX(CHAN_0B79, NA_SE_PL_DUMMY_172, 0x40, 0, 0, 0)
|
||||
/* 0x8AD */ DEFINE_SFX(CHAN_0615, NA_SE_PL_DUMMY_173, 0x40, 0, 0, 0)
|
||||
/* 0x8AE */ DEFINE_SFX(CHAN_02A1, NA_SE_PL_DUMMY_174, 0x40, 0, 0, 0)
|
||||
/* 0x8AF */ DEFINE_SFX(CHAN_0CA6, NA_SE_PL_DUMMY_175, 0x40, 0, 0, 0)
|
||||
/* 0x8B0 */ DEFINE_SFX(CHAN_0CAD, NA_SE_PL_CRAWL, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8B1 */ DEFINE_SFX(CHAN_0CB8, NA_SE_PL_CRAWL_SAND, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8B2 */ DEFINE_SFX(CHAN_0CC3, NA_SE_PL_CRAWL_CONCRETE, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8B3 */ DEFINE_SFX(CHAN_0CCE, NA_SE_PL_CRAWL_DIRT, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8B4 */ DEFINE_SFX(CHAN_0CD9, NA_SE_PL_CRAWL_WATER0, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8B5 */ DEFINE_SFX(CHAN_0CE4, NA_SE_PL_DUMMY_181, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8B6 */ DEFINE_SFX(CHAN_0CEF, NA_SE_PL_DUMMY_182, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8B7 */ DEFINE_SFX(CHAN_0CFA, NA_SE_PL_DUMMY_183, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8B8 */ DEFINE_SFX(CHAN_0D05, NA_SE_PL_DUMMY_184, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8B9 */ DEFINE_SFX(CHAN_0D10, NA_SE_PL_DUMMY_185, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8BA */ DEFINE_SFX(CHAN_0D1B, NA_SE_PL_DUMMY_186, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8BB */ DEFINE_SFX(CHAN_0D26, NA_SE_PL_CRAWL_WOOD, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8BC */ DEFINE_SFX(CHAN_02A1, NA_SE_PL_CRAWL_ICE, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8BD */ DEFINE_SFX(CHAN_02A1, NA_SE_PL_DUMMY_189, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8BE */ DEFINE_SFX(CHAN_02A1, NA_SE_PL_DUMMY_190, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8BF */ DEFINE_SFX(CHAN_0D31, NA_SE_PL_DUMMY_191, 0x30, 0, 1, SFX_FLAG_10)
|
||||
/* 0x8C0 */ DEFINE_SFX(CHAN_0D3C, NA_SE_PL_MAGIC_SOUL_FLASH, 0x30, 0, 0, SFX_FLAG_11 | SFX_FLAG_10)
|
||||
/* 0x8C1 */ DEFINE_SFX(CHAN_0D43, NA_SE_PL_ROLL_DUST, 0x30, 0, 2, 0)
|
||||
/* 0x8C2 */ DEFINE_SFX(CHAN_0D57, NA_SE_PL_DUMMY_192, 0x30, 0, 0, 0)
|
||||
/* 0x8C3 */ DEFINE_SFX(CHAN_0D68, NA_SE_PL_MAGIC_SOUL_BALL, 0x30, 0, 0, 0)
|
||||
/* 0x8C4 */ DEFINE_SFX(CHAN_0D7F, NA_SE_PL_SPIRAL_HEAL_BEAM, 0x30, 0, 0, 0)
|
||||
/* 0x8C5 */ DEFINE_SFX(CHAN_07FC, NA_SE_PL_BOUND_NOWEAPON, 0x30, 0, 0, 0)
|
||||
/* 0x8C6 */ DEFINE_SFX(CHAN_0DC9, NA_SE_PL_PLANT_GROW_UP, 0x30, 0, 0, 0)
|
||||
/* 0x8C7 */ DEFINE_SFX(CHAN_0DA9, NA_SE_PL_PLANT_TALLER, 0x30, 0, 0, 0)
|
||||
/* 0x8C8 */ DEFINE_SFX(CHAN_0DCE, NA_SE_PL_MAGIC_WIND_VANISH, 0x60, 2, 0, 0)
|
||||
/* 0x8C9 */ DEFINE_SFX(CHAN_0DE3, NA_SE_PL_HOBBERBOOTS_LV, 0x30, 0, 0, 0)
|
||||
/* 0x8CA */ DEFINE_SFX(CHAN_0DF9, NA_SE_PL_PLANT_MOVE, 0x30, 0, 0, 0)
|
||||
/* 0x8CB */ DEFINE_SFX(CHAN_1C14, NA_SE_EV_WALL_MOVE_SP, 0x30, 0, 0, SFX_FLAG_11)
|
||||
/* 0x8CC */ DEFINE_SFX(CHAN_02A1, NA_SE_PL_DUMMY_204, 0x30, 0, 0, 0)
|
||||
/* 0x8CD */ DEFINE_SFX(CHAN_02A1, NA_SE_PL_DUMMY_205, 0x30, 0, 0, 0)
|
||||
/* 0x8CE */ DEFINE_SFX(CHAN_02A1, NA_SE_PL_DUMMY_206, 0x30, 0, 0, 0)
|
||||
/* 0x8CF */ DEFINE_SFX(CHAN_02A1, NA_SE_PL_DUMMY_207, 0x30, 0, 0, 0)
|
||||
/* 0x8D0 */ DEFINE_SFX(CHAN_0E08, NA_SE_PL_SLIP_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8D1 */ DEFINE_SFX(CHAN_0E18, NA_SE_PL_SLIP_SAND_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8D2 */ DEFINE_SFX(CHAN_0E20, NA_SE_PL_SLIP_CONCRETE_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8D3 */ DEFINE_SFX(CHAN_0E30, NA_SE_PL_SLIP_DIRT_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8D4 */ DEFINE_SFX(CHAN_0E30, NA_SE_PL_SLIP_WATER0_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8D5 */ DEFINE_SFX(CHAN_0E30, NA_SE_PL_SLIP_WATER1_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8D6 */ DEFINE_SFX(CHAN_0E38, NA_SE_PL_SLIP_WATER2_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8D7 */ DEFINE_SFX(CHAN_0E30, NA_SE_PL_SLIP_MAGMA_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8D8 */ DEFINE_SFX(CHAN_0E48, NA_SE_PL_SLIP_GRASS_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8D9 */ DEFINE_SFX(CHAN_0E08, NA_SE_PL_SLIP_IRON_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8DA */ DEFINE_SFX(CHAN_0E50, NA_SE_PL_SLIP_GLASS_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8DB */ DEFINE_SFX(CHAN_0E50, NA_SE_PL_SLIP_WOOD_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8DC */ DEFINE_SFX(CHAN_02E8, NA_SE_PL_DUMMY_220, 0x30, 0, 0, 0)
|
||||
/* 0x8DD */ DEFINE_SFX(CHAN_0E50, NA_SE_PL_DUMMY_221, 0x30, 0, 0, 0)
|
||||
/* 0x8DE */ DEFINE_SFX(CHAN_0E60, NA_SE_PL_SLIP_HEAVYBOOTS_LEVEL, 0x30, 0, 0, 0)
|
||||
/* 0x8DF */ DEFINE_SFX(CHAN_0E20, NA_SE_PL_SLIP_ICE_LEVEL, 0x30, 0, 0, 0)
|
||||
|
@ -2,83 +2,82 @@
|
||||
* Sfx System Bank
|
||||
*
|
||||
* DEFINE_SFX should be used for all sfx define in the system bank from sequence 0
|
||||
* - Argument 0: Channel name for sequence 0
|
||||
* - Argument 1: Enum value for this sfx
|
||||
* - Argument 2: Importance for deciding which sfx to prioritize. Higher values have greater importance
|
||||
* - Argument 3: Slows the decay of volume with distance (a 2-bit number ranging from 0-3)
|
||||
* - Argument 4: Applies increasingly random offsets to frequency (a 2-bit number ranging from 0-3)
|
||||
* - Argument 5: Various flags to add properties to the sfx
|
||||
*
|
||||
* WARNING: entries must align with the table defined for the system bank in sequence 0
|
||||
*/
|
||||
/* 0x4800 */ DEFINE_SFX(NA_SE_SY_WIN_OPEN, 0xC0, 0, 0, 0)
|
||||
/* 0x4801 */ DEFINE_SFX(NA_SE_SY_WIN_CLOSE, 0xC0, 0, 0, 0)
|
||||
/* 0x4802 */ DEFINE_SFX(NA_SE_SY_CORRECT_CHIME, 0xB0, 0, 0, SFX_FLAG_5)
|
||||
/* 0x4803 */ DEFINE_SFX(NA_SE_SY_GET_RUPY, 0x30, 0, 0, 0)
|
||||
/* 0x4804 */ DEFINE_SFX(NA_SE_SY_MESSAGE_WOMAN, 0x30, 0, 0, 0)
|
||||
/* 0x4805 */ DEFINE_SFX(NA_SE_SY_MESSAGE_MAN, 0x30, 0, 0, 0)
|
||||
/* 0x4806 */ DEFINE_SFX(NA_SE_SY_ERROR, 0x50, 0, 0, 0)
|
||||
/* 0x4807 */ DEFINE_SFX(NA_SE_SY_TRE_BOX_APPEAR, 0x30, 0, 0, SFX_FLAG_5)
|
||||
/* 0x4808 */ DEFINE_SFX(NA_SE_SY_DECIDE, 0x30, 0, 0, 0)
|
||||
/* 0x4809 */ DEFINE_SFX(NA_SE_SY_CURSOR, 0x30, 0, 0, 0)
|
||||
/* 0x480A */ DEFINE_SFX(NA_SE_SY_CANCEL, 0x30, 0, 0, 0)
|
||||
/* 0x480B */ DEFINE_SFX(NA_SE_SY_HP_RECOVER, 0x30, 0, 0, 0)
|
||||
/* 0x480C */ DEFINE_SFX(NA_SE_SY_ATTENTION_ON, 0x20, 0, 0, 0)
|
||||
/* 0x480D */ DEFINE_SFX(NA_SE_SY_DUMMY_13, 0x30, 0, 0, 0)
|
||||
/* 0x480E */ DEFINE_SFX(NA_SE_SY_DUMMY_14, 0x30, 0, 0, 0)
|
||||
/* 0x480F */ DEFINE_SFX(NA_SE_SY_LOCK_OFF, 0x30, 0, 0, 0)
|
||||
/* 0x4810 */ DEFINE_SFX(NA_SE_SY_LOCK_ON_HUMAN, 0x28, 0, 0, 0)
|
||||
/* 0x4811 */ DEFINE_SFX(NA_SE_SY_DUMMY_17, 0x30, 0, 0, 0)
|
||||
/* 0x4812 */ DEFINE_SFX(NA_SE_SY_DUMMY_18, 0x30, 0, 0, 0)
|
||||
/* 0x4813 */ DEFINE_SFX(NA_SE_SY_CAMERA_ZOOM_UP, 0x30, 0, 0, 0)
|
||||
/* 0x4814 */ DEFINE_SFX(NA_SE_SY_CAMERA_ZOOM_DOWN, 0x30, 0, 0, 0)
|
||||
/* 0x4815 */ DEFINE_SFX(NA_SE_SY_DUMMY_21, 0x30, 0, 0, 0)
|
||||
/* 0x4816 */ DEFINE_SFX(NA_SE_SY_DUMMY_22, 0x30, 0, 0, 0)
|
||||
/* 0x4817 */ DEFINE_SFX(NA_SE_SY_ATTENTION_ON_OLD, 0x30, 0, 0, 0)
|
||||
/* 0x4818 */ DEFINE_SFX(NA_SE_SY_MESSAGE_PASS, 0x18, 0, 0, 0)
|
||||
/* 0x4819 */ DEFINE_SFX(NA_SE_SY_WARNING_COUNT_N, 0x2C, 0, 0, 0)
|
||||
/* 0x481A */ DEFINE_SFX(NA_SE_SY_WARNING_COUNT_E, 0x2C, 0, 0, 0)
|
||||
/* 0x481B */ DEFINE_SFX(NA_SE_SY_HITPOINT_ALARM, 0x20, 0, 0, 0)
|
||||
/* 0x481C */ DEFINE_SFX(NA_SE_SY_DUMMY_28, 0x30, 0, 0, 0)
|
||||
/* 0x481D */ DEFINE_SFX(NA_SE_SY_DEMO_CUT, 0x30, 0, 0, 0)
|
||||
/* 0x481E */ DEFINE_SFX(NA_SE_SY_NAVY_CALL, 0x30, 0, 0, 0)
|
||||
/* 0x481F */ DEFINE_SFX(NA_SE_SY_GAUGE_UP, 0x30, 0, 0, 0)
|
||||
/* 0x4820 */ DEFINE_SFX(NA_SE_SY_DUMMY_32, 0x30, 0, 0, 0)
|
||||
/* 0x4821 */ DEFINE_SFX(NA_SE_SY_DUMMY_33, 0x30, 0, 0, 0)
|
||||
/* 0x4822 */ DEFINE_SFX(NA_SE_SY_DUMMY_34, 0x30, 0, 0, 0)
|
||||
/* 0x4823 */ DEFINE_SFX(NA_SE_SY_PIECE_OF_HEART, 0x30, 0, 0, 0)
|
||||
/* 0x4824 */ DEFINE_SFX(NA_SE_SY_GET_ITEM, 0x30, 0, 0, 0)
|
||||
/* 0x4825 */ DEFINE_SFX(NA_SE_SY_WIN_SCROLL_LEFT, 0x30, 0, 0, 0)
|
||||
/* 0x4826 */ DEFINE_SFX(NA_SE_SY_WIN_SCROLL_RIGHT, 0x30, 0, 0, 0)
|
||||
/* 0x4827 */ DEFINE_SFX(NA_SE_SY_OCARINA_ERROR, 0x20, 0, 0, 0)
|
||||
/* 0x4828 */ DEFINE_SFX(NA_SE_SY_CAMERA_ZOOM_UP_2, 0x30, 0, 0, 0)
|
||||
/* 0x4829 */ DEFINE_SFX(NA_SE_SY_CAMERA_ZOOM_DOWN_2, 0x30, 0, 0, 0)
|
||||
/* 0x482A */ DEFINE_SFX(NA_SE_SY_GLASSMODE_ON, 0x30, 0, 0, 0)
|
||||
/* 0x482B */ DEFINE_SFX(NA_SE_SY_GLASSMODE_OFF, 0x30, 0, 0, 0)
|
||||
/* 0x482C */ DEFINE_SFX(NA_SE_SY_FOUND, 0x60, 0, 0, 0)
|
||||
/* 0x482D */ DEFINE_SFX(NA_SE_SY_HIT_SOUND, 0x30, 0, 0, 0)
|
||||
/* 0x482E */ DEFINE_SFX(NA_SE_SY_MESSAGE_END, 0x30, 0, 0, 0)
|
||||
/* 0x482F */ DEFINE_SFX(NA_SE_SY_RUPY_COUNT, 0x30, 0, 0, 0)
|
||||
/* 0x4830 */ DEFINE_SFX(NA_SE_SY_LOCK_ON, 0x30, 0, 0, 0)
|
||||
/* 0x4831 */ DEFINE_SFX(NA_SE_SY_GET_BOXITEM, 0x30, 0, 0, 0)
|
||||
/* 0x4832 */ DEFINE_SFX(NA_SE_SY_WHITE_OUT_L, 0x30, 0, 0, 0)
|
||||
/* 0x4833 */ DEFINE_SFX(NA_SE_SY_WHITE_OUT_S, 0x30, 0, 0, 0)
|
||||
/* 0x4834 */ DEFINE_SFX(NA_SE_SY_WHITE_OUT_T, 0x30, 0, 0, 0)
|
||||
/* 0x4835 */ DEFINE_SFX(NA_SE_SY_START_SHOT, 0x30, 0, 0, 0)
|
||||
/* 0x4836 */ DEFINE_SFX(NA_SE_SY_METRONOME, 0x30, 0, 0, 0)
|
||||
/* 0x4837 */ DEFINE_SFX(NA_SE_SY_ATTENTION_URGENCY, 0x30, 0, 0, 0)
|
||||
/* 0x4838 */ DEFINE_SFX(NA_SE_SY_METRONOME_LV, 0x30, 0, 0, 0)
|
||||
/* 0x4839 */ DEFINE_SFX(NA_SE_SY_FSEL_CURSOR, 0x30, 0, 0, 0)
|
||||
/* 0x483A */ DEFINE_SFX(NA_SE_SY_FSEL_DECIDE_S, 0x30, 0, 0, 0)
|
||||
/* 0x483B */ DEFINE_SFX(NA_SE_SY_FSEL_DECIDE_L, 0x30, 0, 0, 0)
|
||||
/* 0x483C */ DEFINE_SFX(NA_SE_SY_FSEL_CLOSE, 0x30, 0, 0, 0)
|
||||
/* 0x483D */ DEFINE_SFX(NA_SE_SY_FSEL_ERROR, 0x30, 0, 0, 0)
|
||||
/* 0x483E */ DEFINE_SFX(NA_SE_SY_SET_FIRE_ARROW, 0x30, 0, 0, 0)
|
||||
/* 0x483F */ DEFINE_SFX(NA_SE_SY_SET_ICE_ARROW, 0x30, 0, 0, 0)
|
||||
/* 0x4840 */ DEFINE_SFX(NA_SE_SY_SET_LIGHT_ARROW, 0x30, 0, 0, 0)
|
||||
/* 0x4841 */ DEFINE_SFX(NA_SE_SY_SYNTH_MAGIC_ARROW, 0x30, 0, 0, 0)
|
||||
/* 0x4842 */ DEFINE_SFX(NA_SE_SY_METRONOME_2, 0x30, 0, 0, 0)
|
||||
/* 0x4843 */ DEFINE_SFX(NA_SE_SY_KINSTA_MARK_APPEAR, 0x30, 0, 0, 0)
|
||||
/* 0x4844 */ DEFINE_SFX(NA_SE_SY_FIVE_COUNT_LUPY, 0x30, 0, 0, 0)
|
||||
/* 0x4845 */ DEFINE_SFX(NA_SE_SY_CARROT_RECOVER, 0x30, 0, 0, 0)
|
||||
/* 0x4846 */ DEFINE_SFX(NA_SE_EV_FAIVE_LUPY_COUNT, 0x30, 0, 0, 0)
|
||||
/* 0x4847 */ DEFINE_SFX(NA_SE_SY_DUMMY_71, 0x30, 0, 0, 0)
|
||||
/* 0x4800 */ DEFINE_SFX(CHAN_57B9, NA_SE_SY_WIN_OPEN, 0xC0, 0, 0, 0)
|
||||
/* 0x4801 */ DEFINE_SFX(CHAN_57F6, NA_SE_SY_WIN_CLOSE, 0xC0, 0, 0, 0)
|
||||
/* 0x4802 */ DEFINE_SFX(CHAN_5833, NA_SE_SY_CORRECT_CHIME, 0xB0, 0, 0, SFX_FLAG_5)
|
||||
/* 0x4803 */ DEFINE_SFX(CHAN_5861, NA_SE_SY_GET_RUPY, 0x30, 0, 0, 0)
|
||||
/* 0x4804 */ DEFINE_SFX(CHAN_5880, NA_SE_SY_MESSAGE_WOMAN, 0x30, 0, 0, 0)
|
||||
/* 0x4805 */ DEFINE_SFX(CHAN_588E, NA_SE_SY_MESSAGE_MAN, 0x30, 0, 0, 0)
|
||||
/* 0x4806 */ DEFINE_SFX(CHAN_588E, NA_SE_SY_ERROR, 0x50, 0, 0, 0)
|
||||
/* 0x4807 */ DEFINE_SFX(CHAN_589F, NA_SE_SY_TRE_BOX_APPEAR, 0x30, 0, 0, SFX_FLAG_5)
|
||||
/* 0x4808 */ DEFINE_SFX(CHAN_58E9, NA_SE_SY_DECIDE, 0x30, 0, 0, 0)
|
||||
/* 0x4809 */ DEFINE_SFX(CHAN_5933, NA_SE_SY_CURSOR, 0x30, 0, 0, 0)
|
||||
/* 0x480A */ DEFINE_SFX(CHAN_5948, NA_SE_SY_CANCEL, 0x30, 0, 0, 0)
|
||||
/* 0x480B */ DEFINE_SFX(CHAN_596D, NA_SE_SY_HP_RECOVER, 0x30, 0, 0, 0)
|
||||
/* 0x480C */ DEFINE_SFX(CHAN_598D, NA_SE_SY_ATTENTION_ON, 0x20, 0, 0, 0)
|
||||
/* 0x480D */ DEFINE_SFX(CHAN_5A02, NA_SE_SY_DUMMY_13, 0x30, 0, 0, 0)
|
||||
/* 0x480E */ DEFINE_SFX(CHAN_59A9, NA_SE_SY_DUMMY_14, 0x30, 0, 0, 0)
|
||||
/* 0x480F */ DEFINE_SFX(CHAN_59CB, NA_SE_SY_LOCK_OFF, 0x30, 0, 0, 0)
|
||||
/* 0x4810 */ DEFINE_SFX(CHAN_59E5, NA_SE_SY_LOCK_ON_HUMAN, 0x28, 0, 0, 0)
|
||||
/* 0x4811 */ DEFINE_SFX(CHAN_5A02, NA_SE_SY_DUMMY_17, 0x30, 0, 0, 0)
|
||||
/* 0x4812 */ DEFINE_SFX(CHAN_5A1B, NA_SE_SY_DUMMY_18, 0x30, 0, 0, 0)
|
||||
/* 0x4813 */ DEFINE_SFX(CHAN_5A34, NA_SE_SY_CAMERA_ZOOM_UP, 0x30, 0, 0, 0)
|
||||
/* 0x4814 */ DEFINE_SFX(CHAN_5A47, NA_SE_SY_CAMERA_ZOOM_DOWN, 0x30, 0, 0, 0)
|
||||
/* 0x4815 */ DEFINE_SFX(CHAN_5A34, NA_SE_SY_DUMMY_21, 0x30, 0, 0, 0)
|
||||
/* 0x4816 */ DEFINE_SFX(CHAN_5A34, NA_SE_SY_DUMMY_22, 0x30, 0, 0, 0)
|
||||
/* 0x4817 */ DEFINE_SFX(CHAN_5A5A, NA_SE_SY_ATTENTION_ON_OLD, 0x30, 0, 0, 0)
|
||||
/* 0x4818 */ DEFINE_SFX(CHAN_5A64, NA_SE_SY_MESSAGE_PASS, 0x18, 0, 0, 0)
|
||||
/* 0x4819 */ DEFINE_SFX(CHAN_5A72, NA_SE_SY_WARNING_COUNT_N, 0x2C, 0, 0, 0)
|
||||
/* 0x481A */ DEFINE_SFX(CHAN_5A86, NA_SE_SY_WARNING_COUNT_E, 0x2C, 0, 0, 0)
|
||||
/* 0x481B */ DEFINE_SFX(CHAN_5AA5, NA_SE_SY_HITPOINT_ALARM, 0x20, 0, 0, 0)
|
||||
/* 0x481C */ DEFINE_SFX(CHAN_5AB7, NA_SE_SY_DUMMY_28, 0x30, 0, 0, 0)
|
||||
/* 0x481D */ DEFINE_SFX(CHAN_5AB7, NA_SE_SY_DEMO_CUT, 0x30, 0, 0, 0)
|
||||
/* 0x481E */ DEFINE_SFX(CHAN_5AD8, NA_SE_SY_NAVY_CALL, 0x30, 0, 0, 0)
|
||||
/* 0x481F */ DEFINE_SFX(CHAN_5AF7, NA_SE_SY_GAUGE_UP, 0x30, 0, 0, 0)
|
||||
/* 0x4820 */ DEFINE_SFX(CHAN_5B22, NA_SE_SY_DUMMY_32, 0x30, 0, 0, 0)
|
||||
/* 0x4821 */ DEFINE_SFX(CHAN_5B3C, NA_SE_SY_DUMMY_33, 0x30, 0, 0, 0)
|
||||
/* 0x4822 */ DEFINE_SFX(CHAN_5B54, NA_SE_SY_DUMMY_34, 0x30, 0, 0, 0)
|
||||
/* 0x4823 */ DEFINE_SFX(CHAN_5B5B, NA_SE_SY_PIECE_OF_HEART, 0x30, 0, 0, 0)
|
||||
/* 0x4824 */ DEFINE_SFX(CHAN_5B9C, NA_SE_SY_GET_ITEM, 0x30, 0, 0, 0)
|
||||
/* 0x4825 */ DEFINE_SFX(CHAN_5BBE, NA_SE_SY_WIN_SCROLL_LEFT, 0x30, 0, 0, 0)
|
||||
/* 0x4826 */ DEFINE_SFX(CHAN_5BE8, NA_SE_SY_WIN_SCROLL_RIGHT, 0x30, 0, 0, 0)
|
||||
/* 0x4827 */ DEFINE_SFX(CHAN_5BFA, NA_SE_SY_OCARINA_ERROR, 0x20, 0, 0, 0)
|
||||
/* 0x4828 */ DEFINE_SFX(CHAN_5C07, NA_SE_SY_CAMERA_ZOOM_UP_2, 0x30, 0, 0, 0)
|
||||
/* 0x4829 */ DEFINE_SFX(CHAN_5C1E, NA_SE_SY_CAMERA_ZOOM_DOWN_2, 0x30, 0, 0, 0)
|
||||
/* 0x482A */ DEFINE_SFX(CHAN_5C35, NA_SE_SY_GLASSMODE_ON, 0x30, 0, 0, 0)
|
||||
/* 0x482B */ DEFINE_SFX(CHAN_5C46, NA_SE_SY_GLASSMODE_OFF, 0x30, 0, 0, 0)
|
||||
/* 0x482C */ DEFINE_SFX(CHAN_5C57, NA_SE_SY_FOUND, 0x60, 0, 0, 0)
|
||||
/* 0x482D */ DEFINE_SFX(CHAN_5C64, NA_SE_SY_HIT_SOUND, 0x30, 0, 0, 0)
|
||||
/* 0x482E */ DEFINE_SFX(CHAN_5C7A, NA_SE_SY_MESSAGE_END, 0x30, 0, 0, 0)
|
||||
/* 0x482F */ DEFINE_SFX(CHAN_5C94, NA_SE_SY_RUPY_COUNT, 0x30, 0, 0, 0)
|
||||
/* 0x4830 */ DEFINE_SFX(CHAN_5CAD, NA_SE_SY_LOCK_ON, 0x30, 0, 0, 0)
|
||||
/* 0x4831 */ DEFINE_SFX(CHAN_5CB9, NA_SE_SY_GET_BOXITEM, 0x30, 0, 0, 0)
|
||||
/* 0x4832 */ DEFINE_SFX(CHAN_5CD3, NA_SE_SY_WHITE_OUT_L, 0x30, 0, 0, 0)
|
||||
/* 0x4833 */ DEFINE_SFX(CHAN_5CFC, NA_SE_SY_WHITE_OUT_S, 0x30, 0, 0, 0)
|
||||
/* 0x4834 */ DEFINE_SFX(CHAN_5D1F, NA_SE_SY_WHITE_OUT_T, 0x30, 0, 0, 0)
|
||||
/* 0x4835 */ DEFINE_SFX(CHAN_5D40, NA_SE_SY_START_SHOT, 0x30, 0, 0, 0)
|
||||
/* 0x4836 */ DEFINE_SFX(CHAN_5D57, NA_SE_SY_METRONOME, 0x30, 0, 0, 0)
|
||||
/* 0x4837 */ DEFINE_SFX(CHAN_5D61, NA_SE_SY_ATTENTION_URGENCY, 0x30, 0, 0, 0)
|
||||
/* 0x4838 */ DEFINE_SFX(CHAN_5D6B, NA_SE_SY_METRONOME_LV, 0x30, 0, 0, 0)
|
||||
/* 0x4839 */ DEFINE_SFX(CHAN_5D76, NA_SE_SY_FSEL_CURSOR, 0x30, 0, 0, 0)
|
||||
/* 0x483A */ DEFINE_SFX(CHAN_5D9E, NA_SE_SY_FSEL_DECIDE_S, 0x30, 0, 0, 0)
|
||||
/* 0x483B */ DEFINE_SFX(CHAN_5DBB, NA_SE_SY_FSEL_DECIDE_L, 0x30, 0, 0, 0)
|
||||
/* 0x483C */ DEFINE_SFX(CHAN_5DDB, NA_SE_SY_FSEL_CLOSE, 0x30, 0, 0, 0)
|
||||
/* 0x483D */ DEFINE_SFX(CHAN_5DF3, NA_SE_SY_FSEL_ERROR, 0x30, 0, 0, 0)
|
||||
/* 0x483E */ DEFINE_SFX(CHAN_5E0A, NA_SE_SY_SET_FIRE_ARROW, 0x30, 0, 0, 0)
|
||||
/* 0x483F */ DEFINE_SFX(CHAN_5E14, NA_SE_SY_SET_ICE_ARROW, 0x30, 0, 0, 0)
|
||||
/* 0x4840 */ DEFINE_SFX(CHAN_5E1E, NA_SE_SY_SET_LIGHT_ARROW, 0x30, 0, 0, 0)
|
||||
/* 0x4841 */ DEFINE_SFX(CHAN_5E28, NA_SE_SY_SYNTH_MAGIC_ARROW, 0x30, 0, 0, 0)
|
||||
/* 0x4842 */ DEFINE_SFX(CHAN_5E31, NA_SE_SY_METRONOME_2, 0x30, 0, 0, 0)
|
||||
/* 0x4843 */ DEFINE_SFX(CHAN_5E3D, NA_SE_SY_KINSTA_MARK_APPEAR, 0x30, 0, 0, 0)
|
||||
/* 0x4844 */ DEFINE_SFX(CHAN_5E6B, NA_SE_SY_FIVE_COUNT_LUPY, 0x30, 0, 0, 0)
|
||||
/* 0x4845 */ DEFINE_SFX(CHAN_5E88, NA_SE_SY_CARROT_RECOVER, 0x30, 0, 0, 0)
|
||||
/* 0x4846 */ DEFINE_SFX(CHAN_5D57, NA_SE_EV_FAIVE_LUPY_COUNT, 0x30, 0, 0, 0)
|
||||
/* 0x4847 */ DEFINE_SFX(CHAN_5D61, NA_SE_SY_DUMMY_71, 0x30, 0, 0, 0)
|
||||
|
@ -2,139 +2,141 @@
|
||||
* Sfx Voice Bank
|
||||
*
|
||||
* DEFINE_SFX should be used for all sfx define in the voice bank from sequence 0
|
||||
* - Argument 0: Channel name for sequence 0
|
||||
* - Argument 1: Enum value for this sfx
|
||||
* - Argument 2: Importance for deciding which sfx to prioritize. Higher values have greater importance
|
||||
* - Argument 3: Slows the decay of volume with distance (a 2-bit number ranging from 0-3)
|
||||
* - Argument 4: Applies increasingly random offsets to frequency (a 2-bit number ranging from 0-3)
|
||||
* - Argument 5: Various flags to add properties to the sfx
|
||||
*
|
||||
* WARNING: entries must align with the table defined for the voice bank in sequence 0
|
||||
*/
|
||||
/* 0x6800 */ DEFINE_SFX(NA_SE_VO_LI_SWORD_N, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6801 */ DEFINE_SFX(NA_SE_VO_LI_SWORD_L, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6802 */ DEFINE_SFX(NA_SE_VO_LI_LASH, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6803 */ DEFINE_SFX(NA_SE_VO_LI_HANG, 0x20, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6804 */ DEFINE_SFX(NA_SE_VO_LI_CLIMB_END, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6805 */ DEFINE_SFX(NA_SE_VO_LI_DAMAGE_S, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6806 */ DEFINE_SFX(NA_SE_VO_LI_FREEZE, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6807 */ DEFINE_SFX(NA_SE_VO_LI_FALL_S, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6808 */ DEFINE_SFX(NA_SE_VO_LI_FALL_L, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6809 */ DEFINE_SFX(NA_SE_VO_LI_BREATH_REST, 0x30, 2, 1, SFX_FLAG_10)
|
||||
/* 0x680A */ DEFINE_SFX(NA_SE_VO_LI_BREATH_DRINK, 0x30, 2, 1, SFX_FLAG_10)
|
||||
/* 0x680B */ DEFINE_SFX(NA_SE_VO_LI_DOWN, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x680C */ DEFINE_SFX(NA_SE_VO_LI_TAKEN_AWAY, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x680D */ DEFINE_SFX(NA_SE_VO_LI_HELD, 0x50, 2, 0, SFX_FLAG_10)
|
||||
/* 0x680E */ DEFINE_SFX(NA_SE_VO_LI_SNEEZE, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x680F */ DEFINE_SFX(NA_SE_VO_LI_SWEAT, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6810 */ DEFINE_SFX(NA_SE_VO_LI_DRINK, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6811 */ DEFINE_SFX(NA_SE_VO_LI_RELAX, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6812 */ DEFINE_SFX(NA_SE_VO_LI_SWORD_PUTAWAY, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6813 */ DEFINE_SFX(NA_SE_VO_LI_GROAN, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6814 */ DEFINE_SFX(NA_SE_VO_LI_AUTO_JUMP, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6815 */ DEFINE_SFX(NA_SE_VO_LI_MAGIC_NALE, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6816 */ DEFINE_SFX(NA_SE_VO_LI_SURPRISE, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6817 */ DEFINE_SFX(NA_SE_VO_LI_MAGIC_FROL, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6818 */ DEFINE_SFX(NA_SE_VO_LI_PUSH, 0x30, 2, 2, SFX_FLAG_10)
|
||||
/* 0x6819 */ DEFINE_SFX(NA_SE_VO_LI_HOOKSHOT_HANG, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x681A */ DEFINE_SFX(NA_SE_VO_LI_LAND_DAMAGE_S, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x681B */ DEFINE_SFX(NA_SE_VO_LI_NULL_0x1b, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x681C */ DEFINE_SFX(NA_SE_VO_LI_MAGIC_ATTACK, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x681D */ DEFINE_SFX(NA_SE_VO_BL_DOWN, 0x80, 2, 0, SFX_FLAG_10)
|
||||
/* 0x681E */ DEFINE_SFX(NA_SE_VO_LI_DEMO_DAMAGE, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x681F */ DEFINE_SFX(NA_SE_VO_LI_ELECTRIC_SHOCK_LV, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6820 */ DEFINE_SFX(NA_SE_VO_LI_SWORD_N_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6821 */ DEFINE_SFX(NA_SE_VO_LI_ROLLING_CUT_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6822 */ DEFINE_SFX(NA_SE_VO_LI_LASH_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6823 */ DEFINE_SFX(NA_SE_VO_LI_HANG_KID, 0x20, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6824 */ DEFINE_SFX(NA_SE_VO_LI_CLIMB_END_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6825 */ DEFINE_SFX(NA_SE_VO_LI_DAMAGE_S_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6826 */ DEFINE_SFX(NA_SE_VO_LI_FREEZE_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6827 */ DEFINE_SFX(NA_SE_VO_LI_FALL_S_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6828 */ DEFINE_SFX(NA_SE_VO_LI_FALL_L_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6829 */ DEFINE_SFX(NA_SE_VO_LI_BREATH_REST_KID, 0x30, 2, 1, SFX_FLAG_10)
|
||||
/* 0x682A */ DEFINE_SFX(NA_SE_VO_LI_BREATH_DRINK_KID, 0x30, 2, 1, SFX_FLAG_10)
|
||||
/* 0x682B */ DEFINE_SFX(NA_SE_VO_LI_DOWN_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x682C */ DEFINE_SFX(NA_SE_VO_LI_TAKEN_AWAY_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x682D */ DEFINE_SFX(NA_SE_VO_LI_HELD_KID, 0x50, 2, 0, SFX_FLAG_10)
|
||||
/* 0x682E */ DEFINE_SFX(NA_SE_VO_LI_SNEEZE_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x682F */ DEFINE_SFX(NA_SE_VO_LI_SWEAT_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6830 */ DEFINE_SFX(NA_SE_VO_LI_DRINK_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6831 */ DEFINE_SFX(NA_SE_VO_LI_RELAX_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6832 */ DEFINE_SFX(NA_SE_VO_LI_SWORD_PUTAWAY_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6833 */ DEFINE_SFX(NA_SE_VO_LI_GROAN_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6834 */ DEFINE_SFX(NA_SE_VO_LI_AUTO_JUMP_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6835 */ DEFINE_SFX(NA_SE_VO_LI_MAGIC_NALE_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6836 */ DEFINE_SFX(NA_SE_VO_LI_SURPRISE_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6837 */ DEFINE_SFX(NA_SE_VO_LI_MAGIC_FROL_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6838 */ DEFINE_SFX(NA_SE_VO_LI_PUSH_KID, 0x30, 1, 2, SFX_FLAG_10)
|
||||
/* 0x6839 */ DEFINE_SFX(NA_SE_VO_LI_HOOKSHOT_HANG_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x683A */ DEFINE_SFX(NA_SE_VO_LI_LAND_DAMAGE_S_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x683B */ DEFINE_SFX(NA_SE_VO_LI_NULL_0x1b_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x683C */ DEFINE_SFX(NA_SE_VO_LI_MAGIC_ATTACK_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x683D */ DEFINE_SFX(NA_SE_VO_BL_DOWN_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x683E */ DEFINE_SFX(NA_SE_VO_LI_DEMO_DAMAGE_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x683F */ DEFINE_SFX(NA_SE_VO_LI_ELECTRIC_SHOCK_LV_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6840 */ DEFINE_SFX(NA_SE_VO_NAVY_ENEMY, 0x60, 0, 0, SFX_FLAG_5)
|
||||
/* 0x6841 */ DEFINE_SFX(NA_SE_VO_NAVY_HELLO, 0x30, 0, 0, SFX_FLAG_5)
|
||||
/* 0x6842 */ DEFINE_SFX(NA_SE_VO_NAVY_HEAR, 0x30, 0, 0, SFX_FLAG_5)
|
||||
/* 0x6843 */ DEFINE_SFX(NA_SE_VO_NAVY_CALL, 0x60, 0, 0, 0)
|
||||
/* 0x6844 */ DEFINE_SFX(NA_SE_VO_NA_HELLO_3, 0x30, 0, 0, 0)
|
||||
/* 0x6845 */ DEFINE_SFX(NA_SE_VO_DUMMY_0x45, 0x30, 0, 0, 0)
|
||||
/* 0x6846 */ DEFINE_SFX(NA_SE_VO_DUMMY_0x46, 0x30, 0, 0, 0)
|
||||
/* 0x6847 */ DEFINE_SFX(NA_SE_VO_DUMMY_0x47, 0x30, 0, 0, 0)
|
||||
/* 0x6848 */ DEFINE_SFX(NA_SE_VO_DUMMY_0x48, 0x30, 0, 0, 0)
|
||||
/* 0x6849 */ DEFINE_SFX(NA_SE_VO_DUMMY_0x49, 0x30, 0, 0, 0)
|
||||
/* 0x684A */ DEFINE_SFX(NA_SE_VO_DUMMY_0x4a, 0x30, 0, 0, 0)
|
||||
/* 0x684B */ DEFINE_SFX(NA_SE_VO_DUMMY_0x4b, 0x30, 0, 0, 0)
|
||||
/* 0x684C */ DEFINE_SFX(NA_SE_VO_DUMMY_0x4c, 0x30, 0, 0, 0)
|
||||
/* 0x684D */ DEFINE_SFX(NA_SE_VO_DUMMY_0x4d, 0x30, 0, 0, 0)
|
||||
/* 0x684E */ DEFINE_SFX(NA_SE_VO_DUMMY_0x4e, 0x30, 0, 0, 0)
|
||||
/* 0x684F */ DEFINE_SFX(NA_SE_VO_DUMMY_0x4f, 0x30, 0, 0, 0)
|
||||
/* 0x6850 */ DEFINE_SFX(NA_SE_VO_TA_SLEEP, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6851 */ DEFINE_SFX(NA_SE_VO_TA_SURPRISE, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6852 */ DEFINE_SFX(NA_SE_VO_TA_CRY_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6853 */ DEFINE_SFX(NA_SE_VO_TA_CRY_1, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6854 */ DEFINE_SFX(NA_SE_VO_IN_CRY_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6855 */ DEFINE_SFX(NA_SE_VO_IN_LOST, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6856 */ DEFINE_SFX(NA_SE_VO_IN_LASH_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6857 */ DEFINE_SFX(NA_SE_VO_IN_LASH_1, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6858 */ DEFINE_SFX(NA_SE_VO_FR_LAUGH_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6859 */ DEFINE_SFX(NA_SE_VO_FR_SMILE_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x685A */ DEFINE_SFX(NA_SE_VO_NB_AGONY, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x685B */ DEFINE_SFX(NA_SE_VO_NB_CRY_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x685C */ DEFINE_SFX(NA_SE_VO_NB_NOTICE, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x685D */ DEFINE_SFX(NA_SE_VO_NA_HELLO_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x685E */ DEFINE_SFX(NA_SE_VO_NA_HELLO_1, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x685F */ DEFINE_SFX(NA_SE_VO_NA_HELLO_2, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6860 */ DEFINE_SFX(NA_SE_VO_RT_CRASH, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6861 */ DEFINE_SFX(NA_SE_VO_RT_DISCOVER, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6862 */ DEFINE_SFX(NA_SE_VO_RT_FALL, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6863 */ DEFINE_SFX(NA_SE_VO_RT_LAUGH_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6864 */ DEFINE_SFX(NA_SE_VO_RT_LIFT, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6865 */ DEFINE_SFX(NA_SE_VO_RT_THROW, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6866 */ DEFINE_SFX(NA_SE_VO_RT_UNBALLANCE, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6867 */ DEFINE_SFX(NA_SE_VO_ST_DAMAGE, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6868 */ DEFINE_SFX(NA_SE_VO_ST_ATTACK, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6869 */ DEFINE_SFX(NA_SE_VO_Z0_HURRY, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x686A */ DEFINE_SFX(NA_SE_VO_Z0_MEET, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x686B */ DEFINE_SFX(NA_SE_VO_Z0_QUESTION, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x686C */ DEFINE_SFX(NA_SE_VO_Z0_SIGH_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x686D */ DEFINE_SFX(NA_SE_VO_Z0_SMILE_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x686E */ DEFINE_SFX(NA_SE_VO_Z0_SURPRISE, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x686F */ DEFINE_SFX(NA_SE_VO_Z0_THROW, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6870 */ DEFINE_SFX(NA_SE_VO_SK_CRY_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6871 */ DEFINE_SFX(NA_SE_VO_SK_CRY_1, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6872 */ DEFINE_SFX(NA_SE_VO_SK_CRASH, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6873 */ DEFINE_SFX(NA_SE_VO_SK_LAUGH, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6874 */ DEFINE_SFX(NA_SE_VO_SK_SHOUT, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6875 */ DEFINE_SFX(NA_SE_VO_Z1_CRY_0, 0x30, 3, 1, SFX_FLAG_15)
|
||||
/* 0x6876 */ DEFINE_SFX(NA_SE_VO_Z1_CRY_1, 0x30, 3, 1, SFX_FLAG_15)
|
||||
/* 0x6877 */ DEFINE_SFX(NA_SE_VO_Z1_OPENDOOR, 0x30, 3, 1, SFX_FLAG_15)
|
||||
/* 0x6878 */ DEFINE_SFX(NA_SE_VO_Z1_SURPRISE, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6879 */ DEFINE_SFX(NA_SE_VO_Z1_PAIN, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x687A */ DEFINE_SFX(NA_SE_VO_KZ_MOVE, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x687B */ DEFINE_SFX(NA_SE_VO_NB_LAUGH, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x687C */ DEFINE_SFX(NA_SE_VO_IN_LAUGH, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x687D */ DEFINE_SFX(NA_SE_VO_DUMMY_0x7d, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x687E */ DEFINE_SFX(NA_SE_VO_DUMMY_0x7e, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x687F */ DEFINE_SFX(NA_SE_VO_DUMMY_0x7f, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* Player Voices: Adult Link */
|
||||
/* 0x6800 */ DEFINE_SFX(CHAN_615D, NA_SE_VO_LI_SWORD_N, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6801 */ DEFINE_SFX(CHAN_6175, NA_SE_VO_LI_SWORD_L, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6802 */ DEFINE_SFX(CHAN_619B, NA_SE_VO_LI_LASH, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6803 */ DEFINE_SFX(CHAN_61C1, NA_SE_VO_LI_HANG, 0x20, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6804 */ DEFINE_SFX(CHAN_61D5, NA_SE_VO_LI_CLIMB_END, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6805 */ DEFINE_SFX(CHAN_61EA, NA_SE_VO_LI_DAMAGE_S, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6806 */ DEFINE_SFX(CHAN_6201, NA_SE_VO_LI_FREEZE, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6807 */ DEFINE_SFX(CHAN_6218, NA_SE_VO_LI_FALL_S, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6808 */ DEFINE_SFX(CHAN_622D, NA_SE_VO_LI_FALL_L, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6809 */ DEFINE_SFX(CHAN_6242, NA_SE_VO_LI_BREATH_REST, 0x30, 2, 1, SFX_FLAG_10)
|
||||
/* 0x680A */ DEFINE_SFX(CHAN_6257, NA_SE_VO_LI_BREATH_DRINK, 0x30, 2, 1, SFX_FLAG_10)
|
||||
/* 0x680B */ DEFINE_SFX(CHAN_625F, NA_SE_VO_LI_DOWN, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x680C */ DEFINE_SFX(CHAN_626F, NA_SE_VO_LI_TAKEN_AWAY, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x680D */ DEFINE_SFX(CHAN_6284, NA_SE_VO_LI_HELD, 0x50, 2, 0, SFX_FLAG_10)
|
||||
/* 0x680E */ DEFINE_SFX(CHAN_6287, NA_SE_VO_LI_SNEEZE, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x680F */ DEFINE_SFX(CHAN_6299, NA_SE_VO_LI_SWEAT, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6810 */ DEFINE_SFX(CHAN_62AB, NA_SE_VO_LI_DRINK, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6811 */ DEFINE_SFX(CHAN_62B4, NA_SE_VO_LI_RELAX, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6812 */ DEFINE_SFX(CHAN_62C6, NA_SE_VO_LI_SWORD_PUTAWAY, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6813 */ DEFINE_SFX(CHAN_649B, NA_SE_VO_LI_GROAN, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6814 */ DEFINE_SFX(CHAN_62CE, NA_SE_VO_LI_AUTO_JUMP, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6815 */ DEFINE_SFX(CHAN_62EC, NA_SE_VO_LI_MAGIC_NALE, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6816 */ DEFINE_SFX(CHAN_62F4, NA_SE_VO_LI_SURPRISE, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6817 */ DEFINE_SFX(CHAN_62FE, NA_SE_VO_LI_MAGIC_FROL, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6818 */ DEFINE_SFX(CHAN_6306, NA_SE_VO_LI_PUSH, 0x30, 2, 2, SFX_FLAG_10)
|
||||
/* 0x6819 */ DEFINE_SFX(CHAN_630E, NA_SE_VO_LI_HOOKSHOT_HANG, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x681A */ DEFINE_SFX(CHAN_6316, NA_SE_VO_LI_LAND_DAMAGE_S, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x681B */ DEFINE_SFX(CHAN_631E, NA_SE_VO_LI_NULL_0x1b, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x681C */ DEFINE_SFX(CHAN_6326, NA_SE_VO_LI_MAGIC_ATTACK, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x681D */ DEFINE_SFX(CHAN_622D, NA_SE_VO_BL_DOWN, 0x80, 2, 0, SFX_FLAG_10)
|
||||
/* 0x681E */ DEFINE_SFX(CHAN_632E, NA_SE_VO_LI_DEMO_DAMAGE, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x681F */ DEFINE_SFX(CHAN_615D, NA_SE_VO_LI_ELECTRIC_SHOCK_LV, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* Player Voices: Child Link */
|
||||
/* 0x6820 */ DEFINE_SFX(CHAN_6336, NA_SE_VO_LI_SWORD_N_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6821 */ DEFINE_SFX(CHAN_634F, NA_SE_VO_LI_ROLLING_CUT_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6822 */ DEFINE_SFX(CHAN_619B, NA_SE_VO_LI_LASH_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6823 */ DEFINE_SFX(CHAN_6376, NA_SE_VO_LI_HANG_KID, 0x20, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6824 */ DEFINE_SFX(CHAN_639A, NA_SE_VO_LI_CLIMB_END_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6825 */ DEFINE_SFX(CHAN_63AF, NA_SE_VO_LI_DAMAGE_S_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6826 */ DEFINE_SFX(CHAN_63C6, NA_SE_VO_LI_FREEZE_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6827 */ DEFINE_SFX(CHAN_63DD, NA_SE_VO_LI_FALL_S_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6828 */ DEFINE_SFX(CHAN_63F2, NA_SE_VO_LI_FALL_L_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6829 */ DEFINE_SFX(CHAN_6407, NA_SE_VO_LI_BREATH_REST_KID, 0x30, 2, 1, SFX_FLAG_10)
|
||||
/* 0x682A */ DEFINE_SFX(CHAN_641C, NA_SE_VO_LI_BREATH_DRINK_KID, 0x30, 2, 1, SFX_FLAG_10)
|
||||
/* 0x682B */ DEFINE_SFX(CHAN_6424, NA_SE_VO_LI_DOWN_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x682C */ DEFINE_SFX(CHAN_6434, NA_SE_VO_LI_TAKEN_AWAY_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x682D */ DEFINE_SFX(CHAN_6449, NA_SE_VO_LI_HELD_KID, 0x50, 2, 0, SFX_FLAG_10)
|
||||
/* 0x682E */ DEFINE_SFX(CHAN_6451, NA_SE_VO_LI_SNEEZE_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x682F */ DEFINE_SFX(CHAN_6467, NA_SE_VO_LI_SWEAT_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6830 */ DEFINE_SFX(CHAN_6479, NA_SE_VO_LI_DRINK_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6831 */ DEFINE_SFX(CHAN_6482, NA_SE_VO_LI_RELAX_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6832 */ DEFINE_SFX(CHAN_6493, NA_SE_VO_LI_SWORD_PUTAWAY_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6833 */ DEFINE_SFX(CHAN_649B, NA_SE_VO_LI_GROAN_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6834 */ DEFINE_SFX(CHAN_64A5, NA_SE_VO_LI_AUTO_JUMP_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6835 */ DEFINE_SFX(CHAN_64C9, NA_SE_VO_LI_MAGIC_NALE_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6836 */ DEFINE_SFX(CHAN_64D1, NA_SE_VO_LI_SURPRISE_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6837 */ DEFINE_SFX(CHAN_64DB, NA_SE_VO_LI_MAGIC_FROL_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x6838 */ DEFINE_SFX(CHAN_64E3, NA_SE_VO_LI_PUSH_KID, 0x30, 1, 2, SFX_FLAG_10)
|
||||
/* 0x6839 */ DEFINE_SFX(CHAN_64EB, NA_SE_VO_LI_HOOKSHOT_HANG_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x683A */ DEFINE_SFX(CHAN_64F3, NA_SE_VO_LI_LAND_DAMAGE_S_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x683B */ DEFINE_SFX(CHAN_64FB, NA_SE_VO_LI_NULL_0x1b_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x683C */ DEFINE_SFX(CHAN_6503, NA_SE_VO_LI_MAGIC_ATTACK_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x683D */ DEFINE_SFX(CHAN_63F2, NA_SE_VO_BL_DOWN_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x683E */ DEFINE_SFX(CHAN_650B, NA_SE_VO_LI_DEMO_DAMAGE_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* 0x683F */ DEFINE_SFX(CHAN_615D, NA_SE_VO_LI_ELECTRIC_SHOCK_LV_KID, 0x30, 2, 0, SFX_FLAG_10)
|
||||
/* */
|
||||
/* 0x6840 */ DEFINE_SFX(CHAN_612C, NA_SE_VO_NAVY_ENEMY, 0x60, 0, 0, SFX_FLAG_5)
|
||||
/* 0x6841 */ DEFINE_SFX(CHAN_612C, NA_SE_VO_NAVY_HELLO, 0x30, 0, 0, SFX_FLAG_5)
|
||||
/* 0x6842 */ DEFINE_SFX(CHAN_612C, NA_SE_VO_NAVY_HEAR, 0x30, 0, 0, SFX_FLAG_5)
|
||||
/* 0x6843 */ DEFINE_SFX(CHAN_6581, NA_SE_VO_NAVY_CALL, 0x60, 0, 0, 0)
|
||||
/* 0x6844 */ DEFINE_SFX(CHAN_6513, NA_SE_VO_NA_HELLO_3, 0x30, 0, 0, 0)
|
||||
/* 0x6845 */ DEFINE_SFX(CHAN_6581, NA_SE_VO_DUMMY_0x45, 0x30, 0, 0, 0)
|
||||
/* 0x6846 */ DEFINE_SFX(CHAN_6581, NA_SE_VO_DUMMY_0x46, 0x30, 0, 0, 0)
|
||||
/* 0x6847 */ DEFINE_SFX(CHAN_6581, NA_SE_VO_DUMMY_0x47, 0x30, 0, 0, 0)
|
||||
/* 0x6848 */ DEFINE_SFX(CHAN_6581, NA_SE_VO_DUMMY_0x48, 0x30, 0, 0, 0)
|
||||
/* 0x6849 */ DEFINE_SFX(CHAN_6581, NA_SE_VO_DUMMY_0x49, 0x30, 0, 0, 0)
|
||||
/* 0x684A */ DEFINE_SFX(CHAN_6581, NA_SE_VO_DUMMY_0x4a, 0x30, 0, 0, 0)
|
||||
/* 0x684B */ DEFINE_SFX(CHAN_6581, NA_SE_VO_DUMMY_0x4b, 0x30, 0, 0, 0)
|
||||
/* 0x684C */ DEFINE_SFX(CHAN_6581, NA_SE_VO_DUMMY_0x4c, 0x30, 0, 0, 0)
|
||||
/* 0x684D */ DEFINE_SFX(CHAN_6581, NA_SE_VO_DUMMY_0x4d, 0x30, 0, 0, 0)
|
||||
/* 0x684E */ DEFINE_SFX(CHAN_6581, NA_SE_VO_DUMMY_0x4e, 0x30, 0, 0, 0)
|
||||
/* 0x684F */ DEFINE_SFX(CHAN_6581, NA_SE_VO_DUMMY_0x4f, 0x30, 0, 0, 0)
|
||||
/* 0x6850 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_TA_SLEEP, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6851 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_TA_SURPRISE, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6852 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_TA_CRY_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6853 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_TA_CRY_1, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6854 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_IN_CRY_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6855 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_IN_LOST, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6856 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_IN_LASH_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6857 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_IN_LASH_1, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6858 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_FR_LAUGH_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6859 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_FR_SMILE_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x685A */ DEFINE_SFX(CHAN_6520, NA_SE_VO_NB_AGONY, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x685B */ DEFINE_SFX(CHAN_6520, NA_SE_VO_NB_CRY_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x685C */ DEFINE_SFX(CHAN_6520, NA_SE_VO_NB_NOTICE, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x685D */ DEFINE_SFX(CHAN_6520, NA_SE_VO_NA_HELLO_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x685E */ DEFINE_SFX(CHAN_6520, NA_SE_VO_NA_HELLO_1, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x685F */ DEFINE_SFX(CHAN_6520, NA_SE_VO_NA_HELLO_2, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6860 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_RT_CRASH, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6861 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_RT_DISCOVER, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6862 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_RT_FALL, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6863 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_RT_LAUGH_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6864 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_RT_LIFT, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6865 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_RT_THROW, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6866 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_RT_UNBALLANCE, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6867 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_ST_DAMAGE, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6868 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_ST_ATTACK, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6869 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_Z0_HURRY, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x686A */ DEFINE_SFX(CHAN_6520, NA_SE_VO_Z0_MEET, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x686B */ DEFINE_SFX(CHAN_6520, NA_SE_VO_Z0_QUESTION, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x686C */ DEFINE_SFX(CHAN_6520, NA_SE_VO_Z0_SIGH_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x686D */ DEFINE_SFX(CHAN_6520, NA_SE_VO_Z0_SMILE_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x686E */ DEFINE_SFX(CHAN_6520, NA_SE_VO_Z0_SURPRISE, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x686F */ DEFINE_SFX(CHAN_6520, NA_SE_VO_Z0_THROW, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6870 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_SK_CRY_0, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6871 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_SK_CRY_1, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6872 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_SK_CRASH, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6873 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_SK_LAUGH, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6874 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_SK_SHOUT, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6875 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_Z1_CRY_0, 0x30, 3, 1, SFX_FLAG_15)
|
||||
/* 0x6876 */ DEFINE_SFX(CHAN_6520, NA_SE_VO_Z1_CRY_1, 0x30, 3, 1, SFX_FLAG_15)
|
||||
/* 0x6877 */ DEFINE_SFX(CHAN_6562, NA_SE_VO_Z1_OPENDOOR, 0x30, 3, 1, SFX_FLAG_15)
|
||||
/* 0x6878 */ DEFINE_SFX(CHAN_6562, NA_SE_VO_Z1_SURPRISE, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x6879 */ DEFINE_SFX(CHAN_6562, NA_SE_VO_Z1_PAIN, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x687A */ DEFINE_SFX(CHAN_6562, NA_SE_VO_KZ_MOVE, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x687B */ DEFINE_SFX(CHAN_6562, NA_SE_VO_NB_LAUGH, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x687C */ DEFINE_SFX(CHAN_6562, NA_SE_VO_IN_LAUGH, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x687D */ DEFINE_SFX(CHAN_6520, NA_SE_VO_DUMMY_0x7d, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x687E */ DEFINE_SFX(CHAN_6520, NA_SE_VO_DUMMY_0x7e, 0x30, 1, 1, SFX_FLAG_15)
|
||||
/* 0x687F */ DEFINE_SFX(CHAN_6520, NA_SE_VO_DUMMY_0x7f, 0x30, 1, 1, SFX_FLAG_15)
|
||||
|
114
spec
114
spec
@ -205,7 +205,116 @@ endseg
|
||||
|
||||
beginseg
|
||||
name "Audioseq"
|
||||
include "$(BUILD_DIR)/baserom/Audioseq.o"
|
||||
address 0
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_0.prg.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_1.prg.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_2.prg.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_3.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_4.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_5.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_6.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_7.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_8.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_9.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_10.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_11.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_12.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_13.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_14.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_15.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_16.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_17.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_18.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_19.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_20.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_21.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_22.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_23.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_24.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_25.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_26.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_27.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_28.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_29.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_30.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_31.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_32.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_33.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_34.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_35.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_36.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_37.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_38.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_39.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_40.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_41.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_42.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_43.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_44.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_45.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_46.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_47.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_48.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_49.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_50.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_51.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_52.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_53.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_54.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_55.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_56.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_57.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_58.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_59.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_60.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_61.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_62.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_63.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_64.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_65.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_66.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_67.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_68.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_69.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_70.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_71.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_72.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_73.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_74.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_75.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_76.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_77.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_78.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_79.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_80.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_81.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_82.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_83.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_84.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_85.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_86.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_88.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_89.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_90.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_91.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_92.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_93.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_94.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_95.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_96.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_97.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_98.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_99.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_100.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_101.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_102.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_103.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_104.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_105.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_106.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_107.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_108.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequences/seq_109.prg.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
@ -781,7 +890,8 @@ beginseg
|
||||
include "$(BUILD_DIR)/src/code/z_message_z_game_over.o"
|
||||
include "$(BUILD_DIR)/src/code/z_construct.o"
|
||||
include "$(BUILD_DIR)/src/audio/tables/soundfont_table.o"
|
||||
include "$(BUILD_DIR)/data/audio_tables.rodata.o"
|
||||
include "$(BUILD_DIR)/assets/audio/sequence_font_table.o"
|
||||
include "$(BUILD_DIR)/src/audio/tables/sequence_table.o"
|
||||
include "$(BUILD_DIR)/src/audio/tables/samplebank_table.o"
|
||||
include "$(BUILD_DIR)/data/rsp.text.o"
|
||||
include "$(BUILD_DIR)/data/rsp.rodata.o"
|
||||
|
@ -79,7 +79,31 @@ typedef struct OcarinaStick {
|
||||
s8 y;
|
||||
} OcarinaStick;
|
||||
|
||||
u8 gIsLargeSfxBank[7] = { 0, 0, 0, 1, 0, 0, 0 };
|
||||
#define DEFINE_SFX(_0, _1, _2, _3, _4, _5) 1 +
|
||||
u8 gIsLargeSfxBank[7] = {
|
||||
(
|
||||
#include "tables/sfx/playerbank_table.h"
|
||||
0) > UINT8_MAX,
|
||||
(
|
||||
#include "tables/sfx/itembank_table.h"
|
||||
0) > UINT8_MAX,
|
||||
(
|
||||
#include "tables/sfx/environmentbank_table.h"
|
||||
0) > UINT8_MAX,
|
||||
(
|
||||
#include "tables/sfx/enemybank_table.h"
|
||||
0) > UINT8_MAX,
|
||||
(
|
||||
#include "tables/sfx/systembank_table.h"
|
||||
0) > UINT8_MAX,
|
||||
(
|
||||
#include "tables/sfx/ocarinabank_table.h"
|
||||
0) > UINT8_MAX,
|
||||
(
|
||||
#include "tables/sfx/voicebank_table.h"
|
||||
0) > UINT8_MAX,
|
||||
};
|
||||
#undef DEFINE_SFX
|
||||
|
||||
// Only the first row of these is supported by sequence 0. (gSfxChannelLayout is always 0.)
|
||||
u8 gChannelsPerBank[4][7] = {
|
||||
@ -168,122 +192,13 @@ u8 sSeqModeInput = 0;
|
||||
#define SEQ_FLAG_SKIP_HARP_INTRO (1 << 6)
|
||||
#define SEQ_FLAG_NO_AMBIENCE (1 << 7)
|
||||
|
||||
#define DEFINE_SEQUENCE(name, seqId, storageMedium, cachePolicy, seqFlags) seqFlags,
|
||||
#define DEFINE_SEQUENCE_PTR(seqIdReal, seqId, storageMediumReal, cachePolicyReal, seqFlags) seqFlags,
|
||||
u8 sSeqFlags[] = {
|
||||
#if PLATFORM_N64
|
||||
SEQ_FLAG_FANFARE | SEQ_FLAG_ENEMY, // NA_BGM_GENERAL_SFX
|
||||
#else
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_GENERAL_SFX
|
||||
#endif
|
||||
SEQ_FLAG_ENEMY, // NA_BGM_NATURE_BACKGROUND
|
||||
0, // NA_BGM_FIELD_LOGIC
|
||||
0, // NA_BGM_FIELD_INIT
|
||||
0, // NA_BGM_FIELD_DEFAULT_1
|
||||
0, // NA_BGM_FIELD_DEFAULT_2
|
||||
0, // NA_BGM_FIELD_DEFAULT_3
|
||||
0, // NA_BGM_FIELD_DEFAULT_4
|
||||
0, // NA_BGM_FIELD_DEFAULT_5
|
||||
0, // NA_BGM_FIELD_DEFAULT_6
|
||||
0, // NA_BGM_FIELD_DEFAULT_7
|
||||
0, // NA_BGM_FIELD_DEFAULT_8
|
||||
0, // NA_BGM_FIELD_DEFAULT_9
|
||||
0, // NA_BGM_FIELD_DEFAULT_A
|
||||
0, // NA_BGM_FIELD_DEFAULT_B
|
||||
0, // NA_BGM_FIELD_ENEMY_INIT
|
||||
0, // NA_BGM_FIELD_ENEMY_1
|
||||
0, // NA_BGM_FIELD_ENEMY_2
|
||||
0, // NA_BGM_FIELD_ENEMY_3
|
||||
0, // NA_BGM_FIELD_ENEMY_4
|
||||
0, // NA_BGM_FIELD_STILL_1
|
||||
0, // NA_BGM_FIELD_STILL_2
|
||||
0, // NA_BGM_FIELD_STILL_3
|
||||
0, // NA_BGM_FIELD_STILL_4
|
||||
SEQ_FLAG_RESUME_PREV | SEQ_FLAG_ENEMY, // NA_BGM_DUNGEON
|
||||
SEQ_FLAG_RESUME, // NA_BGM_KAKARIKO_ADULT
|
||||
0, // NA_BGM_ENEMY
|
||||
SEQ_FLAG_NO_AMBIENCE | SEQ_FLAG_RESTORE, // NA_BGM_BOSS
|
||||
SEQ_FLAG_ENEMY, // NA_BGM_INSIDE_DEKU_TREE
|
||||
0, // NA_BGM_MARKET
|
||||
0, // NA_BGM_TITLE
|
||||
SEQ_FLAG_RESUME_PREV, // NA_BGM_LINK_HOUSE
|
||||
0, // NA_BGM_GAME_OVER
|
||||
0, // NA_BGM_BOSS_CLEAR
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_ITEM_GET
|
||||
SEQ_FLAG_FANFARE_GANON, // NA_BGM_OPENING_GANON
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_HEART_GET
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_OCA_LIGHT
|
||||
SEQ_FLAG_ENEMY, // NA_BGM_JABU_JABU
|
||||
SEQ_FLAG_RESUME, // NA_BGM_KAKARIKO_KID
|
||||
0, // NA_BGM_GREAT_FAIRY
|
||||
0, // NA_BGM_ZELDA_THEME
|
||||
SEQ_FLAG_ENEMY, // NA_BGM_FIRE_TEMPLE
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_OPEN_TRE_BOX
|
||||
SEQ_FLAG_ENEMY, // NA_BGM_FOREST_TEMPLE
|
||||
0, // NA_BGM_COURTYARD
|
||||
SEQ_FLAG_NO_AMBIENCE, // NA_BGM_GANON_TOWER
|
||||
0, // NA_BGM_LONLON
|
||||
SEQ_FLAG_NO_AMBIENCE, // NA_BGM_GORON_CITY
|
||||
0, // NA_BGM_FIELD_MORNING
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_SPIRITUAL_STONE
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_OCA_BOLERO
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_OCA_MINUET
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_OCA_SERENADE
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_OCA_REQUIEM
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_OCA_NOCTURNE
|
||||
SEQ_FLAG_NO_AMBIENCE | SEQ_FLAG_RESTORE, // NA_BGM_MINI_BOSS
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_SMALL_ITEM_GET
|
||||
0, // NA_BGM_TEMPLE_OF_TIME
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_EVENT_CLEAR
|
||||
SEQ_FLAG_RESUME | SEQ_FLAG_ENEMY, // NA_BGM_KOKIRI
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_OCA_FAIRY_GET
|
||||
SEQ_FLAG_ENEMY, // NA_BGM_SARIA_THEME
|
||||
SEQ_FLAG_ENEMY, // NA_BGM_SPIRIT_TEMPLE
|
||||
0, // NA_BGM_HORSE
|
||||
0, // NA_BGM_HORSE_GOAL
|
||||
0, // NA_BGM_INGO
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_MEDALLION_GET
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_OCA_SARIA
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_OCA_EPONA
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_OCA_ZELDA
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_OCA_SUNS
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_OCA_TIME
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_OCA_STORM
|
||||
0, // NA_BGM_NAVI_OPENING
|
||||
0, // NA_BGM_DEKU_TREE_CS
|
||||
0, // NA_BGM_WINDMILL
|
||||
0, // NA_BGM_HYRULE_CS
|
||||
SEQ_FLAG_RESUME_PREV, // NA_BGM_MINI_GAME
|
||||
0, // NA_BGM_SHEIK
|
||||
SEQ_FLAG_RESUME, // NA_BGM_ZORA_DOMAIN
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_APPEAR
|
||||
0, // NA_BGM_ADULT_LINK
|
||||
0, // NA_BGM_MASTER_SWORD
|
||||
SEQ_FLAG_FANFARE_GANON, // NA_BGM_INTRO_GANON
|
||||
SEQ_FLAG_RESUME_PREV, // NA_BGM_SHOP
|
||||
SEQ_FLAG_SKIP_HARP_INTRO, // NA_BGM_CHAMBER_OF_SAGES
|
||||
SEQ_FLAG_SKIP_HARP_INTRO, // NA_BGM_FILE_SELECT
|
||||
SEQ_FLAG_ENEMY, // NA_BGM_ICE_CAVERN
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_DOOR_OF_TIME
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_OWL
|
||||
SEQ_FLAG_ENEMY, // NA_BGM_SHADOW_TEMPLE
|
||||
SEQ_FLAG_ENEMY, // NA_BGM_WATER_TEMPLE
|
||||
SEQ_FLAG_FANFARE, // NA_BGM_BRIDGE_TO_GANONS
|
||||
0, // NA_BGM_OCARINA_OF_TIME
|
||||
SEQ_FLAG_RESUME | SEQ_FLAG_ENEMY, // NA_BGM_GERUDO_VALLEY
|
||||
0, // NA_BGM_POTION_SHOP
|
||||
0, // NA_BGM_KOTAKE_KOUME
|
||||
SEQ_FLAG_NO_AMBIENCE, // NA_BGM_ESCAPE
|
||||
0, // NA_BGM_UNDERGROUND
|
||||
SEQ_FLAG_NO_AMBIENCE, // NA_BGM_GANON_BATTLE_1
|
||||
SEQ_FLAG_NO_AMBIENCE, // NA_BGM_GANON_BATTLE_2
|
||||
0, // NA_BGM_END_DEMO
|
||||
0, // NA_BGM_STAFF_1
|
||||
0, // NA_BGM_STAFF_2
|
||||
0, // NA_BGM_STAFF_3
|
||||
0, // NA_BGM_STAFF_4
|
||||
0, // NA_BGM_FIRE_BOSS
|
||||
SEQ_FLAG_RESTORE, // NA_BGM_TIMED_MINI_GAME
|
||||
0, // NA_BGM_CUTSCENE_EFFECTS
|
||||
#include "tables/sequence_table.h"
|
||||
};
|
||||
#undef DEFINE_SEQUENCE
|
||||
#undef DEFINE_SEQUENCE_PTR
|
||||
|
||||
s8 sSpecReverbs[20] = { 0, 0, 0, 0, 0, 0, 0, 40, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include "ultra64.h"
|
||||
#include "global.h"
|
||||
|
||||
#define DEFINE_SFX(_0, importance, distParam, randParam, flags) \
|
||||
#define DEFINE_SFX(_0, _1, importance, distParam, randParam, flags) \
|
||||
{ importance, ((((distParam) << SFX_PARAM_01_SHIFT) & SFX_PARAM_01_MASK) | \
|
||||
(((randParam) << SFX_PARAM_67_SHIFT) & SFX_PARAM_67_MASK) | (flags)) },
|
||||
|
||||
|
51
src/audio/tables/sequence_table.c
Normal file
51
src/audio/tables/sequence_table.c
Normal file
@ -0,0 +1,51 @@
|
||||
#include "attributes.h"
|
||||
#include "z64audio.h"
|
||||
|
||||
// Symbol definition
|
||||
|
||||
extern AudioTable gSequenceTable;
|
||||
#pragma weak gSequenceTable = sSequenceTableHeader
|
||||
|
||||
// Externs for table
|
||||
|
||||
#define DEFINE_SEQUENCE(name, seqId, storageMedium, cachePolicy, seqFlags) \
|
||||
extern u8 name##_Start[]; \
|
||||
extern u8 name##_Size[];
|
||||
#define DEFINE_SEQUENCE_PTR(seqIdReal, seqId, storageMediumReal, cachePolicyReal, seqFlags) /*empty*/
|
||||
|
||||
#include "tables/sequence_table.h"
|
||||
|
||||
#undef DEFINE_SEQUENCE
|
||||
#undef DEFINE_SEQUENCE_PTR
|
||||
|
||||
// Table header
|
||||
|
||||
NO_REORDER AudioTableHeader sSequenceTableHeader = {
|
||||
// The table contains the number of sequences, count them with the preprocessor
|
||||
#define DEFINE_SEQUENCE(name, seqId, storageMedium, cachePolicy, seqFlags) 1 +
|
||||
#define DEFINE_SEQUENCE_PTR(seqIdReal, seqId, storageMediumReal, cachePolicyReal, seqFlags) 1 +
|
||||
|
||||
#include "tables/sequence_table.h"
|
||||
|
||||
#undef DEFINE_SEQUENCE
|
||||
#undef DEFINE_SEQUENCE_PTR
|
||||
0,
|
||||
|
||||
0,
|
||||
0x00000000,
|
||||
{ 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
};
|
||||
|
||||
// Table body
|
||||
|
||||
NO_REORDER AudioTableEntry sSequenceTableEntries[] = {
|
||||
#define DEFINE_SEQUENCE(name, seqId, storageMedium, cachePolicy, seqFlags) \
|
||||
{ (u32)name##_Start, (u32)name##_Size, (storageMedium), (cachePolicy), 0, 0, 0 },
|
||||
#define DEFINE_SEQUENCE_PTR(seqIdReal, seqId, storageMediumReal, cachePolicyReal, seqFlags) \
|
||||
{ (seqIdReal), 0, (storageMediumReal), (cachePolicyReal), 0, 0, 0 },
|
||||
|
||||
#include "tables/sequence_table.h"
|
||||
|
||||
#undef DEFINE_SEQUENCE
|
||||
#undef DEFINE_SEQUENCE_PTR
|
||||
};
|
@ -8,6 +8,7 @@
|
||||
*/
|
||||
#include <assert.h>
|
||||
#include <ctype.h>
|
||||
#include <regex.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
@ -17,24 +18,9 @@
|
||||
#include "samplebank.h"
|
||||
#include "soundfont.h"
|
||||
#include "xml.h"
|
||||
#include "elf32.h"
|
||||
#include "util.h"
|
||||
|
||||
/* Utility */
|
||||
|
||||
static bool
|
||||
is_xml(const char *path)
|
||||
{
|
||||
size_t len = strlen(path);
|
||||
|
||||
if (len < 4)
|
||||
return false;
|
||||
if (path[len - 4] == '.' && tolower(path[len - 3]) == 'x' && tolower(path[len - 2]) == 'm' &&
|
||||
tolower(path[len - 1]) == 'l')
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Samplebanks */
|
||||
|
||||
static int
|
||||
@ -46,8 +32,9 @@ tablegen_samplebanks(const char *sb_hdr_out, const char **samplebanks_paths, int
|
||||
|
||||
for (int i = 0; i < num_samplebank_files; i++) {
|
||||
const char *path = samplebanks_paths[i];
|
||||
size_t pathlen = strlen(path);
|
||||
|
||||
if (!is_xml(path))
|
||||
if (!str_endswith(path, pathlen, ".xml"))
|
||||
error("Not an xml file? (\"%s\")", path);
|
||||
|
||||
xmlDocPtr document = xmlReadFile(path, NULL, XML_PARSE_NONET);
|
||||
@ -189,7 +176,7 @@ validate_samplebank_index(soundfont *sf, samplebank *sb, int ptr_idx)
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
static int
|
||||
tablegen_soundfonts(const char *sf_hdr_out, char **soundfonts_paths, int num_soundfont_files)
|
||||
{
|
||||
soundfont *soundfonts = malloc(num_soundfont_files * sizeof(soundfont));
|
||||
@ -197,8 +184,9 @@ tablegen_soundfonts(const char *sf_hdr_out, char **soundfonts_paths, int num_sou
|
||||
|
||||
for (int i = 0; i < num_soundfont_files; i++) {
|
||||
char *path = soundfonts_paths[i];
|
||||
size_t pathlen = strlen(path);
|
||||
|
||||
if (!is_xml(path))
|
||||
if (!str_endswith(path, pathlen, ".xml"))
|
||||
error("Not an xml file? (\"%s\")", path);
|
||||
|
||||
xmlDocPtr document = xmlReadFile(path, NULL, XML_PARSE_NONET);
|
||||
@ -213,7 +201,6 @@ tablegen_soundfonts(const char *sf_hdr_out, char **soundfonts_paths, int num_sou
|
||||
|
||||
// Transform the xml path into a header include path
|
||||
// Assumption: replacing .xml -> .h forms a valid header include path
|
||||
size_t pathlen = strlen(path);
|
||||
path[pathlen - 3] = 'h';
|
||||
path[pathlen - 2] = '\0';
|
||||
|
||||
@ -290,6 +277,298 @@ tablegen_soundfonts(const char *sf_hdr_out, char **soundfonts_paths, int num_sou
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
/* Sequences */
|
||||
|
||||
struct seq_order_entry {
|
||||
const char *name;
|
||||
const char *enum_name;
|
||||
bool isptr;
|
||||
};
|
||||
|
||||
struct seq_order {
|
||||
size_t num_sequences;
|
||||
struct seq_order_entry *entries;
|
||||
void *filedata;
|
||||
};
|
||||
|
||||
static void
|
||||
read_seq_order(struct seq_order *order, const char *path)
|
||||
{
|
||||
// Read from file, we assume the file has been preprocessed with cpp so that whitespace is collapsed and each line
|
||||
// has the form:
|
||||
// (name,enum_name) or *(name,enum_name)
|
||||
UNUSED size_t data_size;
|
||||
char *filedata = util_read_whole_file(path, &data_size);
|
||||
|
||||
// We expect one entry per line, gather the total length
|
||||
size_t total_size = 0;
|
||||
for (char *p = filedata; *p != '\0'; p++) {
|
||||
if (*p == '\n') {
|
||||
total_size++;
|
||||
} else if (isspace(*p)) {
|
||||
// There should be no whitespace in the input file besides newlines
|
||||
goto malformed;
|
||||
}
|
||||
}
|
||||
|
||||
// Alloc entries
|
||||
struct seq_order_entry *entries = malloc(total_size * sizeof(struct seq_order_entry));
|
||||
|
||||
enum matchno {
|
||||
MATCH_ALL,
|
||||
MATCH_PTR,
|
||||
MATCH_NAME,
|
||||
MATCH_ENUM,
|
||||
MATCH_NUM
|
||||
};
|
||||
regmatch_t match[MATCH_NUM];
|
||||
regex_t re;
|
||||
// Matches either
|
||||
// (<c_identifier>,<c_identifier>) for non-pointer entries
|
||||
// or
|
||||
// *(<c_identifier>,<c_identifier>) for pointer entries
|
||||
const char *line_regexp = "^(\\*?)\\(([_a-zA-Z][_a-zA-Z0-9]*),([_a-zA-Z][_a-zA-Z0-9]*)\\)$";
|
||||
|
||||
int status = regcomp(&re, line_regexp, REG_EXTENDED);
|
||||
assert(status == 0 && "Failed to compile sequence order regular expression?");
|
||||
|
||||
char *lstart = filedata;
|
||||
for (size_t i = 0; i < total_size; i++) {
|
||||
// find end of line
|
||||
char *p = lstart;
|
||||
while (*p != '\n') {
|
||||
assert(*p != '\0');
|
||||
p++;
|
||||
}
|
||||
char *lend = p;
|
||||
// null-terminate the line (replaces the newline)
|
||||
*lend = '\0';
|
||||
|
||||
// try to match the regular expression
|
||||
status = regexec(&re, lstart, MATCH_NUM, match, 0);
|
||||
if (status != 0) {
|
||||
// failed to match, malformed input file
|
||||
char ebuf[128];
|
||||
regerror(status, &re, ebuf, sizeof(ebuf));
|
||||
fprintf(stderr, "Failed to match line %lu: \"%s\"\nregexec error: \"%s\"\n", i, lstart, ebuf);
|
||||
goto malformed;
|
||||
}
|
||||
|
||||
// if the group is empty we're not a pointer, else we are
|
||||
entries[i].isptr = match[MATCH_PTR].rm_so != match[MATCH_PTR].rm_eo;
|
||||
|
||||
// get the name
|
||||
entries[i].name = &lstart[match[MATCH_NAME].rm_so];
|
||||
lstart[match[MATCH_NAME].rm_eo] = '\0'; // replaces ,
|
||||
|
||||
// get the enum name
|
||||
entries[i].enum_name = &lstart[match[MATCH_ENUM].rm_so];
|
||||
lstart[match[MATCH_ENUM].rm_eo] = '\0'; // replaces )
|
||||
|
||||
// next line
|
||||
lstart = lend + 1;
|
||||
}
|
||||
assert(*lstart == '\0');
|
||||
|
||||
// Write results
|
||||
order->num_sequences = total_size;
|
||||
order->entries = entries;
|
||||
order->filedata = filedata;
|
||||
return;
|
||||
malformed:
|
||||
error("Malformed %s?", path);
|
||||
}
|
||||
|
||||
struct seqdata {
|
||||
const char *elf_path;
|
||||
const char *name;
|
||||
uint32_t font_section_offset;
|
||||
size_t font_section_size;
|
||||
};
|
||||
|
||||
static int
|
||||
tablegen_sequences(const char *seq_font_tbl_out, const char *seq_order_path, const char **sequences_paths,
|
||||
int num_sequence_files)
|
||||
{
|
||||
struct seq_order order;
|
||||
read_seq_order(&order, seq_order_path);
|
||||
|
||||
#ifdef SEQ_DEBUG
|
||||
// Print the sequence order
|
||||
printf("Sequence order:\n");
|
||||
for (size_t i = 0; i < order.num_sequences; i++) {
|
||||
printf(" name=\"%s\" enum=\"%s\" ptr=%d\n", order.entries[i].name, order.entries[i].enum_name,
|
||||
order.entries[i].isptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
struct seqdata *file_data = malloc(num_sequence_files * sizeof(struct seqdata));
|
||||
|
||||
// Read and validate the sequence object files
|
||||
|
||||
for (int i = 0; i < num_sequence_files; i++) {
|
||||
const char *path = sequences_paths[i];
|
||||
|
||||
if (!str_endswith(path, strlen(path), ".o"))
|
||||
error("Not a .o file? (\"%s\")", path);
|
||||
|
||||
// Open ELF file
|
||||
|
||||
size_t data_size;
|
||||
void *data = elf32_read(path, &data_size);
|
||||
|
||||
Elf32_Shdr *symtab = elf32_get_symtab(data, data_size);
|
||||
if (symtab == NULL)
|
||||
error("ELF file \"%s\" has no symbol table?", path);
|
||||
Elf32_Shdr *shstrtab = elf32_get_shstrtab(data, data_size);
|
||||
if (shstrtab == NULL)
|
||||
error("ELF file \"%s\" has no section header string table?", path);
|
||||
|
||||
// The .fonts and .name sections are written when assembling the sequence:
|
||||
// The .fonts section contains a list of bytes for each soundfont the sequences uses
|
||||
// The .name section contains the null-terminated name of the sequence as set by .startseq
|
||||
|
||||
Elf32_Shdr *font_section = elf32_section_forname(".fonts", shstrtab, data, data_size);
|
||||
if (font_section == NULL)
|
||||
error("Sequence file \"%s\" has no fonts section?", path);
|
||||
|
||||
uint32_t font_section_offset = elf32_read32(font_section->sh_offset);
|
||||
uint32_t font_section_size = elf32_read32(font_section->sh_size);
|
||||
validate_read(font_section_offset, font_section_size, data_size);
|
||||
|
||||
Elf32_Shdr *name_section = elf32_section_forname(".name", shstrtab, data, data_size);
|
||||
if (name_section == NULL)
|
||||
error("Sequence file \"%s\" has no name section?", path);
|
||||
|
||||
uint32_t name_section_offset = elf32_read32(name_section->sh_offset);
|
||||
uint32_t name_section_size = elf32_read32(name_section->sh_size);
|
||||
validate_read(name_section_offset, name_section_size, data_size);
|
||||
|
||||
const char *seq_name = GET_PTR(data, name_section_offset);
|
||||
if (strnlen(seq_name, name_section_size + 1) >= name_section_size)
|
||||
error("Sequence file \"%s\" name is not properly terminated?", path);
|
||||
|
||||
// Populate new data
|
||||
struct seqdata *seqdata = &file_data[i];
|
||||
seqdata->elf_path = strdup(path);
|
||||
seqdata->name = strdup(seq_name);
|
||||
seqdata->font_section_offset = font_section_offset;
|
||||
seqdata->font_section_size = font_section_size;
|
||||
|
||||
free(data);
|
||||
}
|
||||
|
||||
#ifdef SEQ_DEBUG
|
||||
// Debugging: Print the findings for each sequence object
|
||||
printf("\nNum files: %d\n\n", num_sequence_files);
|
||||
|
||||
for (int i = 0; i < num_sequence_files; i++) {
|
||||
struct seqdata *seqdata = &file_data[i];
|
||||
|
||||
printf(
|
||||
// clang-format off
|
||||
" elf path : \"%s\"" "\n"
|
||||
" name : \"%s\"" "\n"
|
||||
" font offset : 0x%X" "\n"
|
||||
" num fonts : %lu" "\n\n",
|
||||
// clang-format on
|
||||
seqdata->elf_path, seqdata->name, seqdata->font_section_offset, seqdata->font_section_size);
|
||||
}
|
||||
#endif
|
||||
|
||||
// Link against the sequence order coming from the sequence table header
|
||||
|
||||
struct seqdata **final_seqdata = calloc(order.num_sequences, sizeof(struct seqdata *));
|
||||
|
||||
for (size_t i = 0; i < order.num_sequences; i++) {
|
||||
// Skip pointers for now
|
||||
if (order.entries[i].isptr)
|
||||
continue;
|
||||
|
||||
// If it's not a pointer, "name" is the name as it appears in a sequence file, find it in the list of sequences
|
||||
const char *name = order.entries[i].name;
|
||||
|
||||
// Find the object file with this name
|
||||
for (int j = 0; j < num_sequence_files; j++) {
|
||||
struct seqdata *seqdata = &file_data[j];
|
||||
|
||||
if (strequ(name, seqdata->name)) {
|
||||
// Found name, done
|
||||
final_seqdata[i] = seqdata;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < order.num_sequences; i++) {
|
||||
// Now we only care about pointers
|
||||
if (!order.entries[i].isptr)
|
||||
continue;
|
||||
|
||||
// If it's a pointer, "name" is the ENUM name of the sequence it points to
|
||||
const char *name = order.entries[i].name;
|
||||
|
||||
for (size_t j = 0; j < order.num_sequences; j++) {
|
||||
// Skip pointers, the system doesn't allow multiple indirection so this must point to a non-pointer entry.
|
||||
if (order.entries[j].isptr)
|
||||
continue;
|
||||
|
||||
if (strequ(name, order.entries[j].enum_name)) {
|
||||
// For pointers, we just duplicate the fonts for the original into the pointer entry.
|
||||
// TODO ideally we would allow fonts to be different when a sequence is accessed by pointer, but how
|
||||
// to supply this info?
|
||||
final_seqdata[i] = final_seqdata[j];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Make sure we found an object file for all declared sequences
|
||||
for (size_t i = 0; i < order.num_sequences; i++) {
|
||||
if (final_seqdata[i] == NULL)
|
||||
error("Could not find object file for sequence %lu : %s", i, order.entries[i].name);
|
||||
}
|
||||
|
||||
// Write the sequence font table out
|
||||
|
||||
FILE *out = fopen(seq_font_tbl_out, "w");
|
||||
if (out == NULL)
|
||||
error("Failed to open output file \"%s\" for writing", seq_font_tbl_out);
|
||||
|
||||
fprintf(out,
|
||||
// clang-format off
|
||||
"\n"
|
||||
".section .rodata" "\n"
|
||||
"\n"
|
||||
".global gSequenceFontTable" "\n"
|
||||
"gSequenceFontTable:" "\n"
|
||||
// clang-format on
|
||||
);
|
||||
|
||||
// Write the 16-bit offsets for each sequence
|
||||
for (size_t i = 0; i < order.num_sequences; i++) {
|
||||
fprintf(out, " .half Fonts_%lu - gSequenceFontTable\n", i);
|
||||
}
|
||||
fprintf(out, "\n");
|
||||
|
||||
// Write the fonts for each sequence: number of fonts followed by an incbin for the rest.
|
||||
for (size_t i = 0; i < order.num_sequences; i++) {
|
||||
fprintf(out,
|
||||
// clang-format off
|
||||
"Fonts_%lu:" "\n"
|
||||
" .byte %ld" "\n"
|
||||
" .incbin \"%s\", 0x%X, %lu" "\n"
|
||||
"\n",
|
||||
// clang-format on
|
||||
i, final_seqdata[i]->font_section_size, final_seqdata[i]->elf_path,
|
||||
final_seqdata[i]->font_section_offset, final_seqdata[i]->font_section_size);
|
||||
}
|
||||
fprintf(out, ".balign 16\n");
|
||||
|
||||
fclose(out);
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
/* Common */
|
||||
|
||||
static int
|
||||
@ -297,12 +576,13 @@ usage(const char *progname)
|
||||
{
|
||||
fprintf(stderr,
|
||||
// clang-format off
|
||||
"%s: Generate code tables for audio data" "\n"
|
||||
"Usage:" "\n"
|
||||
" %s --banks <samplebank_table.h> <samplebank xml files...>" "\n"
|
||||
" %s --fonts <soundfont_table.h> <soundfont xml files...>" "\n",
|
||||
"%s: Generate code tables for audio data" "\n"
|
||||
"Usage:" "\n"
|
||||
" %s --banks <samplebank_table.h> <samplebank xml files...>" "\n"
|
||||
" %s --fonts <soundfont_table.h> <soundfont xml files...>" "\n"
|
||||
" %s --sequences <seq_font_table.s> <sequence_order.in> <sequence object files...>" "\n",
|
||||
// clang-format on
|
||||
progname, progname, progname);
|
||||
progname, progname, progname, progname);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
@ -336,6 +616,16 @@ main(int argc, char **argv)
|
||||
int num_soundfont_files = argc - 3;
|
||||
|
||||
ret = tablegen_soundfonts(sf_hdr_out, soundfonts_paths, num_soundfont_files);
|
||||
} else if (strequ(mode, "--sequences")) {
|
||||
if (argc < 5)
|
||||
return usage(progname);
|
||||
|
||||
const char *seq_font_tbl_out = argv[2];
|
||||
const char *seq_order_path = argv[3];
|
||||
const char **sequences_paths = (const char **)&argv[4];
|
||||
int num_sequence_files = argc - 4;
|
||||
|
||||
ret = tablegen_sequences(seq_font_tbl_out, seq_order_path, sequences_paths, num_sequence_files);
|
||||
} else {
|
||||
return usage(progname);
|
||||
}
|
||||
|
@ -303,7 +303,7 @@ def extract_sequences(audioseq_seg : memoryview, extracted_dir : str, version_in
|
||||
disassemble_one_sequence(extracted_dir, version_info, soundfonts, seq_enum_names, *job)
|
||||
|
||||
dt = time.time() - t
|
||||
print(f"Sequences extraction took {dt:.3f}")
|
||||
print(f"Sequences extraction took {dt:.3f}s")
|
||||
|
||||
def extract_audio_for_version(version_info : GameVersionInfo, extracted_dir : str, read_xml : bool, write_xml : bool):
|
||||
print("Setting up...")
|
||||
|
@ -122,7 +122,7 @@ class MMLArg:
|
||||
|
||||
class MMLArgBits(MMLArg):
|
||||
def read(self, disas):
|
||||
return disas.read_bits(type(self).NBITS)
|
||||
return disas.bits_val
|
||||
|
||||
class ArgU8(MMLArg):
|
||||
def read(self, disas):
|
||||
@ -226,6 +226,17 @@ class ArgStereoConfig(ArgU8):
|
||||
strong_rvrb_left = (self.value >> 0) & 1
|
||||
return f"{type}, {strong_right}, {strong_left}, {strong_rvrb_right}, {strong_rvrb_left}"
|
||||
|
||||
class ArgEffectsConfig(ArgU8):
|
||||
def emit(self, disas):
|
||||
assert (self.value & 0b01000000) == 0
|
||||
headset = str(bool((self.value >> 7) & 1)).upper()
|
||||
type = (self.value >> 4) & 0b11
|
||||
strong_right = (self.value >> 3) & 1
|
||||
strong_left = (self.value >> 2) & 1
|
||||
strong_rvrb_right = (self.value >> 1) & 1
|
||||
strong_rvrb_left = (self.value >> 0) & 1
|
||||
return f"{headset}, {type}, {strong_right}, {strong_left}, {strong_rvrb_right}, {strong_rvrb_left}"
|
||||
|
||||
class ArgPortamentoTime(ArgVar):
|
||||
def read(self, disas):
|
||||
if disas.portamento_is_special:
|
||||
@ -368,6 +379,20 @@ class ArgUnkPtr(ArgAddr):
|
||||
def analyze(self, disas):
|
||||
disas.add_ref(self.value, SqSection.UNKNOWN)
|
||||
|
||||
class ArgLdSampleInst(MMLArg):
|
||||
def read(self, disas):
|
||||
return None
|
||||
|
||||
def emit(self, disas):
|
||||
return "LDSAMPLE_INST"
|
||||
|
||||
class ArgLdSampleSfx(MMLArg):
|
||||
def read(self, disas):
|
||||
return None
|
||||
|
||||
def emit(self, disas):
|
||||
return "LDSAMPLE_SFX"
|
||||
|
||||
#
|
||||
# COMMANDS
|
||||
#
|
||||
@ -474,7 +499,7 @@ CMD_SPEC = (
|
||||
MMLCmd(0xEC, 'vibreset', sections=(SqSection.CHAN,)),
|
||||
MMLCmd(0xEB, 'fontinstr', sections=(SqSection.CHAN,), args=(ArgFontId, ArgInstr)),
|
||||
MMLCmd(0xEA, 'stop', sections=(SqSection.CHAN,)),
|
||||
MMLCmd(0xE9, 'notepri', sections=(SqSection.CHAN,), args=(ArgU8,)),
|
||||
MMLCmd(0xE9, 'notepri', sections=(SqSection.CHAN,), args=(ArgU4x2,)),
|
||||
MMLCmd(0xE8, 'params', sections=(SqSection.CHAN,), args=(ArgU8, ArgU8, ArgU8, ArgS8, ArgS8, ArgU8, ArgU8, ArgU8,)),
|
||||
MMLCmd(0xE7, 'ldparams', sections=(SqSection.CHAN,), args=(ArgAddr,)),
|
||||
MMLCmd(0xE6, 'samplebook', sections=(SqSection.CHAN,), args=(ArgU8,)),
|
||||
@ -497,7 +522,7 @@ CMD_SPEC = (
|
||||
MMLCmd(0xD3, 'bend', sections=(SqSection.CHAN,), args=(ArgS8,)),
|
||||
MMLCmd(0xD2, 'sustain', sections=(SqSection.CHAN,), args=(ArgU8,)),
|
||||
MMLCmd(0xD1, 'notealloc', sections=(SqSection.CHAN,), args=(ArgU8,)),
|
||||
MMLCmd(0xD0, 'effects', sections=(SqSection.CHAN,), args=(ArgU8,)),
|
||||
MMLCmd(0xD0, 'effects', sections=(SqSection.CHAN,), args=(ArgEffectsConfig,)),
|
||||
MMLCmd(0xCF, 'stptrtoseq', sections=(SqSection.CHAN,), args=(ArgAddr,)),
|
||||
MMLCmd(0xCE, 'ldptr', sections=(SqSection.CHAN,), args=(ArgAddr,)),
|
||||
MMLCmd(0xCD, 'stopchan', sections=(SqSection.CHAN,), args=(ArgU8,)),
|
||||
@ -529,20 +554,19 @@ CMD_SPEC = (
|
||||
MMLCmd(0xB2, 'ldseqtoptr', sections=(SqSection.CHAN,), args=(ArgTblPtr,)),
|
||||
MMLCmd(0xB1, 'freefilter', sections=(SqSection.CHAN,)),
|
||||
MMLCmd(0xB0, 'ldfilter', sections=(SqSection.CHAN,), args=(ArgFilterPtr,)),
|
||||
MMLCmd(0xAA, 'unk_AA', sections=(SqSection.CHAN,), args=(), version=(MMLVersion.MM,)),
|
||||
MMLCmd(0xA8, 'randptr', sections=(SqSection.CHAN,), args=(ArgU16, ArgU16,), version=(MMLVersion.MM,)),
|
||||
MMLCmd(0xA7, 'unk_A7', sections=(SqSection.CHAN,), args=(ArgVar,), version=(MMLVersion.MM,)),
|
||||
MMLCmd(0xA6, 'unk_A6', sections=(SqSection.CHAN,), args=(ArgVar, ArgVar,), version=(MMLVersion.MM,)),
|
||||
MMLCmd(0xA7, 'unk_A7', sections=(SqSection.CHAN,), args=(ArgHex8,), version=(MMLVersion.MM,)),
|
||||
MMLCmd(0xA6, 'unk_A6', sections=(SqSection.CHAN,), args=(ArgU8, ArgS16,), version=(MMLVersion.MM,)),
|
||||
MMLCmd(0xA5, 'unk_A5', sections=(SqSection.CHAN,), args=(), version=(MMLVersion.MM,)),
|
||||
MMLCmd(0xA4, 'unk_A4', sections=(SqSection.CHAN,), args=(ArgVar,), version=(MMLVersion.MM,)),
|
||||
MMLCmd(0xA4, 'unk_A4', sections=(SqSection.CHAN,), args=(ArgU8,), version=(MMLVersion.MM,)),
|
||||
MMLCmd(0xA3, 'unk_A3', sections=(SqSection.CHAN,), args=(), version=(MMLVersion.MM,)),
|
||||
MMLCmd(0xA2, 'unk_A2', sections=(SqSection.CHAN,), args=(ArgVar,), version=(MMLVersion.MM,)),
|
||||
MMLCmd(0xA2, 'unk_A2', sections=(SqSection.CHAN,), args=(ArgS16,), version=(MMLVersion.MM,)),
|
||||
MMLCmd(0xA1, 'unk_A1', sections=(SqSection.CHAN,), args=(), version=(MMLVersion.MM,)),
|
||||
MMLCmd(0xA0, 'unk_A0', sections=(SqSection.CHAN,), args=(ArgVar,), version=(MMLVersion.MM,)),
|
||||
MMLCmd(0xA0, 'unk_A0', sections=(SqSection.CHAN,), args=(ArgS16,), version=(MMLVersion.MM,)),
|
||||
# argbits commands
|
||||
MMLCmd(0x00, 'cdelay', sections=(SqSection.CHAN,), args=(ArgBits4,)),
|
||||
MMLCmd(0x10, 'sample', sections=(SqSection.CHAN,), args=(ArgBits3, ArgAddr,)),
|
||||
MMLCmd(0x18, 'sampleptr', sections=(SqSection.CHAN,), args=(ArgBits3, ArgAddr,)),
|
||||
MMLCmd(0x10, 'ldsample', sections=(SqSection.CHAN,), args=(ArgLdSampleInst, IOPort3,)),
|
||||
MMLCmd(0x18, 'ldsample', sections=(SqSection.CHAN,), args=(ArgLdSampleSfx, IOPort3,)),
|
||||
MMLCmd(0x20, 'ldchan', sections=(SqSection.CHAN,), args=(ArgBits4, ArgChanPtr,)),
|
||||
MMLCmd(0x30, 'stcio', sections=(SqSection.CHAN,), args=(ArgBits4, IOPort8,)),
|
||||
MMLCmd(0x40, 'ldcio', sections=(SqSection.CHAN,), args=(ArgBits4, IOPort8,)),
|
||||
@ -688,10 +712,11 @@ class SequenceDisassembler:
|
||||
continue
|
||||
|
||||
# find number of lsbits that don't contribute to the command id
|
||||
if len(cmd.args) > 0 and issubclass(cmd.args[0], MMLArgBits):
|
||||
nbits = cmd.args[0].NBITS
|
||||
else:
|
||||
nbits = 0
|
||||
nbits = 0
|
||||
for arg in cmd.args:
|
||||
if issubclass(arg, MMLArgBits):
|
||||
assert nbits == 0, f"Multiple argbits-type arguments: {cmd}"
|
||||
nbits = arg.NBITS
|
||||
|
||||
id = cmd.cmd_id
|
||||
|
||||
@ -700,6 +725,7 @@ class SequenceDisassembler:
|
||||
|
||||
for i in range(1 << nbits):
|
||||
new = cmd
|
||||
new.mask = (1 << nbits) - 1
|
||||
old = cmds_s.get(id + i, None)
|
||||
if old is not None:
|
||||
assert old.mnemonic in ("notedvg", "notedv", "notevg"), (old.mnemonic, cmd.mnemonic)
|
||||
@ -732,9 +758,6 @@ class SequenceDisassembler:
|
||||
|
||||
# general helpers
|
||||
|
||||
def read_bits(self, nbits):
|
||||
return self.bits_val
|
||||
|
||||
def read_u8(self):
|
||||
if self.hit_eof:
|
||||
raise Exception()
|
||||
@ -763,10 +786,7 @@ class SequenceDisassembler:
|
||||
cmd = cmd[int(not self.large_notes)]
|
||||
|
||||
# part of the command byte may be an arg, save the value
|
||||
mask = 0
|
||||
if len(cmd.args) > 0 and issubclass(cmd.args[0], MMLArgBits):
|
||||
mask = (1 << cmd.args[0].NBITS) - 1
|
||||
self.bits_val = id & mask
|
||||
self.bits_val = id & cmd.mask
|
||||
|
||||
return cmd
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user