mirror of https://github.com/zeldaret/oot.git
Merge branch 'main' into EnGs_Doc
This commit is contained in:
commit
da47b9e74e
|
@ -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
|
||||
|
|
|
@ -20,84 +20,88 @@ pipeline {
|
|||
}
|
||||
}
|
||||
steps {
|
||||
echo 'Checking formatting on modified files...'
|
||||
sh 'python3 tools/check_format.py --verbose --compare-to origin/main'
|
||||
}
|
||||
}
|
||||
stage('Build ntsc-1.2, check disasm metadata') {
|
||||
steps {
|
||||
sh 'ln -s /usr/local/etc/roms/oot-ntsc-1.2-us.z64 baseroms/ntsc-1.2/baserom.z64'
|
||||
sh 'make -j setup VERSION=ntsc-1.2'
|
||||
sh 'make -j RUN_CC_CHECK=0 VERSION=ntsc-1.2'
|
||||
sh '.venv/bin/python3 tools/check_disasm_metadata_unksyms.py -v ntsc-1.2'
|
||||
sh 'make clean assetclean VERSION=ntsc-1.2'
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
echo 'Checking formatting on modified files...'
|
||||
sh 'python3 tools/check_format.py --verbose --compare-to origin/main'
|
||||
}
|
||||
}
|
||||
}
|
||||
// The ROMs are built in an order that maximizes compiler flags coverage in a "fail fast" approach.
|
||||
// Specifically we start with a retail ROM for BSS ordering, and make sure we cover all of
|
||||
// NTSC/PAL/MQ/DEBUG as quickly as possible.
|
||||
// N64/GC/NTSC/PAL/MQ/DEBUG as quickly as possible.
|
||||
stage('Build ntsc-1.2') {
|
||||
steps {
|
||||
script {
|
||||
build('ntsc-1.2', 'oot-ntsc-1.2-us.z64')
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Build gc-jp') {
|
||||
steps {
|
||||
sh 'ln -s /usr/local/etc/roms/oot-gc-jp.z64 baseroms/gc-jp/baserom.z64'
|
||||
sh 'make -j setup VERSION=gc-jp'
|
||||
sh 'make -j RUN_CC_CHECK=0 VERSION=gc-jp'
|
||||
sh 'make clean assetclean VERSION=gc-jp'
|
||||
}
|
||||
script {
|
||||
build('gc-jp', 'oot-gc-jp.z64')
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Build gc-eu-mq') {
|
||||
steps {
|
||||
sh 'ln -s /usr/local/etc/roms/oot-gc-eu-mq.z64 baseroms/gc-eu-mq/baserom.z64'
|
||||
sh 'make -j setup VERSION=gc-eu-mq'
|
||||
sh 'make -j RUN_CC_CHECK=0 VERSION=gc-eu-mq'
|
||||
sh 'make clean assetclean VERSION=gc-eu-mq'
|
||||
script {
|
||||
build('gc-eu-mq', 'oot-gc-eu-mq.z64')
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Build gc-eu-mq-dbg') {
|
||||
steps {
|
||||
sh 'ln -s /usr/local/etc/roms/oot-gc-eu-mq-dbg.z64 baseroms/gc-eu-mq-dbg/baserom.z64'
|
||||
sh 'make -j setup VERSION=gc-eu-mq-dbg'
|
||||
sh 'make -j RUN_CC_CHECK=0 VERSION=gc-eu-mq-dbg'
|
||||
sh 'make clean assetclean VERSION=gc-eu-mq-dbg'
|
||||
script {
|
||||
build('gc-eu-mq-dbg', 'oot-gc-eu-mq-dbg.z64')
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Build gc-us') {
|
||||
steps {
|
||||
sh 'ln -s /usr/local/etc/roms/oot-gc-us.z64 baseroms/gc-us/baserom.z64'
|
||||
sh 'make -j setup VERSION=gc-us'
|
||||
sh 'make -j RUN_CC_CHECK=0 VERSION=gc-us'
|
||||
sh 'make clean assetclean VERSION=gc-us'
|
||||
script {
|
||||
build('gc-us', 'oot-gc-us.z64')
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Build gc-jp-ce') {
|
||||
steps {
|
||||
sh 'ln -s /usr/local/etc/roms/oot-gc-jp-ce.z64 baseroms/gc-jp-ce/baserom.z64'
|
||||
sh 'make -j setup VERSION=gc-jp-ce'
|
||||
sh 'make -j RUN_CC_CHECK=0 VERSION=gc-jp-ce'
|
||||
sh 'make clean assetclean VERSION=gc-jp-ce'
|
||||
script {
|
||||
build('gc-jp-ce', 'oot-gc-jp-ce.z64')
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Build gc-eu') {
|
||||
steps {
|
||||
sh 'ln -s /usr/local/etc/roms/oot-gc-eu.z64 baseroms/gc-eu/baserom.z64'
|
||||
sh 'make -j setup VERSION=gc-eu'
|
||||
sh 'make -j RUN_CC_CHECK=0 VERSION=gc-eu'
|
||||
sh 'make clean assetclean VERSION=gc-eu'
|
||||
script {
|
||||
build('gc-eu', 'oot-gc-eu.z64')
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Build gc-jp-mq') {
|
||||
steps {
|
||||
sh 'ln -s /usr/local/etc/roms/oot-gc-jp-mq.z64 baseroms/gc-jp-mq/baserom.z64'
|
||||
sh 'make -j setup VERSION=gc-jp-mq'
|
||||
sh 'make -j RUN_CC_CHECK=0 VERSION=gc-jp-mq'
|
||||
sh 'make clean assetclean VERSION=gc-jp-mq'
|
||||
script {
|
||||
build('gc-jp-mq', 'oot-gc-jp-mq.z64')
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Build gc-us-mq') {
|
||||
steps {
|
||||
sh 'ln -s /usr/local/etc/roms/oot-gc-us-mq.z64 baseroms/gc-us-mq/baserom.z64'
|
||||
sh 'make -j setup VERSION=gc-us-mq'
|
||||
sh 'make -j RUN_CC_CHECK=0 VERSION=gc-us-mq'
|
||||
sh 'make clean assetclean VERSION=gc-us-mq'
|
||||
script {
|
||||
build('gc-us-mq', 'oot-gc-us-mq.z64')
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Generate patch') {
|
||||
when {
|
||||
not {
|
||||
branch 'main'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
sh 'git diff'
|
||||
echo 'Generating patch...'
|
||||
sh 'tools/generate_patch_from_jenkins.sh'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -115,3 +119,20 @@ pipeline {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
def build(String version, String rom) {
|
||||
sh "ln -s /usr/local/etc/roms/${rom} baseroms/${version}/baserom.z64"
|
||||
sh "make -j\$(nproc) setup VERSION=${version}"
|
||||
try {
|
||||
sh "make -j\$(nproc) VERSION=${version}"
|
||||
} catch (e) {
|
||||
echo "Build failed, attempting to fix BSS ordering..."
|
||||
sh ".venv/bin/python3 tools/fix_bss.py -v ${version}"
|
||||
// If fix_bss.py succeeds, continue the build, but ensure both the build and current stage are marked as failed
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
sh 'exit 1'
|
||||
}
|
||||
} finally {
|
||||
sh "make clean assetclean VERSION=${version}"
|
||||
}
|
||||
}
|
||||
|
|
128
Makefile
128
Makefile
|
@ -18,6 +18,7 @@ ORIG_COMPILER ?= 0
|
|||
# If COMPILER is "gcc", compile with GCC instead of IDO.
|
||||
COMPILER ?= ido
|
||||
# Target game version. Currently the following versions are supported:
|
||||
# ntsc-1.2 N64 NTSC 1.2 (Japan/US depending on REGION)
|
||||
# gc-jp GameCube Japan
|
||||
# gc-jp-mq GameCube Japan Master Quest
|
||||
# gc-jp-ce GameCube Japan (Collector's Edition disc)
|
||||
|
@ -27,7 +28,7 @@ COMPILER ?= ido
|
|||
# gc-eu-mq GameCube Europe/PAL Master Quest
|
||||
# gc-eu-mq-dbg GameCube Europe/PAL Master Quest Debug (default)
|
||||
# The following versions are work-in-progress and not yet matching:
|
||||
# ntsc-1.2 N64 NTSC 1.2 (Japan/US depending on REGION)
|
||||
# (none currently)
|
||||
VERSION ?= gc-eu-mq-dbg
|
||||
# Number of threads to extract and compress with
|
||||
N_THREADS ?= $(shell nproc)
|
||||
|
@ -51,57 +52,38 @@ ifeq ($(VERSION),ntsc-1.2)
|
|||
REGIONAL_CHECKSUM := 1
|
||||
REGION ?= JP
|
||||
PLATFORM := N64
|
||||
PAL := 0
|
||||
MQ := 0
|
||||
DEBUG := 0
|
||||
COMPARE := 0
|
||||
else ifeq ($(VERSION),gc-jp)
|
||||
REGION ?= JP
|
||||
PLATFORM := GC
|
||||
PAL := 0
|
||||
MQ := 0
|
||||
DEBUG := 0
|
||||
else ifeq ($(VERSION),gc-jp-mq)
|
||||
REGION ?= JP
|
||||
PLATFORM := GC
|
||||
PAL := 0
|
||||
MQ := 1
|
||||
DEBUG := 0
|
||||
else ifeq ($(VERSION),gc-jp-ce)
|
||||
REGION ?= JP
|
||||
PLATFORM := GC
|
||||
PAL := 0
|
||||
MQ := 0
|
||||
DEBUG := 0
|
||||
else ifeq ($(VERSION),gc-us)
|
||||
REGION ?= US
|
||||
PLATFORM := GC
|
||||
PAL := 0
|
||||
MQ := 0
|
||||
DEBUG := 0
|
||||
else ifeq ($(VERSION),gc-us-mq)
|
||||
REGION ?= US
|
||||
PLATFORM := GC
|
||||
PAL := 0
|
||||
MQ := 1
|
||||
DEBUG := 0
|
||||
else ifeq ($(VERSION),gc-eu)
|
||||
REGION ?= EU
|
||||
PLATFORM := GC
|
||||
PAL := 1
|
||||
MQ := 0
|
||||
DEBUG := 0
|
||||
else ifeq ($(VERSION),gc-eu-mq)
|
||||
REGION ?= EU
|
||||
PLATFORM := GC
|
||||
PAL := 1
|
||||
MQ := 1
|
||||
DEBUG := 0
|
||||
else ifeq ($(VERSION),gc-eu-mq-dbg)
|
||||
REGION ?= EU
|
||||
PLATFORM := GC
|
||||
PAL := 1
|
||||
MQ := 1
|
||||
DEBUG := 1
|
||||
else
|
||||
$(error Unsupported version $(VERSION))
|
||||
|
@ -147,18 +129,6 @@ else
|
|||
$(error Unsupported platform $(PLATFORM))
|
||||
endif
|
||||
|
||||
ifeq ($(PAL),0)
|
||||
CPP_DEFINES += -DOOT_NTSC=1
|
||||
else
|
||||
CPP_DEFINES += -DOOT_PAL=1
|
||||
endif
|
||||
|
||||
ifeq ($(MQ),0)
|
||||
CPP_DEFINES += -DOOT_MQ=0
|
||||
else
|
||||
CPP_DEFINES += -DOOT_MQ=1
|
||||
endif
|
||||
|
||||
ifeq ($(DEBUG),1)
|
||||
CPP_DEFINES += -DOOT_DEBUG=1
|
||||
OPTFLAGS := -O2
|
||||
|
@ -240,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
|
||||
|
@ -312,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),)
|
||||
|
@ -336,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)/%))
|
||||
|
@ -353,11 +334,22 @@ 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))
|
||||
|
||||
# create extracted directories
|
||||
$(shell mkdir -p $(EXTRACTED_DIR) $(EXTRACTED_DIR)/assets $(EXTRACTED_DIR)/text)
|
||||
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))
|
||||
|
||||
ASSET_BIN_DIRS_EXTRACTED := $(shell find $(EXTRACTED_DIR)/assets -type d)
|
||||
ASSET_BIN_DIRS_COMMITTED := $(shell find assets -type d -not -path "assets/xml*" -not -path assets/text)
|
||||
SEQUENCE_TABLE := include/tables/sequence_table.h
|
||||
|
||||
# create extracted directory
|
||||
$(shell mkdir -p $(EXTRACTED_DIR))
|
||||
|
||||
ifneq ($(wildcard $(EXTRACTED_DIR)/assets),)
|
||||
ASSET_BIN_DIRS_EXTRACTED := $(shell find $(EXTRACTED_DIR)/assets -type d)
|
||||
else
|
||||
ASSET_BIN_DIRS_EXTRACTED :=
|
||||
endif
|
||||
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))
|
||||
|
@ -407,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),)
|
||||
|
@ -414,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
|
||||
|
@ -421,14 +415,9 @@ endif
|
|||
ifeq ($(COMPILER),ido)
|
||||
$(BUILD_DIR)/src/boot/driverominit.o: OPTFLAGS := -O2
|
||||
$(BUILD_DIR)/src/boot/logutils.o: OPTFLAGS := -O2
|
||||
$(BUILD_DIR)/src/boot/sleep.o: OPTFLAGS := -O2
|
||||
$(BUILD_DIR)/src/boot/sprintf.o: OPTFLAGS := -O2
|
||||
$(BUILD_DIR)/src/boot/stackcheck.o: OPTFLAGS := -O2
|
||||
|
||||
$(BUILD_DIR)/src/code/__osMalloc.o: OPTFLAGS := -O2
|
||||
$(BUILD_DIR)/src/code/code_800FC620.o: OPTFLAGS := -O2
|
||||
$(BUILD_DIR)/src/code/fp_math.o: OPTFLAGS := -O2
|
||||
$(BUILD_DIR)/src/code/rand.o: OPTFLAGS := -O2
|
||||
$(BUILD_DIR)/src/code/gfxprint.o: OPTFLAGS := -O2
|
||||
$(BUILD_DIR)/src/code/jpegutils.o: OPTFLAGS := -O2
|
||||
$(BUILD_DIR)/src/code/jpegdecoder.o: OPTFLAGS := -O2
|
||||
|
@ -438,9 +427,7 @@ $(BUILD_DIR)/src/code/loadfragment2_gc.o: OPTFLAGS := -O2
|
|||
$(BUILD_DIR)/src/code/mtxuty-cvt.o: OPTFLAGS := -O2
|
||||
$(BUILD_DIR)/src/code/padsetup.o: OPTFLAGS := -O2
|
||||
$(BUILD_DIR)/src/code/padutils.o: OPTFLAGS := -O2
|
||||
$(BUILD_DIR)/src/code/printutils.o: OPTFLAGS := -O2
|
||||
$(BUILD_DIR)/src/code/relocation_gc.o: OPTFLAGS := -O2
|
||||
$(BUILD_DIR)/src/code/system_malloc.o: OPTFLAGS := -O2
|
||||
|
||||
$(BUILD_DIR)/src/code/fault_n64.o: CFLAGS += -trapuv
|
||||
$(BUILD_DIR)/src/code/fault_gc.o: CFLAGS += -trapuv
|
||||
|
@ -463,6 +450,8 @@ else
|
|||
$(BUILD_DIR)/src/libc/%.o: OPTFLAGS := -O2
|
||||
endif
|
||||
|
||||
$(BUILD_DIR)/src/libc64/%.o: OPTFLAGS := -O2
|
||||
|
||||
$(BUILD_DIR)/src/audio/%.o: OPTFLAGS := -O2
|
||||
|
||||
# Use signed chars instead of unsigned for this audio file (needed to match AudioDebug_ScrPrt)
|
||||
|
@ -595,10 +584,10 @@ setup-audio:
|
|||
setup: venv
|
||||
$(MAKE) -C tools
|
||||
$(PYTHON) tools/decompress_baserom.py $(VERSION)
|
||||
$(PYTHON) tools/extract_baserom.py $(BASEROM_DIR)/baserom-decompressed.z64 --oot-version $(VERSION) -o $(EXTRACTED_DIR)/baserom
|
||||
$(PYTHON) tools/extract_incbins.py $(EXTRACTED_DIR)/baserom --oot-version $(VERSION) -o $(EXTRACTED_DIR)/incbin
|
||||
$(PYTHON) tools/msgdis.py $(VERSION)
|
||||
$(PYTHON) extract_assets.py -v $(VERSION) -j$(N_THREADS)
|
||||
$(PYTHON) tools/extract_baserom.py $(BASEROM_DIR)/baserom-decompressed.z64 $(EXTRACTED_DIR)/baserom -v $(VERSION)
|
||||
$(PYTHON) tools/extract_incbins.py $(EXTRACTED_DIR)/baserom $(EXTRACTED_DIR)/incbin -v $(VERSION)
|
||||
$(PYTHON) tools/msgdis.py $(EXTRACTED_DIR)/baserom $(EXTRACTED_DIR)/text -v $(VERSION)
|
||||
$(PYTHON) extract_assets.py $(EXTRACTED_DIR)/baserom $(EXTRACTED_DIR)/assets -v $(VERSION) -j$(N_THREADS)
|
||||
$(AUDIO_EXTRACT) -o $(EXTRACTED_DIR) -v $(VERSION) --read-xml
|
||||
|
||||
disasm:
|
||||
|
@ -625,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
|
||||
|
@ -712,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)
|
||||
|
@ -845,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)
|
||||
|
@ -853,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
|
||||
|
@ -863,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:
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -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
|
|
@ -1,6 +1,7 @@
|
|||
#define MESSAGE_DATA_STATIC
|
||||
|
||||
#include "message_data_fmt.h"
|
||||
#include "versions.h"
|
||||
|
||||
#define DEFINE_MESSAGE(textId, type, yPos, jpnMessage, nesMessage, gerMessage, fraMessage) \
|
||||
const char _message_##textId##_nes[] = nesMessage;
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_0" Index="0"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_1" Index="1"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_10" Index="10"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_100" Index="100"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_101" Index="101"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_102" Index="102"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_103" Index="103"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_104" Index="104"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_105" Index="105"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_106" Index="106"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_107" Index="107"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_108" Index="108"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_109" Index="109"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_11" Index="11"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_12" Index="12"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_13" Index="13"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_14" Index="14"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_15" Index="15"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_16" Index="16"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_17" Index="17"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_18" Index="18"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_19" Index="19"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_2" Index="2"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_20" Index="20"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_21" Index="21"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_22" Index="22"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_23" Index="23"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_24" Index="24"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_25" Index="25"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_26" Index="26"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_27" Index="27"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_28" Index="28"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_29" Index="29"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_3" Index="3"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_30" Index="30"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_31" Index="31"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_32" Index="32"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_33" Index="33"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_34" Index="34"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_35" Index="35"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_36" Index="36"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_37" Index="37"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_38" Index="38"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_39" Index="39"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_4" Index="4"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_40" Index="40"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_41" Index="41"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_42" Index="42"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_43" Index="43"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_44" Index="44"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_45" Index="45"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_46" Index="46"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_47" Index="47"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_48" Index="48"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_49" Index="49"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_5" Index="5"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_50" Index="50"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_51" Index="51"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_52" Index="52"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_53" Index="53"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_54" Index="54"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_55" Index="55"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_56" Index="56"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_57" Index="57"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_58" Index="58"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_59" Index="59"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_6" Index="6"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_60" Index="60"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_61" Index="61"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_62" Index="62"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_63" Index="63"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_64" Index="64"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_65" Index="65"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_66" Index="66"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_67" Index="67"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_68" Index="68"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_69" Index="69"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_7" Index="7"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_70" Index="70"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_71" Index="71"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_72" Index="72"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_73" Index="73"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_74" Index="74"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_75" Index="75"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_76" Index="76"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_77" Index="77"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_78" Index="78"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_79" Index="79"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_8" Index="8"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_80" Index="80"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_81" Index="81"/>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- This file is only for extraction of vanilla data. -->
|
||||
<Sequence Name="Sequence_82" Index="82"/>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue