mirror of https://github.com/zeldaret/mm.git
Overhaul the build system (#234)
* wip * fix * add disassembler * Disasm builds OK * Variable addends * More wip * Rodata migration implemented * Cleanup old tools * Try fix submodule -> subrepo merge * git subrepo pull --force --remote=https://github.com/zeldaret/ZAPD.git tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "602e609" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "602e609" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * Builds again but assets are totally broken * git subrepo pull --force tools/asm-processor subrepo: subdir: "tools/asm-processor" merged: "1ffdb08a" upstream: origin: "https://github.com/simonlindholm/asm-processor.git" branch: "master" commit: "1ffdb08a" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * More cleanup, move functions.txt and variables.txt to tools/disasm and rm tables * rm z64compress in preparation for subrepo * git subrepo clone (merge) https://github.com/z64me/z64compress.git tools/z64compress subrepo: subdir: "tools/z64compress" merged: "eb11085c" upstream: origin: "https://github.com/z64me/z64compress.git" branch: "main" commit: "eb11085c" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * Fix asset extraction * Fix diff-init make rule * Split code bss * Split assumed linker bug padding from assembly files * add filelists for mm.us.rev1 * Maybe working, but I'm not sure * add overlays to spec * Add rodata to actos * Everything compiles * Make a lot of C files for code * Add almost every file in code to spec * whoops * 3 code files left * add scenes to spec * More progress on progress.py * Fix skelanime in spec * audio files! * Fix merge issues * Fix some C files in code * Fix remaining code files * Use existing O1 C files in spec * reorder boot order in spec * update spec * fault.c * Convert relocs on completed actors, fixbaserom uses current rom name * more boot files * Add VT macros and script * finish already existing boot files * most of libultra * fix 64bits libultra files * Use C files for libultra, wrap some functions in NON_MATCHING * Remove duplicate of OS_CLOCK_RATE from fault.c * C files for fbdemos * delete dumb files * bootstrap C files, still need to add them to the spec * update fixbaserom * boot OK? * I forgot to commit the spec * C for gamestates * C for kaleido * Change all includes to "" * copy actor sizes script from oot * I forgot to delete those files * Basic C files for effects * Add effects initvars names * Remove mislabelled boot functions from header/txt * Begin porting bootstrap_fx, some sizes * Fix <> * Fix enum * Fix diff.py * fix libultra stuff * update regconvert * update setup warnings * add some missing ; * Fix some makefile stuff and other fixes on some non_matching functions * add executable flag in extract_baserom and fixbaserom * fix relative path * copy assist from oot * fix map path * another assist path fix * Delete C files for handwritten files * add code_801A51F0 to spec * add gfxbuffers to spec * Move rodata to top of each file when possible * UNK_TYPEs for func_801A51F0 * Remove kaleido rodata from spec * Update spec and undefined_syms for recent merge * GCC warnings and fix errors in nonmatchings, * round percentage numbers * progress script: format changes * progress: error on non-existing files * fix warning in z_scene_table * Match 2 nonmatchings in z_actor * Warnings in lightswitch and invadepoh * Fix warning in z_actor_dlftbls * I though I fixed this one * whoops * Comment out CC_CHECK * Removed redundant ultra64.h includes * Update asm_processor, sorted boot_O1 into other folders, completed the fbdemo bootstrap, cleaned up undefined_syms * Completed gamestates bootstrap * Split kaleido_scope * Remove section.h and segment.h, move keep object externs to a common location in variables.h * Completed effects bootstrap * Segmented address externs for effects, fbdemos, gamestates and kaleido * Move actor data externs out of the if 0 * Segmented address externs for actors * Prepare actionfunc detection * fix script, how did it even work before * Fix actionfunc script again, re-introduce some more intermediate prints to the disassembler * Automated actionFunc detection in actors * Segmented addresses from player .text * rm old segment addrs script and fix build * Move sizes folder to tools * Make build.py executable * New Jenkinsfile Prayge * Remove numpy dependencies * Add warnings_disasm_current.txt * my bad * Update spec and undefined_syms * Add z_eff_ss_hahen to pametfrog * git subrepo pull (merge) --force tools/z64compress subrepo: subdir: "tools/z64compress" merged: "163ca2af" upstream: origin: "https://github.com/z64me/z64compress.git" branch: "main" commit: "163ca2af" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * Make z64compress print to stdout * sneeky commit to update warnings tooling * test * Another test * Mark fixing overlay reloc generating as a TODO * Update warnings stuff * Communicate the return code from running z64compress back to the Makefile through the wrapper * Run formatter, remove extra commented copy of function * Re-fix some includes * Convert atan to hex to conform to decided style * Some tidying up, remove c for fp and the other two handwritten code files * BSS in z_collision_check & z_scene_proc * add static back in * Fix timerintr bss, add file to spec, some cleanup * Remove externs * Newline * Readd enums * Typo * Colours * Comments for hitmark enum values Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * Improvements and suggestions * Organize and remove unused imports and use env for python3 scripts, delete unused overlay.py Co-authored-by: angie <angheloalf95@gmail.com> Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com> Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
This commit is contained in:
parent
60ff207982
commit
7743e5a2c4
|
@ -20,6 +20,7 @@ build/
|
|||
baserom/
|
||||
decomp/
|
||||
asm/
|
||||
data/
|
||||
expected/
|
||||
nonmatchings/
|
||||
|
||||
|
|
|
@ -98,7 +98,7 @@ void CollisionCheck_SpawnWaterDroplets(GlobalContext* globalCtx, Vec3f* v) {
|
|||
// ...
|
||||
}
|
||||
#else
|
||||
#pragma GLOBAL_ASM("./asm/non_matchings/code/z_collision_check/CollisionCheck_SpawnWaterDroplets.asm")
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/CollisionCheck_SpawnWaterDroplets.s")
|
||||
#endif
|
||||
```
|
||||
|
||||
|
|
|
@ -20,6 +20,16 @@ pipeline {
|
|||
sh 'python3 tools/warnings_count/compare_warnings.py tools/warnings_count/warnings_setup_current.txt tools/warnings_count/warnings_setup_new.txt'
|
||||
}
|
||||
}
|
||||
stage('Disasm') {
|
||||
steps {
|
||||
sh 'bash -c "make -j disasm 2> >(tee tools/warnings_count/warnings_disasm_new.txt)"'
|
||||
}
|
||||
}
|
||||
stage('Check disasm warnings') {
|
||||
steps {
|
||||
sh 'python3 tools/warnings_count/compare_warnings.py tools/warnings_count/warnings_disasm_current.txt tools/warnings_count/warnings_disasm_new.txt'
|
||||
}
|
||||
}
|
||||
stage('Build') {
|
||||
steps {
|
||||
sh 'bash -c "make -j all 2> >(tee tools/warnings_count/warnings_build_new.txt)"'
|
||||
|
|
311
Makefile
311
Makefile
|
@ -1,5 +1,7 @@
|
|||
MAKEFLAGS += --no-builtin-rules
|
||||
|
||||
# Build options can either be changed by modifying the makefile, or by building with 'make SETTING=value'
|
||||
|
||||
# If COMPARE is 1, check the output md5sum after building
|
||||
COMPARE ?= 1
|
||||
# If NON_MATCHING is 1, define the NON_MATCHING C flag when building
|
||||
|
@ -13,31 +15,41 @@ ifeq ($(NON_MATCHING),1)
|
|||
COMPARE := 0
|
||||
endif
|
||||
|
||||
PROJECT_DIR := $(dir $(realpath $(firstword $(MAKEFILE_LIST))))
|
||||
|
||||
MAKE = make
|
||||
CPPFLAGS += -P
|
||||
|
||||
ifeq ($(OS),Windows_NT)
|
||||
DETECTED_OS=windows
|
||||
DETECTED_OS=windows
|
||||
else
|
||||
UNAME_S := $(shell uname -s)
|
||||
ifeq ($(UNAME_S),Linux)
|
||||
DETECTED_OS=linux
|
||||
endif
|
||||
ifeq ($(UNAME_S),Darwin)
|
||||
DETECTED_OS=macos
|
||||
MAKE=gmake
|
||||
CPPFLAGS += -xc++
|
||||
endif
|
||||
UNAME_S := $(shell uname -s)
|
||||
ifeq ($(UNAME_S),Linux)
|
||||
DETECTED_OS=linux
|
||||
endif
|
||||
ifeq ($(UNAME_S),Darwin)
|
||||
DETECTED_OS=macos
|
||||
MAKE=gmake
|
||||
CPPFLAGS += -xc++
|
||||
endif
|
||||
endif
|
||||
|
||||
# Threads to compress and extract assets with, TODO improve later
|
||||
ifeq ($(DETECTED_OS),linux)
|
||||
N_THREADS ?= $(shell nproc)
|
||||
else
|
||||
N_THREADS ?= 1
|
||||
endif
|
||||
|
||||
#### Tools ####
|
||||
ifeq ($(shell type mips-linux-gnu-ld >/dev/null 2>/dev/null; echo $$?), 0)
|
||||
MIPS_BINUTILS_PREFIX := mips-linux-gnu-
|
||||
else
|
||||
MIPS_BINUTILS_PREFIX := mips64-elf-
|
||||
$(error Please install or build mips-linux-gnu)
|
||||
endif
|
||||
|
||||
CC := tools/ido_recomp/$(DETECTED_OS)/7.1/cc
|
||||
CC_OLD := tools/ido_recomp/$(DETECTED_OS)/5.3/cc
|
||||
GCC := gcc
|
||||
QEMU_IRIX ?= ./tools/qemu-mips
|
||||
|
||||
# if ORIG_COMPILER is 1, check that either QEMU_IRIX is set or qemu-irix package installed
|
||||
ifeq ($(ORIG_COMPILER),1)
|
||||
|
@ -51,66 +63,75 @@ ifeq ($(ORIG_COMPILER),1)
|
|||
CC_OLD = $(QEMU_IRIX) -L tools/ido5.3_compiler tools/ido5.3_compiler/usr/bin/cc
|
||||
endif
|
||||
|
||||
AS := $(MIPS_BINUTILS_PREFIX)as
|
||||
LD := $(MIPS_BINUTILS_PREFIX)ld
|
||||
OBJCOPY := $(MIPS_BINUTILS_PREFIX)objcopy
|
||||
OBJDUMP := $(MIPS_BINUTILS_PREFIX)objdump
|
||||
AS := $(MIPS_BINUTILS_PREFIX)as
|
||||
LD := $(MIPS_BINUTILS_PREFIX)ld
|
||||
OBJCOPY := $(MIPS_BINUTILS_PREFIX)objcopy
|
||||
OBJDUMP := $(MIPS_BINUTILS_PREFIX)objdump
|
||||
|
||||
ZAPD := tools/ZAPD/ZAPD.out
|
||||
# Check code syntax with host compiler
|
||||
CHECK_WARNINGS := -Wall -Wextra -Wno-format-security -Wno-unknown-pragmas -Wno-unused-parameter -Wno-unused-variable -Wno-missing-braces -Wno-int-conversion -Wno-unused-but-set-variable -Wno-unused-label
|
||||
CC_CHECK := gcc -fno-builtin -fsyntax-only -fsigned-char -std=gnu90 -D _LANGUAGE_C -D NON_MATCHING -Iinclude -Isrc -Iassets -Ibuild -include stdarg.h $(CHECK_WARNINGS)
|
||||
|
||||
CPP := cpp
|
||||
ELF2ROM := tools/buildtools/elf2rom
|
||||
MKLDSCRIPT := tools/buildtools/mkldscript
|
||||
YAZ0 := tools/buildtools/yaz0
|
||||
ZAPD := tools/ZAPD/ZAPD.out
|
||||
|
||||
OPTFLAGS := -O2 -g3
|
||||
ASFLAGS := -march=vr4300 -32
|
||||
ASFLAGS := -march=vr4300 -32 -Iinclude
|
||||
MIPS_VERSION := -mips2
|
||||
|
||||
# we support Microsoft extensions such as anonymous structs, which the compiler does support but warns for their usage. Surpress the warnings with -woff.
|
||||
CFLAGS += -G 0 -non_shared -Xfullwarn -Xcpluscomm -Iinclude -Isrc -Iassets -Ibuild -I./ -Isrc -Wab,-r4300_mul -woff 624,649,838,712
|
||||
CFLAGS += -G 0 -non_shared -Xfullwarn -Xcpluscomm -Iinclude -Isrc -Iassets -Ibuild -I. -Wab,-r4300_mul -woff 624,649,838,712
|
||||
|
||||
ifeq ($(shell getconf LONG_BIT), 32)
|
||||
# Work around memory allocation bug in QEMU
|
||||
export QEMU_GUEST_BASE := 1
|
||||
else
|
||||
# Ensure that gcc treats the code as 32-bit
|
||||
CC_CHECK += -m32
|
||||
endif
|
||||
|
||||
#### Files ####
|
||||
|
||||
# ROM image
|
||||
MM_BASEROM ?= baserom.mm.us.rev1.z64
|
||||
MM_ROM_NAME ?= mm.us.rev1.rom
|
||||
ROM := $(MM_ROM_NAME).z64
|
||||
UNCOMPRESSED_ROM := $(MM_ROM_NAME)_uncompressed.z64
|
||||
ELF := $(MM_ROM_NAME).elf
|
||||
ROMC := mm.us.rev1.rom.z64
|
||||
ROM := $(ROMC:.rom.z64=.rom_uncompressed.z64)
|
||||
ELF := $(ROM:.z64=.elf)
|
||||
# description of ROM segments
|
||||
SPEC := spec
|
||||
|
||||
# create asm directories
|
||||
$(shell mkdir -p asm data)
|
||||
|
||||
SRC_DIRS := $(shell find src -type d)
|
||||
ASM_DIRS := $(shell find asm -type d -not -path "asm/non_matchings*") $(shell find data -type d)
|
||||
ASSET_BIN_DIRS := $(shell find assets/* -type d -not -path "assets/xml*")
|
||||
BASEROM_DIRS := $(shell find baserom -type d 2>/dev/null)
|
||||
COMP_DIRS := $(BASEROM_DIRS:baserom%=comp%)
|
||||
BINARY_DIRS := $(BASEROM_DIRS:baserom%=binary%)
|
||||
ASSET_C_FILES := $(shell find assets/ -type f -name "*.c")
|
||||
ASSET_FILES_BIN := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.bin))
|
||||
ASSET_FILES_OUT := $(foreach f,$(ASSET_FILES_BIN:.bin=.bin.inc.c),build/$f)
|
||||
|
||||
# Because we may not have disassembled the code files yet, there might not be any assembly files.
|
||||
# Instead, generate a list of assembly files based on what's listed in the linker script.
|
||||
S_FILES := $(shell grep build/asm ./linker_scripts/code_script.txt | sed 's/\s*build\///g; s/\.o(\..*)/\.asm/g')
|
||||
C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c))
|
||||
|
||||
C_O_FILES := $(C_FILES:%.c=build/%.o)
|
||||
S_O_FILES := $(S_FILES:asm/%.asm=build/asm/%.o)
|
||||
ASSET_O_FILES := $(ASSET_C_FILES:%.c=build/%.o)
|
||||
O_FILES := $(C_O_FILES) $(S_O_FILES) $(ASSET_O_FILES)
|
||||
|
||||
## Assets binaries (PNGs, JPGs, etc)
|
||||
TEXTURE_FILES_PNG := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.png))
|
||||
TEXTURE_FILES_JPG := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.jpg))
|
||||
TEXTURE_FILES_OUT := $(foreach f,$(TEXTURE_FILES_PNG:.png=.inc.c),build/$f) \
|
||||
$(foreach f,$(TEXTURE_FILES_JPG:.jpg=.jpg.inc.c),build/$f) \
|
||||
|
||||
# create build directories
|
||||
$(shell mkdir -p build/linker_scripts build/asm build/asm/boot build/asm/code build/asm/overlays $(foreach dir, $(COMP_DIRS) $(BINARY_DIRS) $(SRC_DIRS) $(ASSET_BIN_DIRS),$(shell mkdir -p build/$(dir))))
|
||||
C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c))
|
||||
S_FILES := $(foreach dir,$(ASM_DIRS),$(wildcard $(dir)/*.s))
|
||||
O_FILES := $(foreach f,$(S_FILES:.s=.o),build/$f) \
|
||||
$(foreach f,$(wildcard baserom/*),build/$f.o) \
|
||||
$(foreach f,$(C_FILES:.c=.o),build/$f) \
|
||||
$(foreach f,$(ASSET_C_FILES:.c=.o),build/$f)
|
||||
|
||||
# This file defines `ROM_FILES`, `UNCOMPRESSED_ROM_FILES`, and rules for generating `.yaz0` files
|
||||
ifneq ($(MAKECMDGOALS), clean)
|
||||
ifneq ($(MAKECMDGOALS), distclean)
|
||||
$(shell tools/dmadata_dependencies.py \
|
||||
--dmadata-table=tables/dmadata_table.txt \
|
||||
--output-deps=build/rom_dependencies.d)
|
||||
-include build/rom_dependencies.d
|
||||
endif
|
||||
endif
|
||||
# Automatic dependency files
|
||||
# (Only asm_processor dependencies are handled for now)
|
||||
DEP_FILES := $(O_FILES:.o=.asmproc.d)
|
||||
|
||||
# create build directories
|
||||
$(shell mkdir -p build/baserom $(foreach dir,$(SRC_DIRS) $(ASM_DIRS) $(ASSET_BIN_DIRS),build/$(dir)))
|
||||
|
||||
build/src/libultra/os/%: OPTFLAGS := -O1
|
||||
build/src/libultra/voice/%: OPTFLAGS := -O2
|
||||
|
@ -120,181 +141,134 @@ build/src/libultra/libc/ll%: OPTFLAGS := -O1
|
|||
build/src/libultra/libc/ll%: MIPS_VERSION := -mips3 -32
|
||||
build/src/libultra/gu/%: OPTFLAGS := -O2
|
||||
build/src/libultra/rmon/%: OPTFLAGS := -O2
|
||||
build/src/boot_O1/%: OPTFLAGS := -O1
|
||||
build/src/boot_O2/%: OPTFLAGS := -O2
|
||||
build/src/boot_O2_g3/%: OPTFLAGS := -O2 -g3
|
||||
build/src/boot_O2_g3_trapuv/%: OPTFLAGS := -O2 -g3
|
||||
build/src/boot_O2_g3_trapuv/%: CFLAGS := $(CFLAGS) -trapuv
|
||||
|
||||
build/src/boot_O2_g3/fault.o: CFLAGS += -trapuv
|
||||
build/src/boot_O2_g3/fault_drawer.o: CFLAGS += -trapuv
|
||||
|
||||
build/src/libultra/%: CC := $(CC_OLD)
|
||||
build/src/libultra/io/%: CC := ./tools/preprocess.py $(CC_OLD) -- $(AS) $(ASFLAGS) --
|
||||
build/src/libultra/voice/%: CC := ./tools/preprocess.py $(CC_OLD) -- $(AS) $(ASFLAGS) --
|
||||
build/src/libultra/io/%: CC := python3 tools/asm-processor/build.py $(CC_OLD) -- $(AS) $(ASFLAGS) --
|
||||
build/src/libultra/os/%: CC := python3 tools/asm-processor/build.py $(CC_OLD) -- $(AS) $(ASFLAGS) --
|
||||
build/src/libultra/voice/%: CC := python3 tools/asm-processor/build.py $(CC_OLD) -- $(AS) $(ASFLAGS) --
|
||||
|
||||
CC := ./tools/preprocess.py $(CC) -- $(AS) $(ASFLAGS) --
|
||||
CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
|
||||
|
||||
.PHONY: all clean setup diff-init init assetclean distclean assembly
|
||||
# make will delete any generated assembly files that are not a prerequisite for anything, so keep it from doing so
|
||||
.PRECIOUS: asm/%.asm
|
||||
.DEFAULT_GOAL := $(UNCOMPRESSED_ROM)
|
||||
#### Main Targets ###
|
||||
|
||||
# just using build/baserom still probably has some race condiction/dependency bug, but since
|
||||
# it is first and should be completed relatively fast, it should not occur all that often.
|
||||
$(UNCOMPRESSED_ROM): build/baserom $(TEXTURE_FILES_OUT) $(ASSET_FILES_OUT) $(UNCOMPRESSED_ROM_FILES)
|
||||
./tools/makerom.py ./tables/dmadata_table.txt $@
|
||||
uncompressed: $(ROM)
|
||||
ifeq ($(COMPARE),1)
|
||||
@md5sum $(UNCOMPRESSED_ROM)
|
||||
@md5sum $(ROM)
|
||||
@md5sum -c checksum_uncompressed.md5
|
||||
endif
|
||||
|
||||
$(ROM): build/baserom $(ROM_FILES)
|
||||
./tools/makerom.py ./tables/dmadata_table.txt $@ -c
|
||||
compressed: $(ROMC)
|
||||
ifeq ($(COMPARE),1)
|
||||
@md5sum $(ROM)
|
||||
@md5sum $(ROMC)
|
||||
@md5sum -c checksum.md5
|
||||
endif
|
||||
|
||||
all: $(UNCOMPRESSED_ROM) $(ROM) ;
|
||||
.PHONY: all uncompressed compressed clean assetclean distclean disasm init setup
|
||||
.DEFAULT_GOAL := uncompressed
|
||||
all: uncompressed compressed
|
||||
|
||||
build/code.elf: $(O_FILES) build/linker_scripts/code_script.ld undef.txt build/linker_scripts/object_script.ld build/dmadata_script.ld
|
||||
$(LD) -T build/linker_scripts/code_script.ld -T undef.txt -T build/linker_scripts/object_script.ld -T build/dmadata_script.ld --no-check-sections --accept-unknown-input-arch -Map build/mm.map -N -o $@
|
||||
$(ROM): $(ELF)
|
||||
$(ELF2ROM) -cic 6105 $< $@
|
||||
|
||||
build/code_pre_dmadata.elf: $(O_FILES) build/linker_scripts/code_script.ld undef.txt build/linker_scripts/object_script.ld
|
||||
$(LD) -r -T build/linker_scripts/code_script.ld -T undef.txt -T build/linker_scripts/object_script.ld --no-check-sections --accept-unknown-input-arch -N -o $@
|
||||
$(ROMC): $(ROM)
|
||||
python3 tools/z64compress_wrapper.py --mb 32 --matching --threads $(N_THREADS) $< $@ $(ELF) build/$(SPEC)
|
||||
|
||||
build/dmadata_script.txt: tables/dmadata_table.txt build/code_pre_dmadata.elf
|
||||
./tools/dmadata.py ./tables/dmadata_table.txt /dev/null -u -l $@ -e build/code_pre_dmadata.elf
|
||||
|
||||
build/dmadata: $(ROM_FILES:build/dmadata=)
|
||||
./tools/dmadata.py ./tables/dmadata_table.txt $@
|
||||
|
||||
build/uncompressed_dmadata: $(UNCOMPRESSED_ROM_FILES:build/uncompressed_dmadata=)
|
||||
./tools/dmadata.py ./tables/dmadata_table.txt $@ -u
|
||||
|
||||
build/binary/boot build/binary/code: build/code.elf
|
||||
$(OBJCOPY) --dump-section $(notdir $@)=$@ $< /dev/null
|
||||
|
||||
build/binary/assets/scenes/%: build/code.elf
|
||||
$(OBJCOPY) --dump-section $*=$@ $< /dev/null
|
||||
|
||||
build/binary/overlays/%: build/code.elf
|
||||
$(OBJCOPY) --dump-section $*=$@ $< /dev/null
|
||||
|
||||
|
||||
#### ASM rules ####
|
||||
|
||||
# Use an empty sentinel file (dep) to track the directory as a dependency, and
|
||||
# emulate GNU Make's order-only dependency.
|
||||
# The `touch $@; action || rm $@` pattern ensures that the `dep` file is older
|
||||
# than the output files from `action`, and only exists if `action` succeeds.
|
||||
asm/non_matchings/%/dep: asm/%.asm
|
||||
@mkdir -p $(dir $@)
|
||||
@touch $@
|
||||
./tools/split_asm.py $< asm/non_matchings/$* || rm $@
|
||||
|
||||
asm/%.asm: asm/disasm.dep ;
|
||||
|
||||
asm/disasm.dep: tables/files.txt tables/functions.txt tables/objects.txt tables/variables.txt tables/vrom_variables.txt
|
||||
@mkdir -p asm
|
||||
@touch $@
|
||||
./tools/disasm.py -d ./asm -l ./tables/files.txt -f ./tables/functions.txt -o ./tables/objects.txt -v ./tables/variables.txt -v ./tables/vrom_variables.txt || rm $@
|
||||
$(ELF): $(TEXTURE_FILES_OUT) $(OVERLAY_RELOC_FILES) $(O_FILES) build/ldscript.txt build/undefined_syms.txt
|
||||
$(LD) -T build/undefined_syms.txt -T build/ldscript.txt --no-check-sections --accept-unknown-input-arch --emit-relocs -Map build/mm.map -o $@
|
||||
|
||||
|
||||
#### Main commands ####
|
||||
|
||||
## Cleaning ##
|
||||
clean:
|
||||
$(RM) -rf $(ROM) $(UNCOMPRESSED_ROM) build
|
||||
$(RM) -rf $(ROMC) $(ROM) $(ELF) build
|
||||
|
||||
assetclean:
|
||||
$(RM) -rf $(ASSET_BIN_DIRS)
|
||||
$(RM) -rf build/assets
|
||||
$(RM) -rf .extracted-assets.json
|
||||
|
||||
distclean: assetclean clean
|
||||
$(RM) -rf baserom/ asm/ expected/
|
||||
$(RM) -rf asm baserom data
|
||||
$(MAKE) -C tools clean
|
||||
|
||||
## Extraction step
|
||||
setup:
|
||||
$(MAKE) -C tools
|
||||
./tools/extract_rom.py $(MM_BASEROM)
|
||||
python3 extract_assets.py
|
||||
python3 tools/fixbaserom.py
|
||||
python3 tools/extract_baserom.py
|
||||
python3 extract_assets.py -t $(N_THREADS)
|
||||
|
||||
## Assembly generation
|
||||
assembly: $(S_FILES)
|
||||
@echo "Assembly generated."
|
||||
disasm:
|
||||
$(RM) -rf asm data
|
||||
python3 tools/disasm/disasm.py
|
||||
|
||||
diff-init: all
|
||||
$(RM) -rf expected/
|
||||
mkdir -p expected/
|
||||
cp -r build expected/build
|
||||
cp $(UNCOMPRESSED_ROM) expected/$(UNCOMPRESSED_ROM)
|
||||
cp $(ROM) expected/$(ROM)
|
||||
|
||||
init:
|
||||
$(MAKE) distclean
|
||||
$(MAKE) setup
|
||||
$(MAKE) assembly
|
||||
$(MAKE) disasm
|
||||
$(MAKE) all
|
||||
$(MAKE) diff-init
|
||||
|
||||
# Recipes
|
||||
|
||||
build/baserom:
|
||||
cp -r baserom/ build/baserom/
|
||||
|
||||
# FIXME: The process of splitting rodata changes the assembly files, so we must avoid making .o files for them until that is done.
|
||||
# The simplest way to do that is to give them an order dependency on .c files' .o files
|
||||
build/asm/%.o: asm/%.asm | $(C_O_FILES)
|
||||
iconv --from UTF-8 --to EUC-JP $^ | $(AS) $(ASFLAGS) -o $@
|
||||
|
||||
build/src/overlays/%.o: src/overlays/%.c
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
./tools/overlay.py $@ build/src/overlays/$*_overlay.s
|
||||
$(AS) $(ASFLAGS) build/src/overlays/$*_overlay.s -o build/src/overlays/$*_overlay.o
|
||||
|
||||
build/%.o: %.c
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
|
||||
build/assets/%.o: assets/%.c
|
||||
$(CC) -I build/ -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
|
||||
#### Various Recipes ####
|
||||
|
||||
build/undefined_syms.txt: undefined_syms.txt
|
||||
$(CPP) $(CPPFLAGS) $< > build/undefined_syms.txt
|
||||
|
||||
build/ldscript.txt: $(SPEC)
|
||||
$(CPP) $(CPPFLAGS) $< > build/spec
|
||||
$(MKLDSCRIPT) build/spec $@
|
||||
|
||||
build/baserom/%.o: baserom/%
|
||||
$(OBJCOPY) -I binary -O elf32-big $< $@
|
||||
|
||||
build/asm/%.o: asm/%.s
|
||||
$(AS) $(ASFLAGS) $< -o $@
|
||||
|
||||
build/data/%.o: data/%.s
|
||||
iconv --from UTF-8 --to EUC-JP $< | $(AS) $(ASFLAGS) -o $@
|
||||
|
||||
build/src/overlays/%.o: src/overlays/%.c
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
# $(CC_CHECK) $<
|
||||
@$(OBJDUMP) -d $@ > $(@:.o=.s)
|
||||
# TODO: `() || true` is currently necessary to suppress `Error 1 (ignored)` make warnings caused by `test`, but this will go away if
|
||||
# the following is moved to a separate rule that is only run once when all the required objects have been compiled.
|
||||
$(ZAPD) bovl -eh -i $@ -cfg $< --outputpath $(@D)/$(notdir $(@D))_reloc.s
|
||||
(test -f $(@D)/$(notdir $(@D))_reloc.s && $(AS) $(ASFLAGS) $(@D)/$(notdir $(@D))_reloc.s -o $(@D)/$(notdir $(@D))_reloc.o) || true
|
||||
|
||||
build/src/%.o: src/%.c
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
# $(CC_CHECK) $<
|
||||
@$(OBJDUMP) -d $@ > $(@:.o=.s)
|
||||
|
||||
build/src/libultra/libc/ll.o: src/libultra/libc/ll.c
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
@./tools/set_o32abi_bit.py $@
|
||||
# $(CC_CHECK) $<
|
||||
python3 tools/set_o32abi_bit.py $@
|
||||
@$(OBJDUMP) -d $@ > $(@:.o=.s)
|
||||
|
||||
build/src/libultra/libc/llcvt.o: src/libultra/libc/llcvt.c
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
@./tools/set_o32abi_bit.py $@
|
||||
|
||||
build/comp/%.yaz0: build/binary/%
|
||||
./tools/yaz0 $< $@
|
||||
|
||||
build/comp/assets/audio/%.yaz0: build/baserom/assets/audio/%
|
||||
./tools/yaz0 $< $@
|
||||
|
||||
build/comp/assets/misc/%.yaz0: build/baserom/assets/misc/%
|
||||
./tools/yaz0 $< $@
|
||||
|
||||
build/comp/assets/objects/%.yaz0: build/baserom/assets/objects/%
|
||||
./tools/yaz0 $< $@
|
||||
|
||||
build/comp/assets/textures/%.yaz0: build/baserom/assets/textures/%
|
||||
./tools/yaz0 $< $@
|
||||
|
||||
build/%.d: %.c
|
||||
./tools/depend.py $< $@
|
||||
|
||||
build/dmadata_script.ld: build/dmadata_script.txt
|
||||
$(GCC) -E -CC -x c -Iinclude $< | grep -v '^#' > $@
|
||||
|
||||
build/linker_scripts/%.ld: linker_scripts/%.txt
|
||||
$(GCC) -E -CC -x c -Iinclude $< | grep -v '^#' > $@
|
||||
|
||||
build/assets/%.d: assets/%.c
|
||||
$(GCC) $< -Iinclude -I./ -MM -MT 'build/assets/$*.o' > $@
|
||||
|
||||
## Build C files from assets
|
||||
# $(CC_CHECK) $<
|
||||
python3 tools/set_o32abi_bit.py $@
|
||||
@$(OBJDUMP) -d $@ > $(@:.o=.s)
|
||||
|
||||
# Build C files from assets
|
||||
build/%.inc.c: %.png
|
||||
$(ZAPD) btex -eh -tt $(lastword ,$(subst ., ,$(basename $<))) -i $< -o $@
|
||||
|
||||
|
@ -304,9 +278,4 @@ build/assets/%.bin.inc.c: assets/%.bin
|
|||
build/assets/%.jpg.inc.c: assets/%.jpg
|
||||
$(ZAPD) bren -eh -i $< -o $@
|
||||
|
||||
# Checks headers dependencies of each C file
|
||||
ifneq ($(MAKECMDGOALS), clean)
|
||||
ifneq ($(MAKECMDGOALS), distclean)
|
||||
-include $(C_FILES:%.c=build/%.d)
|
||||
endif
|
||||
endif
|
||||
-include $(DEP_FILES)
|
||||
|
|
|
@ -1 +1 @@
|
|||
7c6bfd6daf33ebfc0145a97c611cb3d8 mm.us.rev1.rom_uncompressed.z64
|
||||
F46493EAA0628827DBD6AD3ECD8D65D6 mm.us.rev1.rom_uncompressed.z64
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
def apply(config, args):
|
||||
config['baseimg'] = 'baserom.mm.us.rev1.z64'
|
||||
config['myimg'] = 'mm.us.rev1.rom.z64'
|
||||
config['baseimg'] = 'baserom_uncompressed.z64'
|
||||
config['myimg'] = 'mm.us.rev1.rom_uncompressed.z64'
|
||||
config['mapfile'] = 'build/mm.map'
|
||||
config['source_directories'] = ['./src','./include']
|
||||
|
|
|
@ -1,11 +1,7 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import argparse
|
||||
from multiprocessing import Pool, cpu_count, Event, Manager
|
||||
import os
|
||||
import json
|
||||
import time
|
||||
import signal
|
||||
import argparse, json, os, signal, time
|
||||
from multiprocessing import Pool, Event, Manager
|
||||
|
||||
EXTRACTED_ASSETS_NAMEFILE = ".extracted-assets.json"
|
||||
|
||||
|
@ -14,13 +10,13 @@ def SignalHandler(sig, frame):
|
|||
mainAbort.set()
|
||||
# Don't exit immediately to update the extracted assets file.
|
||||
|
||||
def ExtractFile(xmlPath, basromPath, outputPath, outputSourcePath):
|
||||
def ExtractFile(xmlPath, outputPath, outputSourcePath):
|
||||
if globalAbort.is_set():
|
||||
# Don't extract if another file wasn't extracted properly.
|
||||
return
|
||||
|
||||
execStr = "tools/ZAPD/ZAPD.out e -eh -i %s -b %s -o %s -osf %s -gsf 1 -rconf tools/ZAPDConfigs/MM/Config.xml" % (xmlPath, basromPath, outputPath, outputSourcePath)
|
||||
# execStr = "tools/ZAPD/ZAPD.out e -eh -i %s -b baserom/ -o %s -osf %s -gsf 1 -rconf tools/ZAPDConfigs/MM/Config.xml" % (xmlPath, outputPath, outputSourcePath)
|
||||
execStr = "tools/ZAPD/ZAPD.out e -eh -i %s -b baserom/ -o %s -osf %s -gsf 1 -rconf tools/ZAPDConfigs/MM/Config.xml" % (xmlPath, outputPath, outputSourcePath)
|
||||
|
||||
if globalUnaccounted:
|
||||
execStr += " -wu"
|
||||
|
||||
|
@ -42,11 +38,6 @@ def ExtractFunc(fullPath):
|
|||
else:
|
||||
outPath = os.path.join("assets", *pathList[2:], objectName)
|
||||
outSourcePath = outPath
|
||||
# TODO: remove condition when NBS is merged
|
||||
if "overlays" in pathList:
|
||||
basromPath = os.path.join("baserom", *pathList[2:])
|
||||
else:
|
||||
basromPath = os.path.join("baserom", "assets", *pathList[2:-1])
|
||||
|
||||
if fullPath in globalExtractedAssetsTracker:
|
||||
timestamp = globalExtractedAssetsTracker[fullPath]["timestamp"]
|
||||
|
@ -57,7 +48,7 @@ def ExtractFunc(fullPath):
|
|||
|
||||
currentTimeStamp = int(time.time())
|
||||
|
||||
ExtractFile(fullPath, basromPath, outPath, outSourcePath)
|
||||
ExtractFile(fullPath, outPath, outSourcePath)
|
||||
|
||||
if not globalAbort.is_set():
|
||||
# Only update timestamp on succesful extractions
|
||||
|
@ -78,6 +69,7 @@ def initializeWorker(abort, unaccounted: bool, extractedAssetsTracker: dict, man
|
|||
def main():
|
||||
parser = argparse.ArgumentParser(description="baserom asset extractor")
|
||||
parser.add_argument("-s", "--single", help="asset path relative to assets/, e.g. objects/gameplay_keep")
|
||||
parser.add_argument("-t", "--threads", help="Number of cpu cores to extract with.")
|
||||
parser.add_argument("-f", "--force", help="Force the extraction of every xml instead of checking the touched ones.", action="store_true")
|
||||
parser.add_argument("-u", "--unaccounted", help="Enables ZAPD unaccounted detector warning system.", action="store_true")
|
||||
args = parser.parse_args()
|
||||
|
@ -112,7 +104,9 @@ def main():
|
|||
if file.endswith(".xml"):
|
||||
xmlFiles.append(fullPath)
|
||||
|
||||
numCores = cpu_count()
|
||||
numCores = int(args.threads or 0)
|
||||
if numCores <= 0:
|
||||
numCores = 1
|
||||
print("Extracting assets with " + str(numCores) + " CPU cores.")
|
||||
with Pool(numCores, initializer=initializeWorker, initargs=(mainAbort, args.unaccounted, extractedAssetsTracker, manager)) as p:
|
||||
p.map(ExtractFunc, xmlFiles)
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [ "$#" -lt "2" ];
|
||||
then
|
||||
echo "usage: $0 file_name src_path [non_matching_path]"
|
||||
echo "e.g. $0 z_actor code"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
code_file=$1
|
||||
code_path=$2
|
||||
|
||||
# If there are only two arguments, then we will use the non_matchings path to be the same as src_path
|
||||
if [ "$#" -eq "2" ];
|
||||
then
|
||||
code_bucket=$code_path
|
||||
else
|
||||
code_bucket=$3
|
||||
fi
|
||||
|
||||
echo "split_asm : $code_file : $code_path : $code_bucket"
|
||||
|
||||
# Split asm file and create base c file
|
||||
tools/split_asm.py -c "./src/$code_path/$code_file.c" "./asm/$code_bucket/$code_file.asm" "./asm/non_matchings/$code_bucket/$code_file"
|
||||
|
||||
# Edit linker script to use new .c file
|
||||
sed -i "s/asm\/$code_file.o/src\/${2//\//\\\/}\/$code_file.o/g" linker_scripts/code_script.txt
|
||||
|
||||
# Build with new file
|
||||
make -j diff-init
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import os.path
|
||||
import argparse
|
||||
import os.path
|
||||
from subprocess import check_call
|
||||
|
||||
parser = argparse.ArgumentParser(
|
||||
|
@ -34,7 +34,7 @@ diff_count = args.count
|
|||
if args.make:
|
||||
check_call(["make", "-j4", "COMPARE=0"])
|
||||
|
||||
baseimg = f"expected/mm.us.rev1.rom_uncompressed.z64"
|
||||
baseimg = f"baserom_uncompressed.z64"
|
||||
basemap = f"expected/build/mm.map"
|
||||
|
||||
myimg = f"mm.us.rev1.rom_uncompressed.z64"
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
*
|
||||
**************************************************************************/
|
||||
|
||||
#include <PR/gbi.h>
|
||||
#include "PR/gbi.h"
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
|
@ -66,7 +66,7 @@
|
|||
*
|
||||
**************************************************************************/
|
||||
|
||||
#include <PR/abi.h>
|
||||
#include "PR/abi.h"
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#ifndef _SCHED_H_
|
||||
#define _SCHED_H_
|
||||
|
||||
#include <os.h>
|
||||
#include <sptask.h>
|
||||
#include "os.h"
|
||||
#include "sptask.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ short type;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef _COLOR_H_
|
||||
#define _COLOR_H_
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
#include "PR/ultratypes.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 r;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef _FUNCTIONS_H_
|
||||
#define _FUNCTIONS_H_
|
||||
|
||||
#include <z64.h>
|
||||
#include "z64.h"
|
||||
|
||||
float fabsf(float f);
|
||||
#pragma intrinsic(fabsf)
|
||||
|
@ -55,9 +55,9 @@ void CIC6105_PrintRomInfo(void);
|
|||
void CIC6105_AddRomInfoFaultPage(void);
|
||||
void CIC6105_RemoveRomInfoFaultPage(void);
|
||||
void func_800818F4(void);
|
||||
void Fault_Nop80081920(UNK_TYPE4 param_1, ...);
|
||||
void Fault_Log(char* str, ...);
|
||||
void Fault_Nop80081958(UNK_TYPE4 param_1, ...);
|
||||
void __osSyncVPrintf(UNK_TYPE4 param_1, ...);
|
||||
void osSyncPrintf(char* str, ...);
|
||||
void rmonPrintf(UNK_TYPE4 param_1, ...);
|
||||
void Fault_SleepImpl(u32 duration);
|
||||
void Fault_AddClient(FaultClient* client, fault_client_func callback, void* param0, void* param1);
|
||||
void Fault_RemoveClient(FaultClient* client);
|
||||
|
@ -74,11 +74,11 @@ void Fault_FillScreenBlack(void);
|
|||
void Fault_FillScreenRed(void);
|
||||
void Fault_DrawCornerRec(u16 color);
|
||||
void Fault_PrintFReg(s32 idx, f32* value);
|
||||
void Fault_LogFReg(s32 idx, f32* value);
|
||||
void osSyncPrintfFReg(s32 idx, f32* value);
|
||||
void Fault_PrintFPCR(u32 value);
|
||||
void Fault_LogFPCR(u32 value);
|
||||
void osSyncPrintfFPCR(u32 value);
|
||||
void Fault_PrintThreadContext(OSThread* t);
|
||||
void Fault_LogThreadContext(OSThread* t);
|
||||
void osSyncPrintfThreadContext(OSThread* t);
|
||||
OSThread* Fault_FindFaultedThread(void);
|
||||
void Fault_Wait5Seconds(void);
|
||||
void Fault_WaitForButtonCombo(void);
|
||||
|
@ -86,7 +86,7 @@ void Fault_DrawMemDumpPage(char* title, u32* addr, u32 param_3);
|
|||
void Fault_DrawMemDump(u32 pc, u32 sp, u32 unk0, u32 unk1);
|
||||
void Fault_FindNextStackCall(u32** sp, u32** pc, u32** ra);
|
||||
void Fault_DrawStackTrace(OSThread* t, u32 flags);
|
||||
void Fault_LogStackTrace(OSThread* t, u32 flags);
|
||||
void osSyncPrintfStackTrace(OSThread* t, u32 flags);
|
||||
void Fault_ResumeThread(OSThread* t);
|
||||
void Fault_CommitFB(void);
|
||||
void Fault_ProcessClients(void);
|
||||
|
@ -164,7 +164,7 @@ void GfxPrint_PrintChar(GfxPrint* this, u8 c);
|
|||
// void GfxPrint_Printf(void);
|
||||
// void MtxConv_F2L(void);
|
||||
// void MtxConv_L2F(void);
|
||||
void assert_fail(const char* file, u32 lineNum);
|
||||
void __assert(const char* file, u32 lineNum);
|
||||
// void func_800862B4(void);
|
||||
void* StartHeap_AllocMin1(u32 size);
|
||||
void StartHeap_FreeNull(void* pvParm1);
|
||||
|
@ -229,7 +229,7 @@ f32 Rand_Centered_Variable(u32* param_1);
|
|||
void ArenaImpl_LockInit(Arena* heap);
|
||||
void ArenaImpl_Lock(Arena* heap);
|
||||
void ArenaImpl_Unlock(Arena* heap);
|
||||
ArenaNode* heap_get_tail(Arena* param_1);
|
||||
ArenaNode* ArenaImpl_GetLastBlock(Arena* param_1);
|
||||
void __osMallocInit(Arena* heap, void* heapBase, u32 heapSize);
|
||||
void __osMallocAddBlock(Arena* heap, void* start, s32 size);
|
||||
void __osMallocCleanup(Arena* heap);
|
||||
|
@ -243,17 +243,17 @@ u32 __osCheckArena(Arena* heap);
|
|||
void* proutSprintf(void* s, char* buf, size_t n);
|
||||
s32 vsprintf(char* dst, char* fmt, va_list args);
|
||||
s32 sprintf(char* s, char* fmt, ...);
|
||||
void func_80087900(void* callback, const char* fmt, va_list args);
|
||||
// void func_80087934(void);
|
||||
void PrintUtils_VPrintf(void* callback, const char* fmt, va_list args);
|
||||
// void PrintUtils_Printf(void);
|
||||
void Sleep_Cycles(OSTime time);
|
||||
// void func_800879CC(void);
|
||||
void func_80087A1C(s32);
|
||||
void func_80087A6C(u32 param_1);
|
||||
// void func_80087AC0(void);
|
||||
// void Sleep_Nsec(void);
|
||||
void Sleep_Usec(s32);
|
||||
void Sleep_Msec(u32 param_1);
|
||||
// void Sleep_Sec(void);
|
||||
// void __osSetCause(void);
|
||||
s32 osSendMesg(OSMesgQueue* mq, OSMesg msg, s32 flags);
|
||||
// void func_80087C60(void);
|
||||
void func_80087E00(u32 param_1);
|
||||
// void osPfsFreeBlocks(void);
|
||||
void osViExtendVStart(u32 param_1);
|
||||
void osStopThread(OSThread* t);
|
||||
s32 osRecvMesg(OSMesgQueue* mq, OSMesg* msg, s32 flags);
|
||||
OSIntMask osSetIntMask(OSIntMask im);
|
||||
|
@ -277,30 +277,21 @@ long long __ll_mod(long long left, long long right);
|
|||
long long __ll_rshift(long long left, long long right);
|
||||
void __osExceptionPreamble(void);
|
||||
void __osException(void);
|
||||
// void func_80088D48(void);
|
||||
// void func_80088D54(void);
|
||||
// void func_80088D60(void);
|
||||
// void func_80088D80(void);
|
||||
// void func_80088DC4(void);
|
||||
// void func_80088F2C(void);
|
||||
// void func_80088F88(void);
|
||||
// void func_80088FA8(void);
|
||||
// void func_80088FE0(void);
|
||||
// void send_mesg(void);
|
||||
// void handle_CpU(void);
|
||||
void __osEnqueueAndYield(OSThread** param_1);
|
||||
void __osEnqueueThread(OSThread** param_1, OSThread* param_2);
|
||||
OSThread* __osPopThread(OSThread** param_1);
|
||||
// void func_8008929c(void);
|
||||
// void __osNop(void);
|
||||
void __osDispatchThread(void);
|
||||
void __osCleanupThread(void);
|
||||
void __osDequeueThread(OSThread** param_1, OSThread* param_2);
|
||||
void osDestroyThread(OSThread* puParm1);
|
||||
// void __osVoiceCheckResult(void);
|
||||
void bzero(void* begin, s32 length);
|
||||
// void func_800896D0(void);
|
||||
// void func_80089838(void);
|
||||
// void func_80089944(void);
|
||||
// void osSetRumble(void);
|
||||
// void osSetUpMempakWrite(void);
|
||||
// void osProbeRumblePak(void);
|
||||
void __osSiCreateAccessQueue(void);
|
||||
void __osSiGetAccess(void);
|
||||
void __osSiRelAccess(void);
|
||||
|
@ -311,37 +302,37 @@ void osCreateThread(OSThread* t, OSId id, void* entry, void* arg, void* sp, OSPr
|
|||
s32 osContStartReadData(OSMesgQueue* mq);
|
||||
void osContGetReadData(OSContPad* data);
|
||||
void __osPackReadData(void);
|
||||
// void func_8008A170(void);
|
||||
// void osVoiceGetReadData(void);
|
||||
uintptr_t osVirtualToPhysical(void* vaddr);
|
||||
u32 __osGetSR(void);
|
||||
void __osSetSR(u32 value);
|
||||
void osWritebackDCache(void* vaddr, s32 nbytes);
|
||||
void func_8008A660(void);
|
||||
void __createSpeedParam(void);
|
||||
void osInitialize(void);
|
||||
void func_8008A9A8(void);
|
||||
void __osInitialize_autodetect(void);
|
||||
void* osViGetNextFramebuffer(void);
|
||||
void guPerspectiveF(float mf[4][4], u16* perspNorm, f32 fovy, f32 aspect, f32 near, f32 far, f32 scale);
|
||||
void guPerspective(Mtx* m, u16* perspNorm, f32 fovy, f32 aspect, f32 near, f32 far, f32 scale);
|
||||
s32 __osSpRawStartDma(s32 direction, u32 devAddr, void* dramAddr, u32 size);
|
||||
s32 __osSiRawStartDma(s32 direction, void* dramAddr);
|
||||
// void func_8008AE20(void);
|
||||
// void osEPiLinkHandle(void);
|
||||
void osViBlack(u8 active);
|
||||
s32 __osSiRawReadIo(u32 devAddr, u32* data);
|
||||
OSId osGetThreadId(OSThread* t);
|
||||
void osSpTaskYield(void);
|
||||
s32 __osPfsRWInode(OSPfs* param_1, __OSInode* param_2, u8 param_3, u8 param_4);
|
||||
s32 __osPfsGetNextPage(OSPfs* param_1, __OSInode* param_2, u8 param_3, u8 param_4);
|
||||
s32 osPfsReadWriteFile(OSPfs* pfs, s32 file_no, u8 flag, s32 offset, s32 size_in_bytes, u8* data_buffer);
|
||||
// void func_8008B3C0(void);
|
||||
// void func_8008B490(void);
|
||||
// void func_8008B554(void);
|
||||
// void __osPfsGetStatus(void);
|
||||
// void __osPfsRequestOneChannel(void);
|
||||
// void __osPfsGetOneChannelData(void);
|
||||
void guMtxIdentF(float mf[4][4]);
|
||||
void osViSetMode(OSViMode* modep);
|
||||
// void __osGetConfig(void);
|
||||
// void __osSetConfig(void);
|
||||
void guLookAtF(float mf[4][4], f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp);
|
||||
void guLookAt(Mtx* m, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp);
|
||||
// void func_8008B9F0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7);
|
||||
// void func_8008BD24(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7);
|
||||
// void osPfsAllocateFile(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7);
|
||||
// void __osPfsDeclearPage(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7);
|
||||
s32 osStopTimer(OSTimer* t);
|
||||
u32 __osProbeTLB(void* param_1);
|
||||
void osCreatePiManager(OSPri pri, OSMesgQueue* cmdQ, OSMesg* cmdBuf, s32 cmdMsgCnt);
|
||||
|
@ -351,17 +342,17 @@ void __osPiRelAccess(void);
|
|||
void __osDevMgrMain(void* arg);
|
||||
// void func_8008C640(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5, UNK_TYPE1 param_6, UNK_TYPE1 param_7, UNK_TYPE1 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10, UNK_TYPE4 param_11, UNK_TYPE4 param_12, UNK_TYPE4 param_13, UNK_TYPE4 param_14, UNK_TYPE4 param_15, UNK_TYPE4 param_16, UNK_TYPE4 param_17, UNK_TYPE4 param_18);
|
||||
s32 osPiRawStartDma(s32 direction, u32 devAddr, void* dramAddr, u32 size);
|
||||
// void func_8008C740(void);
|
||||
// void func_8008C7B4(void);
|
||||
// void func_8008C8B0(void);
|
||||
// void func_8008CC00(void);
|
||||
// void func_8008CD64(void);
|
||||
// void func_8008CF10(void);
|
||||
// void func_8008CFE4(void);
|
||||
// void __osSumcalc(void);
|
||||
// void __osIdCheckSum(void);
|
||||
// void __osRepairPackId(void);
|
||||
// void __osCheckPackId(void);
|
||||
// void __osGetId(void);
|
||||
// void __osCheckId(void);
|
||||
// void __osPfsRWInode(void);
|
||||
u32 osGetCount(void);
|
||||
void guMtxL2F(MtxF* m1, Mtx* m2);
|
||||
u32 osGetMemSize(void);
|
||||
// void func_8008D470(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
||||
// void osPfsFindFile(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
||||
void osSetEventMesg(OSEvent e, OSMesgQueue* mq, OSMesg m);
|
||||
f32 sqrtf(f32 __x);
|
||||
s32 osAfterPreNMI(void);
|
||||
|
@ -371,11 +362,11 @@ void guLookAtHiliteF(float mf[4][4], LookAt* l, Hilite* h, f32 xEye, f32 yEye, f
|
|||
void guLookAtHilite(Mtx* m, LookAt* l, Hilite* h, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp, f32 xl1, f32 yl1, f32 zl1, f32 xl2, f32 yl2, f32 zl2, s32 twidth, s32 theight);
|
||||
s32 _Printf(printf_func pfn, void* arg, const char* fmt, va_list ap);
|
||||
void _Putfld(_Pft* px, va_list* pap, u8 code, u8* ac);
|
||||
// void func_8008ED30(void);
|
||||
// void osVoiceClearDictionary(void);
|
||||
void osUnmapTLBAll(void);
|
||||
s32 osEPiStartDma(OSPiHandle* pihandle, OSIoMesg* mb, s32 direction);
|
||||
// void func_8008EED0(void);
|
||||
// void func_8008F100(void);
|
||||
// void __osVoiceContRead2(void);
|
||||
// void __osVoiceContDataCrc(void);
|
||||
u8* strchr(u8* __s, s32 __c);
|
||||
size_t strlen(u8* __s);
|
||||
void* memcpy(void* __dest, void* __src, size_t __n);
|
||||
|
@ -386,30 +377,30 @@ void __osTimerServicesInit(void);
|
|||
void __osTimerInterrupt(void);
|
||||
void __osSetTimerIntr(OSTime tim);
|
||||
OSTime __osInsertTimer(OSTimer* t);
|
||||
// void func_8008F7D0(void);
|
||||
// void __osVoiceContRead36(void);
|
||||
s32 __osSpDeviceBusy(void);
|
||||
s32 __osSiDeviceBusy(void);
|
||||
// void func_8008FA60(void);
|
||||
// void guMtxIdent(void);
|
||||
s32 osJamMesg(OSMesgQueue* mq, OSMesg msg, s32 flag);
|
||||
void osSetThreadPri(OSThread* t, OSPri pri);
|
||||
OSPri osGetThreadPri(OSThread* t);
|
||||
s32 __osEPiRawReadIo (OSPiHandle* handle, u32 devAddr, u32* data);
|
||||
s32 osEPiRawReadIo (OSPiHandle* handle, u32 devAddr, u32* data);
|
||||
void osViSwapBuffer(void* frameBufPtr);
|
||||
void guPositionF(float mf[4][4], f32 r, f32 p, f32 h, f32 s, f32 x, f32 y, f32 z);
|
||||
void guPosition(Mtx* m, f32 r, f32 p, f32 h, f32 s, f32 x, f32 y, f32 z);
|
||||
void func_800900C0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
|
||||
void osEPiRawStartDma(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
|
||||
OSYieldResult osSpTaskYielded(OSTask* task);
|
||||
s32 memcmp(void* __s1, void* __s2, size_t __n);
|
||||
OSTime osGetTime(void);
|
||||
void guRotateF(float mf[4][4], f32 a, f32 x, f32 y, f32 z);
|
||||
void guRotate(Mtx* m, f32 a, f32 x, f32 y, f32 z);
|
||||
void __osSetGlobalIntMask(u32 mask);
|
||||
// void func_800906D0(void);
|
||||
// void func_80090810(void);
|
||||
// void func_80090900(void);
|
||||
// void osVoiceInit(void);
|
||||
// void __osContChannelReset(void);
|
||||
// void __osVoiceSetADConverter(void);
|
||||
s32 osAiSetFrequency(u32 frequency);
|
||||
s32 __osContRamRead(OSMesgQueue* mq, s32 channel, u16 address, u8* buffer);
|
||||
// void func_80090E70(void);
|
||||
// void __osVoiceContWrite20(void);
|
||||
u8 __osContAddressCrc(u16 addr);
|
||||
u8 __osContDataCrc(u8* data);
|
||||
OSThread* __osGetActiveQueue(void);
|
||||
|
@ -420,8 +411,8 @@ u32 osDpGetStatus(void);
|
|||
void osDpSetStatus(u32 data);
|
||||
void bcopy(void* __src, void* __dest, size_t __n);
|
||||
void __osResetGlobalIntMask(u32 mask);
|
||||
// void func_80091630(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
|
||||
// void func_80091808(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
|
||||
// void osPfsDeleteFile(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
|
||||
// void __osPfsReleasePages(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
|
||||
void guOrthoF(float mf[4][4], f32 l, f32 r, f32 b, f32 t, f32 n, f32 f, f32 scale);
|
||||
void guOrtho(Mtx* m, f32 l, f32 r, f32 b, f32 t, f32 n, f32 f, f32 scale);
|
||||
OSIntMask __osDisableInt(void);
|
||||
|
@ -430,33 +421,33 @@ void __osViInit(void);
|
|||
void __osViSwapContext(void);
|
||||
OSMesgQueue* osPiGetCmdQueue(void);
|
||||
f32 __cosf(f32 __x);
|
||||
// void func_800920B0(void);
|
||||
// void osEPiReadIo(void);
|
||||
void osViSetSpecialFeatures(u32 func);
|
||||
s16 coss(u16 x);
|
||||
void osSetTime(OSTime ticks);
|
||||
// void func_800922C0(void);
|
||||
// void osVoiceStopReadData(void);
|
||||
void osViSetEvent(OSMesgQueue* mq, OSMesg m, u32 retraceCount);
|
||||
s32 osPfsIsPlug(OSMesgQueue* queue, u8* pattern);
|
||||
// void func_800925CC(void);
|
||||
// void func_80092680(void);
|
||||
// void __osPfsRequestData(void);
|
||||
// void __osPfsGetInitData(void);
|
||||
s32 __osVoiceGetStatus(OSMesgQueue* mq, s32 port, u8* status);
|
||||
OSPiHandle* osCartRomInit(void);
|
||||
// void func_80092A80(void);
|
||||
// void guS2DInitBg(void);
|
||||
// s32 __osPfsSelectBank(OSPfs* pfs, UNK_TYPE4 param_2);
|
||||
s32 osContSetCh(u8 ch);
|
||||
u32 __osSetFpcCsr(u32 value);
|
||||
u32 __osGetFpcCsr(void);
|
||||
// void func_80092D00(void);
|
||||
// void func_80092EE0(void);
|
||||
// void func_800930E8(void);
|
||||
// void func_800931F0(void);
|
||||
// void func_80093728(void);
|
||||
// void func_80093A00(void);
|
||||
// void osPfsFileState(void);
|
||||
// void osPfsInitPak(void);
|
||||
// void __osPfsCheckRamArea(void);
|
||||
// void osPfsChecker(void);
|
||||
// void corrupted_init(void);
|
||||
// void corrupted(void);
|
||||
u32 osAiGetLength(void);
|
||||
// void func_80093BB0(void);
|
||||
// void osEPiWriteIo(void);
|
||||
void osMapTLBRdb(void);
|
||||
void osYieldThread(void);
|
||||
// void func_80093CC0(void);
|
||||
// void guTranslate(void);
|
||||
u32 __osGetCause(void);
|
||||
s32 __osContRamWrite(OSMesgQueue* mq, s32 channel, u16 address, u8* buffer, s32 force);
|
||||
s32 __osEPiRawWriteIo(OSPiHandle* handle, u32 devAddr, u32 data);
|
||||
|
@ -475,7 +466,7 @@ void viMgrMain(OSDevMgr* iParm1);
|
|||
__OSViContext* __osViGetCurrentContext(void);
|
||||
void osWritebackDCacheAll(void);
|
||||
OSThread* __osGetCurrFaultedThread(void);
|
||||
// void func_80095600(void);
|
||||
// void osVoiceMaskDictionary(void);
|
||||
void guMtxF2L(float mf[4][4], Mtx* m);
|
||||
void osStartThread(OSThread* param_1);
|
||||
void osViSetYScale(f32 value);
|
||||
|
@ -488,21 +479,21 @@ double __ll_to_d(long long l);
|
|||
float __ll_to_f(long long l);
|
||||
double __ull_to_d(unsigned long long l);
|
||||
float __ull_to_f(unsigned long long l);
|
||||
// void func_80095C70(void);
|
||||
// void func_80096360(void);
|
||||
// void func_80096410(void);
|
||||
// void func_800964D0(void);
|
||||
// void osVoiceCheckWord(void);
|
||||
// void osVoiceControlGain(void);
|
||||
// void osVoiceStartReadData(void);
|
||||
// void osViGetCurrentFramebuffer(void);
|
||||
s32 __osSpSetPc(u32 data);
|
||||
// void func_80096540(void);
|
||||
// void __osVoiceContWrite4(void);
|
||||
void __osGetHWIntrRoutine(s32 idx, OSMesgQueue** outQueue, OSMesg* outMsg);
|
||||
// void func_800967A0(void);
|
||||
// void __osSetHWIntrRoutine(void);
|
||||
// u32 __osGetWatchLo(void);
|
||||
void __osSetWatchLo(u32 value);
|
||||
f32 func_80096830(f32 param_1, f32 param_2);
|
||||
void* func_80096880(void* param_1, u8 param_2, s32 param_3);
|
||||
s32 func_800968B0(const char* str1, const char* str2);
|
||||
char* func_800968f0(char* param_1, char* param_2);
|
||||
// void func_80096930(void);
|
||||
f32 fmodf(f32 param_1, f32 param_2);
|
||||
void* __osMemset(void* param_1, u8 param_2, s32 param_3);
|
||||
s32 __osMemcmp(const char* str1, const char* str2);
|
||||
char* __osStrcpy(char* param_1, char* param_2);
|
||||
// void __osMemcpy(void);
|
||||
void EnAObj_Init(ActorEnAObj* this, GlobalContext* globalCtx);
|
||||
void EnAObj_Destroy(ActorEnAObj* this, GlobalContext* globalCtx);
|
||||
void EnAObj_Update1(ActorEnAObj* this, GlobalContext* globalCtx);
|
||||
|
@ -2985,23 +2976,23 @@ void func_80163A38(GlobalContext* globalCtx);
|
|||
// void func_80164678(void);
|
||||
// void func_801647AC(void);
|
||||
// UNK_TYPE4 func_801647B8(void);
|
||||
// void func_801647D0(void);
|
||||
void* func_8016482C(void* param_1);
|
||||
// void func_80164858(void);
|
||||
// void func_80164864(void);
|
||||
// void func_801649F4(void);
|
||||
// void func_80164A80(void);
|
||||
// void func_80164A8C(void);
|
||||
// void func_80164A98(void);
|
||||
// void func_80164AF0(void);
|
||||
// void func_80164B40(void);
|
||||
// void func_80164B94(void);
|
||||
// void func_80164BA0(void);
|
||||
// void func_80164BD4(void);
|
||||
// void func_80164BE0(void);
|
||||
// void TransitionFade_Start(void);
|
||||
void* TransitionFade_Init(void* param_1);
|
||||
// void TransitionFade_Destroy(void);
|
||||
// void TransitionFade_Update(void);
|
||||
// void TransitionFade_Draw(void);
|
||||
// void TransitionFade_IsDone(void);
|
||||
// void TransitionFade_SetColor(void);
|
||||
// void TransitionFade_SetType(void);
|
||||
// void TransitionCircle_Start(void);
|
||||
// void TransitionCircle_Init(void);
|
||||
// void TransitionCircle_Destroy(void);
|
||||
// void TransitionCircle_Update(void);
|
||||
// void TransitionCircle_SetColor(void);
|
||||
// void TransitionCircle_SetType(void);
|
||||
// void func_80164C14(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7);
|
||||
// void func_80165044(void);
|
||||
// void func_80165198(void);
|
||||
// void TransitionCircle_Draw(void);
|
||||
// void TransitionCircle_IsDone(void);
|
||||
// void func_801651B0(void);
|
||||
// void func_80165224(void);
|
||||
// void func_80165288(void);
|
||||
|
@ -3991,7 +3982,7 @@ void func_801A4D00(void);
|
|||
// void func_801A5080(void);
|
||||
// void func_801A5100(void);
|
||||
// void func_801A5118(void);
|
||||
// void func_801A51F0(void);
|
||||
UNK_TYPE func_801A51F0(UNK_TYPE arg0);
|
||||
// void func_801A5228(void);
|
||||
// void func_801A5390(void);
|
||||
// void func_801A53E8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5);
|
||||
|
@ -4056,8 +4047,4 @@ void func_801AA624(GlobalContext* globalCtx);
|
|||
// void func_801AA68C(UNK_TYPE4 ctxt);
|
||||
void nop_801AAAA0(GlobalContext* globalCtx);
|
||||
|
||||
// overlays
|
||||
|
||||
void Title_Init(TitleContext* titleCtx);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef _CONTROLLER_H_
|
||||
#define _CONTROLLER_H_
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
#include "PR/ultratypes.h"
|
||||
#include "PR/pfs.h"
|
||||
|
||||
#define SIAccessQueueSize 2
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
.macro glabel label
|
||||
.global \label
|
||||
\label:
|
||||
.endm
|
||||
|
||||
# COP0 register aliases
|
||||
|
||||
.set Index, $0
|
||||
.set Random, $1
|
||||
.set EntryLo0, $2
|
||||
.set EntryLo1, $3
|
||||
.set Context, $4
|
||||
.set PageMask, $5
|
||||
.set Wired, $6
|
||||
.set Reserved07, $7
|
||||
.set BadVaddr, $8
|
||||
.set Count, $9
|
||||
.set EntryHi, $10
|
||||
.set Compare, $11
|
||||
.set Status, $12
|
||||
.set Cause, $13
|
||||
.set EPC, $14
|
||||
.set PRevID, $15
|
||||
.set Config, $16
|
||||
.set LLAddr, $17
|
||||
.set WatchLo, $18
|
||||
.set WatchHi, $19
|
||||
.set XContext, $20
|
||||
.set Reserved21, $21
|
||||
.set Reserved22, $22
|
||||
.set Reserved23, $23
|
||||
.set Reserved24, $24
|
||||
.set Reserved25, $25
|
||||
.set PErr, $26
|
||||
.set CacheErr, $27
|
||||
.set TagLo, $28
|
||||
.set TagHi, $29
|
||||
.set ErrorEPC, $30
|
||||
.set Reserved31, $31
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef _MATH_H_
|
||||
#define _MATH_H_
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
#include "PR/ultratypes.h"
|
||||
|
||||
#define M_PI 3.14159265358979323846f
|
||||
#define M_SQRT2 1.41421356237309504880f
|
||||
|
|
92
include/os.h
92
include/os.h
|
@ -1,7 +1,7 @@
|
|||
#ifndef _OS_H_
|
||||
#define _OS_H_
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
#include "PR/ultratypes.h"
|
||||
|
||||
typedef s32 OSPri;
|
||||
|
||||
|
@ -100,31 +100,31 @@ typedef u32 OSPageMask;
|
|||
typedef void* OSMesg;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ OSThread* mtqueue;
|
||||
/* 0x4 */ OSThread* fullqueue;
|
||||
/* 0x8 */ s32 validCount;
|
||||
/* 0xC */ s32 first;
|
||||
/* 0x00 */ OSThread* mtqueue;
|
||||
/* 0x04 */ OSThread* fullqueue;
|
||||
/* 0x08 */ s32 validCount;
|
||||
/* 0x0C */ s32 first;
|
||||
/* 0x10 */ s32 msgCount;
|
||||
/* 0x14 */ OSMesg* msg;
|
||||
} OSMesgQueue;
|
||||
} OSMesgQueue; // size = 0x20
|
||||
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u32 errStatus;
|
||||
/* 0x4 */ void* dramAddr;
|
||||
/* 0x8 */ void* C2Addr;
|
||||
/* 0xC */ u32 sectorSize;
|
||||
/* 0x00 */ u32 errStatus;
|
||||
/* 0x04 */ void* dramAddr;
|
||||
/* 0x08 */ void* C2Addr;
|
||||
/* 0x0C */ u32 sectorSize;
|
||||
/* 0x10 */ u32 C1ErrNum;
|
||||
/* 0x14 */ u32 C1ErrSector[4];
|
||||
} __OSBlockInfo;
|
||||
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u32 cmdType;
|
||||
/* 0x4 */ u16 transferMode;
|
||||
/* 0x6 */ u16 blockNum;
|
||||
/* 0x8 */ s32 sectorNum;
|
||||
/* 0xC */ u32 devAddr;
|
||||
/* 0x00 */ u32 cmdType;
|
||||
/* 0x04 */ u16 transferMode;
|
||||
/* 0x06 */ u16 blockNum;
|
||||
/* 0x08 */ s32 sectorNum;
|
||||
/* 0x0C */ u32 devAddr;
|
||||
/* 0x10 */ u32 bmCtlShadow;
|
||||
/* 0x14 */ u32 seqCtlShadow;
|
||||
/* 0x18 */ __OSBlockInfo block[2];
|
||||
|
@ -132,14 +132,14 @@ typedef struct {
|
|||
|
||||
|
||||
typedef struct OSPiHandle_s {
|
||||
/* 0x0 */ struct OSPiHandle_s* next;
|
||||
/* 0x4 */ u8 type;
|
||||
/* 0x5 */ u8 latency;
|
||||
/* 0x6 */ u8 pageSize;
|
||||
/* 0x7 */ u8 relDuration;
|
||||
/* 0x8 */ u8 pulse;
|
||||
/* 0x9 */ u8 domain;
|
||||
/* 0xC */ u32 baseAddress;
|
||||
/* 0x00 */ struct OSPiHandle_s* next;
|
||||
/* 0x04 */ u8 type;
|
||||
/* 0x05 */ u8 latency;
|
||||
/* 0x06 */ u8 pageSize;
|
||||
/* 0x07 */ u8 relDuration;
|
||||
/* 0x08 */ u8 pulse;
|
||||
/* 0x09 */ u8 domain;
|
||||
/* 0x0C */ u32 baseAddress;
|
||||
/* 0x10 */ u32 speed;
|
||||
/* 0x14 */ __OSTranxInfo transferInfo;
|
||||
} OSPiHandle;
|
||||
|
@ -160,30 +160,30 @@ typedef struct {
|
|||
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ OSIoMesgHdr hdr;
|
||||
/* 0x8 */ void* dramAddr;
|
||||
/* 0xC */ u32 devAddr;
|
||||
/* 0x00 */ OSIoMesgHdr hdr;
|
||||
/* 0x08 */ void* dramAddr;
|
||||
/* 0x0C */ u32 devAddr;
|
||||
/* 0x10 */ u32 size;
|
||||
/* 0x14 */ OSPiHandle* piHandle;
|
||||
} OSIoMesg;
|
||||
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ s32 active;
|
||||
/* 0x4 */ OSThread* thread;
|
||||
/* 0x8 */ OSMesgQueue* cmdQueue;
|
||||
/* 0xC */ OSMesgQueue* evtQueue;
|
||||
/* 0x00 */ s32 active;
|
||||
/* 0x04 */ OSThread* thread;
|
||||
/* 0x08 */ OSMesgQueue* cmdQueue;
|
||||
/* 0x0C */ OSMesgQueue* evtQueue;
|
||||
/* 0x10 */ OSMesgQueue* acsQueue;
|
||||
/* 0x14 */ s32 (*dma)(void);
|
||||
/* 0x14 */ s32 (*unk18)(void);
|
||||
/* 0x18 */ s32 (*unk18)(void);
|
||||
} OSDevMgr;
|
||||
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u32 ctrl;
|
||||
/* 0x4 */ u32 width;
|
||||
/* 0x8 */ u32 burst;
|
||||
/* 0xC */ u32 vSync;
|
||||
/* 0x00 */ u32 ctrl;
|
||||
/* 0x04 */ u32 width;
|
||||
/* 0x08 */ u32 burst;
|
||||
/* 0x0C */ u32 vSync;
|
||||
/* 0x10 */ u32 hSync;
|
||||
/* 0x14 */ u32 leap;
|
||||
/* 0x18 */ u32 hStart;
|
||||
|
@ -193,17 +193,17 @@ typedef struct {
|
|||
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u32 origin;
|
||||
/* 0x4 */ u32 yScale;
|
||||
/* 0x8 */ u32 vStart;
|
||||
/* 0xC */ u32 vBurst;
|
||||
/* 0x00 */ u32 origin;
|
||||
/* 0x04 */ u32 yScale;
|
||||
/* 0x08 */ u32 vStart;
|
||||
/* 0x0C */ u32 vBurst;
|
||||
/* 0x10 */ u32 vIntr;
|
||||
} OSViFieldRegs;
|
||||
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 type;
|
||||
/* 0x4 */ OSViCommonRegs comRegs;
|
||||
/* 0x00 */ u8 type;
|
||||
/* 0x04 */ OSViCommonRegs comRegs;
|
||||
/* 0x28 */ OSViFieldRegs fldRegs[2];
|
||||
} OSViMode;
|
||||
|
||||
|
@ -211,9 +211,9 @@ typedef u64 OSTime;
|
|||
|
||||
|
||||
typedef struct OSTimer_s {
|
||||
/* 0x0 */ struct OSTimer_s* next;
|
||||
/* 0x4 */ struct OSTimer_s* prev;
|
||||
/* 0x8 */ OSTime interval;
|
||||
/* 0x00 */ struct OSTimer_s* next;
|
||||
/* 0x04 */ struct OSTimer_s* prev;
|
||||
/* 0x08 */ OSTime interval;
|
||||
/* 0x10 */ OSTime value;
|
||||
/* 0x18 */ OSMesgQueue* mq;
|
||||
/* 0x1C */ OSMesg msg;
|
||||
|
@ -236,8 +236,8 @@ typedef struct {
|
|||
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ void* address;
|
||||
/* 0x4 */ u8 databuffer[32];
|
||||
/* 0x00 */ void* address;
|
||||
/* 0x04 */ u8 databuffer[32];
|
||||
/* 0x24 */ u8 addressCrc;
|
||||
/* 0x25 */ u8 dataCrc;
|
||||
/* 0x26 */ u8 errno;
|
||||
|
|
|
@ -3,12 +3,12 @@
|
|||
|
||||
// TODO should be in libultra/os
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <os.h>
|
||||
#include <os_internal.h>
|
||||
#include <ultraerror.h>
|
||||
#include <ultralog.h>
|
||||
#include <sptask.h>
|
||||
#include "stdarg.h"
|
||||
#include "os.h"
|
||||
#include "os_internal.h"
|
||||
#include "ultraerror.h"
|
||||
#include "ultralog.h"
|
||||
#include "sptask.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ OSMesgQueue* messageQueue;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef _RAMROM_H_
|
||||
#define _RAMROM_H_
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
#include "PR/ultratypes.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ long type;
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
#ifndef _SECTION_H_
|
||||
#define _SECTION_H_
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
|
||||
extern u32 boot_text_start;
|
||||
extern u32 boot_text_end;
|
||||
|
||||
extern u32 boot_data_start;
|
||||
extern u32 boot_data_end;
|
||||
|
||||
extern u32 boot_rodata_start;
|
||||
extern u32 boot_rodata_end;
|
||||
|
||||
extern u32 boot_bss_start;
|
||||
extern u32 boot_bss_end;
|
||||
|
||||
extern u32 code_text_start;
|
||||
extern u32 code_text_end;
|
||||
|
||||
extern u32 code_data_start;
|
||||
extern u32 code_data_end;
|
||||
|
||||
extern u32 code_rodata_start;
|
||||
extern u32 code_rodata_end;
|
||||
|
||||
extern u32 code_bss_start;
|
||||
extern u32 code_bss_end;
|
||||
|
||||
#endif
|
|
@ -1,52 +0,0 @@
|
|||
#ifndef _SEGMENT_H_
|
||||
#define _SEGMENT_H_
|
||||
|
||||
#include <z64.h>
|
||||
|
||||
extern Gfx D_040008D0[];
|
||||
extern Gfx D_04029CB0[];
|
||||
extern Gfx D_04029CF0[];
|
||||
extern Gfx D_04058BA0[];
|
||||
extern Gfx D_0405AAB0[];
|
||||
extern UNK_TYPE D_0405BEF0;
|
||||
extern UNK_TYPE D_0405B6F0;
|
||||
extern UNK_TYPE D_0405C6F0;
|
||||
extern UNK_TYPE D_0405CEF0;
|
||||
extern UNK_TYPE D_0405E6F0;
|
||||
extern Gfx D_0405F6F0[];
|
||||
extern UNK_TYPE D_0405F7C0;
|
||||
extern UNK_TYPE D_0405FFC0;
|
||||
extern UNK_TYPE D_040607C0;
|
||||
extern UNK_TYPE D_04060FC0;
|
||||
extern UNK_TYPE D_040617C0;
|
||||
extern UNK_TYPE D_04061FC0;
|
||||
extern UNK_TYPE D_04061FE0;
|
||||
extern UNK_TYPE D_04062000;
|
||||
extern UNK_TYPE D_04062020;
|
||||
extern UNK_TYPE D_04062040;
|
||||
extern UNK_TYPE D_04062060;
|
||||
extern Gfx D_040622C0[];
|
||||
extern Gfx D_04075A40[];
|
||||
extern Gfx D_04075B30[];
|
||||
extern Gfx D_04076BC0[];
|
||||
extern Gfx D_04077480[];
|
||||
|
||||
extern Gfx D_05000C40[];
|
||||
extern Gfx D_05017EA0[]; // pot displaylist
|
||||
extern Gfx D_05018090[]; // pot break shard displaylist
|
||||
extern Gfx D_0501D980[];
|
||||
extern Gfx D_050219E0[];
|
||||
|
||||
extern UNK_TYPE D_0E000048;
|
||||
extern UNK_TYPE D_0E000088;
|
||||
extern UNK_TYPE D_0E000140;
|
||||
extern UNK_TYPE D_0E0001C8;
|
||||
extern UNK_TYPE D_0E0002C8;
|
||||
|
||||
extern Gfx object_ikana_obj_001100[];
|
||||
extern AnimatedMaterial object_ikana_obj_001228[];
|
||||
|
||||
extern Gfx object_fu_kaiten_0005D0[];
|
||||
extern CollisionHeader object_fu_kaiten_002D30;
|
||||
|
||||
#endif
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef _SEGMENT_SYMBOLS_H_
|
||||
#define _SEGMENT_SYMBOLS_H_
|
||||
|
||||
#include <z64.h>
|
||||
#include "z64.h"
|
||||
|
||||
#define DECLARE_SEGMENT(name) \
|
||||
extern u8 _##name##SegmentStart[]; \
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef _SPTASK_H_
|
||||
#define _SPTASK_H_
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
#include "PR/ultratypes.h"
|
||||
|
||||
#define OS_YIELD_DATA_SIZE 0xC00
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef _STDARG_H_
|
||||
#define _STDARG_H_
|
||||
|
||||
#include <ultra64.h>
|
||||
#include "ultra64.h"
|
||||
|
||||
// When building with GCC, use the official vaarg macros to avoid warnings
|
||||
// and possibly bad codegen.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef _STDINT_H_
|
||||
#define _STDINT_H_
|
||||
|
||||
#include <ultra64.h>
|
||||
#include "ultra64.h"
|
||||
|
||||
typedef s32 intptr_t;
|
||||
typedef u32 uintptr_t;
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
#ifndef _ULTRA64_H_
|
||||
#define _ULTRA64_H_
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
#include "PR/ultratypes.h"
|
||||
#include "PR/gbi.h"
|
||||
|
||||
#include "unk.h"
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef _ULTRALOG_H_
|
||||
#define _ULTRALOG_H_
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
#include "PR/ultratypes.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u32 magic;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef _UNK_H_
|
||||
#define _UNK_H_
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
#include "PR/ultratypes.h"
|
||||
|
||||
#define UNK_TYPE s32
|
||||
#define UNK_TYPE1 s8
|
||||
|
|
|
@ -1,22 +1,19 @@
|
|||
#ifndef _VARIABLES_H_
|
||||
#define _VARIABLES_H_
|
||||
|
||||
#include <z64.h>
|
||||
#include <segment_symbols.h>
|
||||
#include <segment.h>
|
||||
#include <section.h>
|
||||
#include "z64.h"
|
||||
#include "segment_symbols.h"
|
||||
|
||||
// pre-boot variables
|
||||
extern UNK_TYPE osTvType;
|
||||
extern UNK_TYPE osRomType;
|
||||
extern UNK_TYPE osRomBase;
|
||||
extern UNK_TYPE osResetType;
|
||||
extern UNK_TYPE osCicId;
|
||||
extern UNK_TYPE osVersion;
|
||||
extern UNK_TYPE osMemSize;
|
||||
extern u32 osTvType;
|
||||
extern u32 osRomType;
|
||||
extern u32 osRomBase;
|
||||
extern u32 osResetType;
|
||||
extern u32 osCicId;
|
||||
extern u32 osVersion;
|
||||
extern u32 osMemSize;
|
||||
extern s32 osAppNmiBuffer[0x10];
|
||||
extern u16 gFramebuffer1[SCREEN_HEIGHT][SCREEN_WIDTH]; // at 0x80000500
|
||||
extern u16 gFramebufferHighRes1[SCREEN_HEIGHT_HIGH_RES][SCREEN_WIDTH_HIGH_RES]; // at 0x80000500
|
||||
extern u8 D_80025D00[];
|
||||
|
||||
// data
|
||||
|
@ -392,7 +389,7 @@ extern UNK_PTR D_801AE260[3];
|
|||
// extern UNK_TYPE4 D_801AE2DC;
|
||||
extern F3DVertex sEffectShieldParticleVertices[4];
|
||||
extern EffInfo sEffInfoTable[5];
|
||||
extern EffectTableInfo EffectSS2Info;
|
||||
extern EffectSsInfo EffectSS2Info;
|
||||
// extern UNK_TYPE1 D_801AE3B0;
|
||||
// extern UNK_TYPE1 D_801AE3B4;
|
||||
// extern UNK_TYPE4 D_801AE3B8;
|
||||
|
@ -420,7 +417,7 @@ extern EffectTableInfo EffectSS2Info;
|
|||
// extern UNK_TYPE1 D_801AE48A;
|
||||
// extern UNK_TYPE1 D_801AE48C;
|
||||
// extern UNK_TYPE1 D_801AE490;
|
||||
extern ParticleOverlay particleOverlayTable[39];
|
||||
extern EffectSsOverlay particleOverlayTable[39];
|
||||
extern UNK_PTR D_801AE8F0;
|
||||
// extern UNK_TYPE4 D_801AEC70;
|
||||
// extern UNK_TYPE4 D_801AEC74;
|
||||
|
@ -442,8 +439,8 @@ extern Color_RGBA8 actorDefaultHitColor;
|
|||
// extern UNK_TYPE4 D_801AEE30;
|
||||
// extern UNK_TYPE4 D_801AEE38;
|
||||
// extern UNK_TYPE2 D_801AEE4C;
|
||||
// extern UNK_TYPE1 D_801AEF88;
|
||||
// extern UNK_TYPE1 D_801AEFA0;
|
||||
extern Gfx D_801AEF88[];
|
||||
extern Gfx D_801AEFA0[];
|
||||
// extern UNK_TYPE1 D_801AEFA8;
|
||||
// extern UNK_TYPE1 D_801AEFB8;
|
||||
// extern UNK_TYPE1 D_801AEFBC;
|
||||
|
@ -940,7 +937,7 @@ extern s16 actorCutsceneReturnCamera;
|
|||
extern s16 D_801BD8C6;
|
||||
extern ColliderCylinderInit fireObjCollisionInit;
|
||||
extern FireObjLightParams D_801BD8FC[2];
|
||||
extern GameStateOverlay initialGameStateInfo;
|
||||
extern GameStateOverlay gGameStateOverlayTable;
|
||||
extern GameStateOverlay D_801BD940;
|
||||
extern GameStateOverlay titleGameStateInfo;
|
||||
extern GameStateOverlay mainGameStateInfo;
|
||||
|
@ -1602,9 +1599,9 @@ extern ActorInit Player_InitVars;
|
|||
// extern UNK_TYPE4 D_801D0BB0;
|
||||
// extern UNK_TYPE1 D_801D0C80;
|
||||
// extern UNK_TYPE1 D_801D0CB0;
|
||||
extern UNK_PTR D_801D0CD8;
|
||||
extern const TransitionInit TransitionFade_InitVars;
|
||||
// extern UNK_TYPE1 D_801D0D00;
|
||||
extern UNK_PTR D_801D0D28;
|
||||
extern const TransitionInit TransitionCircle_InitVars;
|
||||
extern UNK_TYPE4 D_801D0D50;
|
||||
// extern UNK_TYPE1 D_801D0D54;
|
||||
// extern UNK_TYPE2 D_801D0D58;
|
||||
|
@ -3373,9 +3370,9 @@ extern s32* gNMIBuffer;
|
|||
// extern UNK_TYPE1 D_801F59F8;
|
||||
// extern QuakeRequest sQuakeRequest[4];
|
||||
// extern Quake2Context sQuake2Context;
|
||||
extern s32 sMatAnimStep;
|
||||
extern u32 sMatAnimFlags;
|
||||
extern f32 sMatAnimAlphaRatio;
|
||||
// extern s32 sMatAnimStep;
|
||||
// extern u32 sMatAnimFlags;
|
||||
// extern f32 sMatAnimAlphaRatio;
|
||||
extern s32 D_801F5AB0;
|
||||
extern s32 D_801F5AB4;
|
||||
// extern UNK_TYPE1 D_801F5AC0;
|
||||
|
@ -3855,15 +3852,260 @@ extern OSMesg D_80203290[1];
|
|||
// extern UNK_TYPE1 D_80208E98;
|
||||
// extern UNK_TYPE1 D_80208E99;
|
||||
// extern UNK_TYPE1 D_80208E9C;
|
||||
|
||||
// post-code buffers
|
||||
extern u8 gGfxSPTaskYieldBuffer[OS_YIELD_DATA_SIZE];
|
||||
extern u8 gGfxSPTaskStack[0x400];
|
||||
extern GfxPool gGfxPools[2];
|
||||
extern u8 gAudioHeap[0x138000];
|
||||
extern u32 gSystemHeap[UNK_SIZE];
|
||||
extern u16 gFramebufferHighRes0[SCREEN_HEIGHT_HIGH_RES][SCREEN_WIDTH_HIGH_RES]; // at 0x80780000
|
||||
extern u8 gSystemHeap[UNK_SIZE];
|
||||
|
||||
extern u8 D_80780000[0x4600];
|
||||
extern u8 D_80784600[0x56200];
|
||||
extern u16 gFramebuffer0[SCREEN_HEIGHT][SCREEN_WIDTH]; // at 0x807DA800
|
||||
extern u16 gFramebuffer0[SCREEN_HEIGHT][SCREEN_WIDTH];
|
||||
|
||||
// keep objects
|
||||
|
||||
extern Gfx D_040008D0[];
|
||||
extern UNK_TYPE D_040032B0;
|
||||
extern UNK_TYPE D_0400CF58;
|
||||
extern UNK_TYPE D_0400CF88;
|
||||
extern UNK_TYPE D_0400CF98;
|
||||
extern UNK_TYPE D_0400D0A8;
|
||||
extern UNK_TYPE D_0400D0B0;
|
||||
extern UNK_TYPE D_0400D0C8;
|
||||
extern UNK_TYPE D_0400D100;
|
||||
extern UNK_TYPE D_0400D218;
|
||||
extern UNK_TYPE D_0400D220;
|
||||
extern UNK_TYPE D_0400D228;
|
||||
extern UNK_TYPE D_0400D2D0;
|
||||
extern UNK_TYPE D_0400D3E8;
|
||||
extern UNK_TYPE D_0400D3F8;
|
||||
extern UNK_TYPE D_0400D488;
|
||||
extern UNK_TYPE D_0400D490;
|
||||
extern UNK_TYPE D_0400D500;
|
||||
extern UNK_TYPE D_0400D520;
|
||||
extern UNK_TYPE D_0400D568;
|
||||
extern UNK_TYPE D_0400D638;
|
||||
extern UNK_TYPE D_0400D660;
|
||||
extern UNK_TYPE D_0400D698;
|
||||
extern UNK_TYPE D_0400D728;
|
||||
extern UNK_TYPE D_0400D9C8;
|
||||
extern UNK_TYPE D_0400D9D0;
|
||||
extern UNK_TYPE D_0400DA70;
|
||||
extern UNK_TYPE D_0400DA88;
|
||||
extern UNK_TYPE D_0400DAA8;
|
||||
extern UNK_TYPE D_0400DAC0;
|
||||
extern UNK_TYPE D_0400DAC8;
|
||||
extern UNK_TYPE D_0400DAD8;
|
||||
extern UNK_TYPE D_0400DAE0;
|
||||
extern UNK_TYPE D_0400DAF0;
|
||||
extern UNK_TYPE D_0400DB10;
|
||||
extern UNK_TYPE D_0400DB18;
|
||||
extern UNK_TYPE D_0400DB30;
|
||||
extern UNK_TYPE D_0400DBB0;
|
||||
extern UNK_TYPE D_0400DBE8;
|
||||
extern UNK_TYPE D_0400DC48;
|
||||
extern UNK_TYPE D_0400DC50;
|
||||
extern UNK_TYPE D_0400DCA8;
|
||||
extern UNK_TYPE D_0400DCD0;
|
||||
extern UNK_TYPE D_0400DCD8;
|
||||
extern UNK_TYPE D_0400DCF8;
|
||||
extern UNK_TYPE D_0400DD30;
|
||||
extern UNK_TYPE D_0400DD38;
|
||||
extern UNK_TYPE D_0400DD40;
|
||||
extern UNK_TYPE D_0400DD50;
|
||||
extern UNK_TYPE D_0400DD58;
|
||||
extern UNK_TYPE D_0400DD80;
|
||||
extern UNK_TYPE D_0400DDB0;
|
||||
extern UNK_TYPE D_0400DDF8;
|
||||
extern UNK_TYPE D_0400DE00;
|
||||
extern UNK_TYPE D_0400DE08;
|
||||
extern UNK_TYPE D_0400DE10;
|
||||
extern UNK_TYPE D_0400DE28;
|
||||
extern UNK_TYPE D_0400DE30;
|
||||
extern UNK_TYPE D_0400DE58;
|
||||
extern UNK_TYPE D_0400DE60;
|
||||
extern UNK_TYPE D_0400DEA0;
|
||||
extern UNK_TYPE D_0400DEA8;
|
||||
extern UNK_TYPE D_0400DF78;
|
||||
extern UNK_TYPE D_0400DF90;
|
||||
extern UNK_TYPE D_0400DFA0;
|
||||
extern UNK_TYPE D_0400DFD0;
|
||||
extern UNK_TYPE D_0400DFE0;
|
||||
extern UNK_TYPE D_0400DFE8;
|
||||
extern UNK_TYPE D_0400DFF8;
|
||||
extern UNK_TYPE D_0400E000;
|
||||
extern UNK_TYPE D_0400E070;
|
||||
extern UNK_TYPE D_0400E088;
|
||||
extern UNK_TYPE D_0400E120;
|
||||
extern UNK_TYPE D_0400E150;
|
||||
extern UNK_TYPE D_0400E1F0;
|
||||
extern UNK_TYPE D_0400E200;
|
||||
extern UNK_TYPE D_0400E208;
|
||||
extern UNK_TYPE D_0400E270;
|
||||
extern UNK_TYPE D_0400E290;
|
||||
extern UNK_TYPE D_0400E2A8;
|
||||
extern UNK_TYPE D_0400E2B8;
|
||||
extern UNK_TYPE D_0400E2C0;
|
||||
extern UNK_TYPE D_0400E2D0;
|
||||
extern UNK_TYPE D_0400E2D8;
|
||||
extern UNK_TYPE D_0400E2E8;
|
||||
extern UNK_TYPE D_0400E318;
|
||||
extern UNK_TYPE D_0400E398;
|
||||
extern UNK_TYPE D_0400E3A0;
|
||||
extern UNK_TYPE D_0400E3A8;
|
||||
extern UNK_TYPE D_0400E3C0;
|
||||
extern UNK_TYPE D_0400E3D8;
|
||||
extern UNK_TYPE D_0400E408;
|
||||
extern UNK_TYPE D_0400E410;
|
||||
extern UNK_TYPE D_0400E418;
|
||||
extern UNK_TYPE D_0400EB7C;
|
||||
extern UNK_TYPE D_040117A8;
|
||||
extern UNK_TYPE D_04012860;
|
||||
extern UNK_TYPE D_040128BC;
|
||||
extern UNK_TYPE D_04015FA0;
|
||||
extern UNK_TYPE D_04016360;
|
||||
extern UNK_TYPE D_0401A4D0;
|
||||
extern UNK_TYPE D_0401A538;
|
||||
extern UNK_TYPE D_0401A620;
|
||||
extern Gfx D_0401C430[];
|
||||
extern UNK_TYPE D_0401F740;
|
||||
extern UNK_TYPE D_0401F7C0;
|
||||
extern UNK_TYPE D_0401F8C0;
|
||||
extern UNK_TYPE D_0401FA40;
|
||||
extern UNK_TYPE D_04020BB8;
|
||||
extern UNK_TYPE D_040221B8;
|
||||
extern UNK_TYPE D_04023100;
|
||||
extern UNK_TYPE D_04023130;
|
||||
extern Gfx D_04023210[];
|
||||
extern UNK_TYPE D_04023288;
|
||||
extern UNK_TYPE D_04023348;
|
||||
extern UNK_TYPE D_04025850;
|
||||
extern UNK_TYPE D_04025DD0;
|
||||
extern UNK_TYPE D_040281DC;
|
||||
extern UNK_TYPE D_04028FEC;
|
||||
extern UNK_TYPE D_04029140;
|
||||
extern Gfx D_04029CB0[];
|
||||
extern Gfx D_04029CF0[];
|
||||
extern UNK_TYPE D_04029D20;
|
||||
extern UNK_TYPE D_0402B494;
|
||||
extern UNK_TYPE D_0402C908;
|
||||
extern Gfx D_0402E510[];
|
||||
extern UNK_TYPE D_0402E65C;
|
||||
extern UNK_TYPE D_0402F0EC;
|
||||
extern Gfx D_04030100[]; // Floor shockwave ring
|
||||
extern UNK_TYPE D_040301B0;
|
||||
extern UNK_TYPE D_04032270;
|
||||
extern UNK_TYPE D_04035710;
|
||||
extern UNK_TYPE D_040367B0;
|
||||
extern UNK_TYPE D_040377B0;
|
||||
extern UNK_TYPE D_04037850;
|
||||
extern Gfx D_040378F0[]; // gExplosionSplashTex1
|
||||
extern Gfx D_04037DF0[]; // gExplosionSplashTex2
|
||||
extern Gfx D_040382F0[]; // gExplosionSplashTex3
|
||||
extern Gfx D_040387F0[]; // gExplosionSplashTex4
|
||||
extern Gfx D_04038CF0[]; // gExplosionSplashTex5
|
||||
extern Gfx D_040391F0[]; // gExplosionSplashTex6
|
||||
extern Gfx D_040396F0[]; // gExplosionSplashTex7
|
||||
extern Gfx D_04039BF0[]; // gExplosionSplashTex8
|
||||
extern Gfx D_0403A0F0[]; // gExplosionSplashDL
|
||||
extern UNK_TYPE D_0403C190;
|
||||
extern UNK_TYPE D_0403F230;
|
||||
extern UNK_TYPE D_04044300;
|
||||
extern Gfx D_04048DF0[];
|
||||
extern UNK_TYPE D_04050D10;
|
||||
extern UNK_TYPE D_04051180;
|
||||
extern UNK_TYPE D_04051238;
|
||||
extern UNK_TYPE D_0405140C;
|
||||
extern UNK_TYPE D_040527F0;
|
||||
extern UNK_TYPE D_040528B0;
|
||||
extern Gfx D_04054A90[];
|
||||
extern UNK_TYPE D_04055628;
|
||||
extern Gfx D_04057B10[];
|
||||
extern Gfx D_04058BA0[];
|
||||
extern Gfx D_04089070[];
|
||||
extern u64 D_0408DBE0[]; // gDust1Tex
|
||||
extern u64 D_0408DFE0[]; // gDust2Tex
|
||||
extern u64 D_0408E3E0[]; // gDust3Tex
|
||||
extern u64 D_0408E7E0[]; // gDust4Tex
|
||||
extern u64 D_0408EBE0[]; // gDust5Tex
|
||||
extern u64 D_0408EFE0[]; // gDust6Tex
|
||||
extern u64 D_0408F3E0[]; // gDust7Tex
|
||||
extern u64 D_0408F7E0[]; // gDust8Tex
|
||||
extern UNK_TYPE D_04050550;
|
||||
extern UNK_TYPE D_04050648;
|
||||
extern UNK_TYPE D_040510B0;
|
||||
extern UNK_TYPE D_04054940;
|
||||
extern Gfx D_0405AAB0[];
|
||||
extern UNK_TYPE D_0405B6F0;
|
||||
extern UNK_TYPE D_0405BEF0;
|
||||
extern UNK_TYPE D_0405C6F0;
|
||||
extern UNK_TYPE D_0405CEF0;
|
||||
extern UNK_TYPE D_0405E6F0;
|
||||
extern Gfx D_0405F6F0[];
|
||||
extern UNK_TYPE D_0405F7C0;
|
||||
extern UNK_TYPE D_0405FFC0;
|
||||
extern UNK_TYPE D_040607C0;
|
||||
extern UNK_TYPE D_04060FC0;
|
||||
extern UNK_TYPE D_040617C0;
|
||||
extern UNK_TYPE D_04061FC0;
|
||||
extern UNK_TYPE D_04061FE0;
|
||||
extern UNK_TYPE D_04062000;
|
||||
extern UNK_TYPE D_04062020;
|
||||
extern UNK_TYPE D_04062040;
|
||||
extern UNK_TYPE D_04062060;
|
||||
extern Gfx D_040622C0[];
|
||||
extern UNK_TYPE D_0406AB30;
|
||||
extern UNK_TYPE D_0406B730;
|
||||
extern UNK_TYPE D_0406BB0C;
|
||||
extern UNK_TYPE D_0406F380;
|
||||
extern UNK_TYPE D_04073F00;
|
||||
extern UNK_TYPE D_04075400;
|
||||
extern Gfx D_04075A40[];
|
||||
extern Gfx D_04075B30[];
|
||||
extern Gfx D_04076BC0[];
|
||||
extern Gfx D_04077480[];
|
||||
extern UNK_TYPE D_04079B10;
|
||||
extern UNK_TYPE D_0407AB10;
|
||||
extern UNK_TYPE D_0407AFB0;
|
||||
extern UNK_TYPE D_0407D590;
|
||||
extern UNK_TYPE D_0407D650;
|
||||
extern UNK_TYPE D_0407F218;
|
||||
extern UNK_TYPE D_040815D0;
|
||||
extern UNK_TYPE D_04081628;
|
||||
extern UNK_TYPE D_04083534;
|
||||
extern UNK_TYPE D_04091BE0;
|
||||
extern UNK_TYPE D_04091CE0;
|
||||
|
||||
extern Gfx D_05000C40[];
|
||||
extern UNK_TYPE D_05001D20;
|
||||
extern UNK_TYPE D_050061E8;
|
||||
extern UNK_TYPE D_05006420;
|
||||
extern UNK_TYPE D_050066B0;
|
||||
extern UNK_TYPE D_05007498;
|
||||
extern Gfx D_05007890[];
|
||||
extern UNK_TYPE D_050078A0;
|
||||
extern UNK_TYPE D_05007938;
|
||||
extern Gfx D_05007980[];
|
||||
extern UNK_TYPE D_05007E00;
|
||||
extern UNK_TYPE D_05008018;
|
||||
extern UNK_TYPE D_050085F0;
|
||||
extern Gfx D_05017EA0[]; // pot displaylist
|
||||
extern Gfx D_05018090[]; // pot break shard displaylist
|
||||
extern UNK_TYPE D_050182A8;
|
||||
extern UNK_TYPE D_0501B508;
|
||||
extern UNK_TYPE D_0501C058;
|
||||
extern Gfx D_0501D980[];
|
||||
extern Gfx D_050219E0[];
|
||||
extern UNK_TYPE D_05023008;
|
||||
extern UNK_TYPE D_0502324C;
|
||||
|
||||
// other segments
|
||||
extern UNK_TYPE D_0E000048;
|
||||
extern UNK_TYPE D_0E000088;
|
||||
extern UNK_TYPE D_0E000140;
|
||||
extern UNK_TYPE D_0E0001C8;
|
||||
extern UNK_TYPE D_0E0002C8;
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
// TODO should be in libultra/io
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
#include <os.h>
|
||||
#include "PR/ultratypes.h"
|
||||
#include "os.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ f32 factor;
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
#ifndef VT_H
|
||||
#define VT_H
|
||||
|
||||
#define VT_COLOR_BLACK 0
|
||||
#define VT_COLOR_RED 1
|
||||
#define VT_COLOR_GREEN 2
|
||||
#define VT_COLOR_YELLOW 3
|
||||
#define VT_COLOR_BLUE 4
|
||||
#define VT_COLOR_PURPLE 5
|
||||
#define VT_COLOR_CYAN 6
|
||||
#define VT_COLOR_WHITE 7
|
||||
#define VT_COLOR_LIGHTGRAY 8
|
||||
#define VT_COLOR_DARKGRAY 9
|
||||
|
||||
#define VT_COLOR_FOREGROUND 3
|
||||
#define VT_COLOR_BACKGROUND 4
|
||||
|
||||
#define VT_COLOR_EXPAND0(type, color) #type #color
|
||||
#define VT_COLOR_EXPAND1(type, color) VT_COLOR_EXPAND0(type, color)
|
||||
#define VT_COLOR(type, color) VT_COLOR_EXPAND1(VT_COLOR_##type, VT_COLOR_##color)
|
||||
|
||||
#define VT_ESC "\x1b"
|
||||
#define VT_CSI "["
|
||||
#define VT_CUP(x, y) VT_ESC VT_CSI y ";" x "H"
|
||||
#define VT_ED(n) VT_ESC VT_CSI #n "J"
|
||||
#define VT_SGR(n) VT_ESC VT_CSI n "m"
|
||||
|
||||
// Add more macros if necessary
|
||||
#define VT_COL(back, fore) VT_SGR(VT_COLOR(BACKGROUND, back) ";" VT_COLOR(FOREGROUND, fore))
|
||||
#define VT_FGCOL(color) VT_SGR(VT_COLOR(FOREGROUND, color))
|
||||
#define VT_BGCOL(color) VT_SGR(VT_COLOR(BACKGROUND, color))
|
||||
#define VT_RST VT_SGR("")
|
||||
#define VT_CLS VT_ED(2)
|
||||
|
||||
#endif
|
199
include/z64.h
199
include/z64.h
|
@ -1,40 +1,41 @@
|
|||
#ifndef _Z64_H_
|
||||
#define _Z64_H_
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include "stdarg.h"
|
||||
#include "stdbool.h"
|
||||
#include "stdint.h"
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
#include <PR/gbi.h>
|
||||
#include <PR/sched.h>
|
||||
#include <io/controller.h>
|
||||
#include <osint.h>
|
||||
#include <viint.h>
|
||||
#include <math.h>
|
||||
#include <os.h>
|
||||
#include <stdlib.h>
|
||||
#include <xstdio.h>
|
||||
#include <unk.h>
|
||||
#include "PR/ultratypes.h"
|
||||
#include "PR/gbi.h"
|
||||
#include "PR/sched.h"
|
||||
#include "io/controller.h"
|
||||
#include "osint.h"
|
||||
#include "viint.h"
|
||||
#include "math.h"
|
||||
#include "os.h"
|
||||
#include "stdlib.h"
|
||||
#include "xstdio.h"
|
||||
#include "unk.h"
|
||||
|
||||
#include <sfx.h>
|
||||
#include <color.h>
|
||||
#include <ichain.h>
|
||||
#include "sfx.h"
|
||||
#include "color.h"
|
||||
#include "ichain.h"
|
||||
|
||||
#include <z64actor.h>
|
||||
#include <z64animation.h>
|
||||
#include <z64bgcheck.h>
|
||||
#include <z64collision_check.h>
|
||||
#include <z64cutscene.h>
|
||||
#include <z64dma.h>
|
||||
#include <z64effect.h>
|
||||
#include <z64item.h>
|
||||
#include <z64light.h>
|
||||
#include <z64math.h>
|
||||
#include <z64object.h>
|
||||
#include "z64actor.h"
|
||||
#include "z64animation.h"
|
||||
#include "z64bgcheck.h"
|
||||
#include "z64collision_check.h"
|
||||
#include "z64cutscene.h"
|
||||
#include "z64dma.h"
|
||||
#include "z64effect.h"
|
||||
#include "z64item.h"
|
||||
#include "z64light.h"
|
||||
#include "z64math.h"
|
||||
#include "z64object.h"
|
||||
#include "z64player.h"
|
||||
#include <z64scene.h>
|
||||
#include <z64save.h>
|
||||
#include "z64scene.h"
|
||||
#include "z64save.h"
|
||||
#include "z64transition.h"
|
||||
|
||||
#define SCREEN_WIDTH 320
|
||||
#define SCREEN_HEIGHT 240
|
||||
|
@ -321,7 +322,8 @@ typedef struct {
|
|||
/* 0x08 */ u32 rodataSize;
|
||||
/* 0x0C */ u32 bssSize;
|
||||
/* 0x10 */ u32 nRelocations;
|
||||
} OverlayRelocationSection; // size = 0x14
|
||||
/* 0x14 */ u32 relocations[1];
|
||||
} OverlayRelocationSection; // size >= 0x18
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 intPart[16];
|
||||
|
@ -988,8 +990,6 @@ typedef struct ActorEnFirefly ActorEnFirefly;
|
|||
|
||||
typedef struct ActorObjBell ActorObjBell;
|
||||
|
||||
typedef struct DaytelopContext DaytelopContext;
|
||||
|
||||
typedef struct ActorBgIknvObj ActorBgIknvObj;
|
||||
|
||||
typedef struct FaultAddrConvClient FaultAddrConvClient;
|
||||
|
@ -1027,10 +1027,6 @@ typedef struct {
|
|||
/* 0x844 */ void* fb;
|
||||
} FaultThreadStruct; // size = 0x848
|
||||
|
||||
typedef struct FileChooseContext FileChooseContext;
|
||||
|
||||
typedef void(*filechoose_update_func)(FileChooseContext* globalCtx);
|
||||
|
||||
typedef struct FireObj FireObj;
|
||||
|
||||
typedef struct FireObjLight FireObjLight;
|
||||
|
@ -1039,12 +1035,8 @@ typedef struct GameAlloc GameAlloc;
|
|||
|
||||
typedef struct GameState GameState;
|
||||
|
||||
typedef struct OpeningContext OpeningContext;
|
||||
|
||||
typedef struct PreNMIContext PreNMIContext;
|
||||
|
||||
typedef struct TitleContext TitleContext;
|
||||
|
||||
typedef struct GameAllocNode GameAllocNode;
|
||||
|
||||
struct GameAllocNode {
|
||||
|
@ -1078,137 +1070,12 @@ struct GameState {
|
|||
/* 0xA3 */ UNK_TYPE1 unkA3;
|
||||
}; // size = 0xA4
|
||||
|
||||
struct OpeningContext {
|
||||
/* 0x000 */ GameState common;
|
||||
/* 0x0A4 */ UNK_TYPE1 padA4[0x4];
|
||||
/* 0x0A8 */ View view;
|
||||
}; // size = 0x210
|
||||
|
||||
struct PreNMIContext {
|
||||
/* 0x00 */ GameState state;
|
||||
/* 0xA4 */ u32 timer;
|
||||
/* 0xA8 */ UNK_TYPE4 unkA8;
|
||||
}; // size = 0xAC
|
||||
|
||||
struct TitleContext {
|
||||
/* 0x000 */ GameState state;
|
||||
/* 0x0A4 */ u8* staticSegment;
|
||||
/* 0x0A8 */ View view;
|
||||
/* 0x210 */ SramContext sramCtx;
|
||||
/* 0x238 */ s16 mode;
|
||||
/* 0x23A */ s16 timer;
|
||||
/* 0x23C */ s16 coverAlpha;
|
||||
/* 0x23E */ s16 addAlpha;
|
||||
/* 0x240 */ s16 visibleDuration;
|
||||
/* 0x242 */ s16 ult;
|
||||
/* 0x244 */ s16 uls;
|
||||
/* 0x246 */ u8 exit;
|
||||
}; // size = 0x248
|
||||
|
||||
struct DaytelopContext {
|
||||
/* 0x000 */ GameState common;
|
||||
/* 0x0A4 */ UNK_TYPE1 padA4[0xC];
|
||||
/* 0x0B0 */ View view;
|
||||
/* 0x218 */ UNK_TYPE1 pad218[0x28];
|
||||
/* 0x240 */ s16 transitionCountdown;
|
||||
/* 0x242 */ s16 unk242;
|
||||
/* 0x244 */ s16 unk244;
|
||||
/* 0x246 */ UNK_TYPE1 pad246[0x2];
|
||||
}; // size = 0x248
|
||||
|
||||
struct FileChooseContext {
|
||||
/* 0x00000 */ GameState state;
|
||||
/* 0x000A8 */ u8* staticSegment;
|
||||
/* 0x000AC */ u8* parameterSegment;
|
||||
/* 0x000B0 */ u8* titleSegment;
|
||||
/* 0x000B8 */ View view;
|
||||
/* 0x00220 */ SramContext sramCtx;
|
||||
/* 0x00248 */ SkyboxContext skyboxCtx;
|
||||
/* 0x00470 */ MessageContext msgCtx;
|
||||
/* 0x12550 */ Font font;
|
||||
/* 0x242E0 */ EnvironmentContext envCtx;
|
||||
/* 0x243E0 */ Vtx* unk_243E0;
|
||||
/* 0x243E4 */ Vtx* unk_243E4;
|
||||
/* 0x243E8 */ Vtx* unk_243E8;
|
||||
/* 0x243EC */ Vtx* unk_243EC;
|
||||
/* 0x243F0 */ Vtx* unk_243F0;
|
||||
/* 0x243F4 */ u8 newf[6][4];
|
||||
/* 0x2440C */ u16 unk_2440C[4];
|
||||
/* 0x24414 */ u8 unk_24414[8][4];
|
||||
/* 0x24434 */ s16 healthCapacity[4];
|
||||
/* 0x2443C */ s16 health[4];
|
||||
/* 0x24444 */ u32 unk_24444[4];
|
||||
/* 0x24454 */ s8 unk_24454[4];
|
||||
/* 0x24458 */ u16 unk_24458[4];
|
||||
/* 0x24460 */ s16 unk_24460[4];
|
||||
/* 0x24468 */ u8 unk_24468[4];
|
||||
/* 0x2446C */ s16 rupees[4];
|
||||
/* 0x24474 */ u8 unk_24474[4];
|
||||
/* 0x24478 */ u8 unk_24478[4];
|
||||
/* 0x2447C */ u8 unk_2447C[4];
|
||||
/* 0x24480 */ s16 unk_24480;
|
||||
/* 0x24482 */ s16 unk_24482;
|
||||
/* 0x24484 */ s16 unk_24484;
|
||||
/* 0x24486 */ s16 unk_24486;
|
||||
/* 0x24488 */ s16 unk_24488;
|
||||
/* 0x2448A */ s16 unk_2448A;
|
||||
/* 0x2448C */ s16 unk_2448C;
|
||||
/* 0x2448E */ s16 unk_2448E;
|
||||
/* 0x24490 */ s16 unk_24490;
|
||||
/* 0x24492 */ s16 unk_24492[3];
|
||||
/* 0x24498 */ s16 unk_24498;
|
||||
/* 0x2449A */ s16 unk_2449A[6];
|
||||
/* 0x244A6 */ s16 unk_244A6;
|
||||
/* 0x244A8 */ s16 unk_244A8;
|
||||
/* 0x244AA */ s16 unk_244AA;
|
||||
/* 0x244AC */ s16 unk_244AC;
|
||||
/* 0x244AE */ s16 unk_244AE;
|
||||
/* 0x244B0 */ s16 unk_244B0[3];
|
||||
/* 0x244B6 */ s16 unk_244B6[2];
|
||||
/* 0x244BA */ s16 unk_244BA;
|
||||
/* 0x244BC */ s16 unk_244BC[3];
|
||||
/* 0x244C2 */ s16 unk_244C2[3];
|
||||
/* 0x244C8 */ s16 unk_244C8[3];
|
||||
/* 0x244CE */ s16 unk_244CE[3];
|
||||
/* 0x244D4 */ s16 unk_244D4[3];
|
||||
/* 0x244DA */ s16 unk_244DA[4];
|
||||
/* 0x244E2 */ s16 unk_244E2;
|
||||
/* 0x244E4 */ s16 unk_244E4;
|
||||
/* 0x244E6 */ s16 unk_244E6;
|
||||
/* 0x244E8 */ s16 unk_244E8;
|
||||
/* 0x244EA */ s16 unk_244EA[4];
|
||||
/* 0x244F2 */ s16 unk_244F2;
|
||||
/* 0x244F4 */ s16 unk_244F4;
|
||||
/* 0x244F6 */ s16 unk_244F6[2];
|
||||
/* 0x244FA */ s16 unk_244FA;
|
||||
/* 0x244FC */ s16 unk_244FC;
|
||||
/* 0x244FE */ s16 unk_244FE;
|
||||
/* 0x24500 */ s16 unk_24500;
|
||||
/* 0x24502 */ s16 unk_24502;
|
||||
/* 0x24504 */ s16 unk_24504;
|
||||
/* 0x24506 */ s16 unk_24506;
|
||||
/* 0x24508 */ s16 unk_24508;
|
||||
/* 0x2450A */ s16 unk_2450A;
|
||||
/* 0x2450C */ f32 unk_2450C;
|
||||
/* 0x24510 */ s16 unk_24510;
|
||||
/* 0x24512 */ s16 unk_24512;
|
||||
/* 0x24514 */ s16 unk_24514;
|
||||
/* 0x24516 */ s16 unk_24516;
|
||||
/* 0x24518 */ s16 unk_24518;
|
||||
/* 0x2451A */ s16 unk_2451A;
|
||||
/* 0x2451C */ s16 unk_2451C;
|
||||
/* 0x2451E */ s16 unk_2451E[5];
|
||||
/* 0x24528 */ s16 unk_24528;
|
||||
/* 0x2452A */ s16 unk_2452A;
|
||||
/* 0x2452C */ s16 unk_2452C[4];
|
||||
/* 0x24534 */ s16 unk_24534[4];
|
||||
/* 0x2453C */ s16 unk_2453C[4];
|
||||
/* 0x24544 */ s16 unk_24544[4];
|
||||
/* 0x2454C */ s16 unk_2454C;
|
||||
/* 0x2454E */ s16 unk_2454E;
|
||||
/* 0x24550 */ s16 unk_24550;
|
||||
}; // size = 0x24558
|
||||
|
||||
typedef struct GlobalContext GlobalContext;
|
||||
|
||||
typedef s32 (*ColChkResetFunc)(GlobalContext*, Collider*);
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#ifndef _Z64ACTOR_H_
|
||||
#define _Z64ACTOR_H_
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
#include <z64math.h>
|
||||
#include <z64animation.h>
|
||||
#include <z64collision_check.h>
|
||||
#include <unk.h>
|
||||
#include "PR/ultratypes.h"
|
||||
#include "z64math.h"
|
||||
#include "z64animation.h"
|
||||
#include "z64collision_check.h"
|
||||
#include "unk.h"
|
||||
|
||||
#define MASS_IMMOVABLE 0xFF // Cannot be pushed by OC collisions
|
||||
#define MASS_HEAVY 0xFE // Can only be pushed by OC collisions with IMMOVABLE and HEAVY objects.
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
#ifndef _Z64_ANIMATION_H
|
||||
#define _Z64_ANIMATION_H
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
#include <PR/gbi.h>
|
||||
#include <z64dma.h>
|
||||
#include <z64math.h>
|
||||
#include "PR/ultratypes.h"
|
||||
#include "PR/gbi.h"
|
||||
#include "z64dma.h"
|
||||
#include "z64math.h"
|
||||
|
||||
#define LINK_ANIMETION_OFFSET(addr, offset) \
|
||||
(((u32)&_link_animetionSegmentRomStart) + ((u32)addr & 0xFFFFFF) + ((u32)offset))
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#ifndef _Z_COLLISION_CHECK_H_
|
||||
#define _Z_COLLISION_CHECK_H_
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
#include <z64math.h>
|
||||
#include <unk.h>
|
||||
#include "PR/ultratypes.h"
|
||||
#include "z64math.h"
|
||||
#include "unk.h"
|
||||
|
||||
struct Actor;
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#ifndef _Z64CUTSCENE_H_
|
||||
#define _Z64CUTSCENE_H_
|
||||
|
||||
#include <ultra64.h>
|
||||
#include <unk.h>
|
||||
#include "ultra64.h"
|
||||
#include "unk.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s8 continueFlag;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef _Z64_DMA_H_
|
||||
#define _Z64_DMA_H_
|
||||
|
||||
#include <ultra64.h>
|
||||
#include "ultra64.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 vromAddr; // VROM address (source)
|
||||
|
|
|
@ -1,15 +1,14 @@
|
|||
#ifndef _Z64EFFECT_H_
|
||||
#define _Z64EFFECT_H_
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
#include <color.h>
|
||||
#include <z64light.h>
|
||||
#include <z64math.h>
|
||||
#include <unk.h>
|
||||
#include "PR/ultratypes.h"
|
||||
#include "color.h"
|
||||
#include "z64light.h"
|
||||
#include "z64math.h"
|
||||
#include "unk.h"
|
||||
|
||||
struct GraphicsContext;
|
||||
struct GlobalContext;
|
||||
struct EffectSs;
|
||||
|
||||
typedef void(*eff_destroy_func)(void* params);
|
||||
|
||||
|
@ -223,23 +222,29 @@ typedef struct {
|
|||
/* 0x3DF0 */ EffTireMark tireMarks[TIRE_MARK_COUNT];
|
||||
} EffTables; // size = 0x98E0
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f position;
|
||||
/* 0x0C */ Vec3f velocity;
|
||||
/* 0x18 */ Vec3f acceleration;
|
||||
/* 0x24 */ Color_RGBA8 color1;
|
||||
/* 0x28 */ Color_RGBA8 color2;
|
||||
/* 0x2C */ s16 scale;
|
||||
/* 0x2E */ s16 scaleChangePerFrame;
|
||||
/* 0x30 */ s16 life;
|
||||
/* 0x32 */ u16 flags; // bit0: ? bit1: ? bit2: randomize colors
|
||||
/* 0x34 */ u8 type; // type0: start small, get big, fade away type1: start big, fade away
|
||||
} EffectDustInit; // size = 0x35
|
||||
/* Effect Soft Sprites */
|
||||
|
||||
struct EffectSs;
|
||||
|
||||
typedef u32 (*EffectSsInitFunc)(struct GlobalContext* globalCtx, u32 index, struct EffectSs* effectSs, void* initParams);
|
||||
typedef void(*EffectSsUpdateFunc)(struct GlobalContext* globalCtx, u32 index, struct EffectSs* particle);
|
||||
typedef void(*EffectSsDrawFunc)(struct GlobalContext* globalCtx, u32 index, struct EffectSs* particle);
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 type;
|
||||
/* 0x04 */ EffectSsInitFunc init;
|
||||
} EffectSsInit; // size = 0x08
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 vromStart;
|
||||
/* 0x04 */ u32 vromEnd;
|
||||
/* 0x08 */ void* vramStart;
|
||||
/* 0x0C */ void* vramEnd;
|
||||
/* 0x10 */ void* loadedRamAddr;
|
||||
/* 0x14 */ EffectSsInit* initInfo;
|
||||
/* 0x18 */ u32 unk18; // Always 0x01000000?
|
||||
} EffectSsOverlay; // size = 0x1C
|
||||
|
||||
typedef struct EffectSs {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f velocity;
|
||||
|
@ -260,87 +265,29 @@ typedef struct {
|
|||
/* 0x0 */ EffectSs* data_table; // Name from debug assert
|
||||
/* 0x4 */ s32 searchIndex;
|
||||
/* 0x8 */ s32 size;
|
||||
} EffectTableInfo; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ UNK_TYPE4 unk0;
|
||||
/* 0x4 */ EffectSsInitFunc init;
|
||||
} ParticleOverlayInfo; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 vromStart;
|
||||
/* 0x04 */ u32 vromEnd;
|
||||
/* 0x08 */ void* vramStart;
|
||||
/* 0x0C */ void* vramEnd;
|
||||
/* 0x10 */ void* loadedRamAddr;
|
||||
/* 0x14 */ ParticleOverlayInfo* overlayInfo;
|
||||
/* 0x18 */ u32 unk18; // Always 0x01000000?
|
||||
} ParticleOverlay; // size = 0x1C
|
||||
|
||||
typedef enum EffectSSType {
|
||||
EFFECT_SS2_TYPE_DUST = 0x0,
|
||||
EFFECT_SS2_TYPE_SPARKLE = 0x1,
|
||||
EFFECT_SS2_TYPE_DELETED_2 = 0x2,
|
||||
EFFECT_SS2_TYPE_BOMB2 = 0x3,
|
||||
EFFECT_SS2_TYPE_BLAST = 0x4,
|
||||
EFFECT_SS2_TYPE_G_SPARK = 0x5,
|
||||
EFFECT_SS2_TYPE_DODONGO_FIRE = 0x6,
|
||||
EFFECT_SS2_TYPE_BUBBLE = 0x7,
|
||||
EFFECT_SS2_TYPE_DELETED_8 = 0x8,
|
||||
EFFECT_SS2_TYPE_G_RIPPLE = 0x9,
|
||||
EFFECT_SS2_TYPE_G_SPLASH = 0xA,
|
||||
EFFECT_SS2_TYPE_DELETED_B = 0xB,
|
||||
EFFECT_SS2_TYPE_G_FIRE = 0xC,
|
||||
EFFECT_SS2_TYPE_LIGHTNING = 0xD,
|
||||
EFFECT_SS2_TYPE_BIG_OCTO_BUBBLE = 0xE,
|
||||
EFFECT_SS2_TYPE_FRAGMENT = 0xF,
|
||||
EFFECT_SS2_TYPE_STICK = 0x10,
|
||||
EFFECT_SS2_TYPE_SPLASH = 0x11,
|
||||
EFFECT_SS2_TYPE_DELETED_12 = 0x12,
|
||||
EFFECT_SS2_TYPE_DELETED_13 = 0x13,
|
||||
EFFECT_SS2_TYPE_STONE1 = 0x14,
|
||||
EFFECT_SS2_TYPE_HIT_MARK = 0x15,
|
||||
EFFECT_SS2_TYPE_PHANTOM_GANON_FLASH = 0x16,
|
||||
EFFECT_SS2_TYPE_KAKARIKO_FIRE = 0x17,
|
||||
EFFECT_SS2_TYPE_SOLDIER_SEARCH_BALL = 0x18,
|
||||
EFFECT_SS2_TYPE_SHARD = 0x19,
|
||||
EFFECT_SS2_TYPE_ICE_PIECE = 0x1A,
|
||||
EFFECT_SS2_TYPE_ENEMY_ICE = 0x1B,
|
||||
EFFECT_SS2_TYPE_FIRE_TAIL = 0x1C,
|
||||
EFFECT_SS2_TYPE_ENEMY_FIRE = 0x1D,
|
||||
EFFECT_SS2_TYPE_EXTRA = 0x1E,
|
||||
EFFECT_SS2_TYPE_DELETED_1F = 0x1F,
|
||||
EFFECT_SS2_TYPE_DEAD_DEKU_BABA = 0x20,
|
||||
EFFECT_SS2_TYPE_DEAD_DODONGO = 0x21,
|
||||
EFFECT_SS2_TYPE_DEAD_DEKU_SCRUB = 0x22,
|
||||
EFFECT_SS2_TYPE_DELETED_23 = 0x23,
|
||||
EFFECT_SS2_TYPE_ICE_SMOKE = 0x24,
|
||||
EFFECT_SS2_TYPE_ICE_BLOCK = 0x25,
|
||||
EFFECT_SS2_TYPE_SBN = 0x26,
|
||||
EFFECT_SS2_TYPE_LAST_LABEL = 0x27
|
||||
} EffectSSType;
|
||||
} EffectSsInfo; // size = 0xC
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ EFFECT_SS_DUST,
|
||||
/* 0x01 */ EFFECT_SS_KIRAKIRA,
|
||||
/* 0x02 */ EFFECT_SS_BOMB,
|
||||
/* 0x02 */ EFFECT_SS_UNSET_02,
|
||||
/* 0x03 */ EFFECT_SS_BOMB2,
|
||||
/* 0x04 */ EFFECT_SS_BLAST,
|
||||
/* 0x05 */ EFFECT_SS_G_SPK,
|
||||
/* 0x06 */ EFFECT_SS_D_FIRE,
|
||||
/* 0x07 */ EFFECT_SS_BUBBLE,
|
||||
/* 0x08 */ EFFECT_SS_UNSET,
|
||||
/* 0x08 */ EFFECT_SS_UNSET_08,
|
||||
/* 0x09 */ EFFECT_SS_G_RIPPLE,
|
||||
/* 0x0A */ EFFECT_SS_G_SPLASH,
|
||||
/* 0x0B */ EFFECT_SS_G_MAGMA,
|
||||
/* 0x0B */ EFFECT_SS_UNSET_0B,
|
||||
/* 0x0C */ EFFECT_SS_G_FIRE,
|
||||
/* 0x0D */ EFFECT_SS_LIGHTNING,
|
||||
/* 0x0E */ EFFECT_SS_DT_BUBBLE,
|
||||
/* 0x0F */ EFFECT_SS_HAHEN,
|
||||
/* 0x10 */ EFFECT_SS_STICK,
|
||||
/* 0x11 */ EFFECT_SS_SIBUKI,
|
||||
/* 0x12 */ EFFECT_SS_SIBUKI2,
|
||||
/* 0x13 */ EFFECT_SS_G_MAGMA2,
|
||||
/* 0x12 */ EFFECT_SS_UNSET_12,
|
||||
/* 0x13 */ EFFECT_SS_UNSET_13,
|
||||
/* 0x14 */ EFFECT_SS_STONE1,
|
||||
/* 0x15 */ EFFECT_SS_HITMARK,
|
||||
/* 0x16 */ EFFECT_SS_FHG_FLASH,
|
||||
|
@ -352,365 +299,15 @@ typedef enum {
|
|||
/* 0x1C */ EFFECT_SS_FIRE_TAIL,
|
||||
/* 0x1D */ EFFECT_SS_EN_FIRE,
|
||||
/* 0x1E */ EFFECT_SS_EXTRA,
|
||||
/* 0x1F */ EFFECT_SS_FCIRCLE,
|
||||
/* 0x1F */ EFFECT_SS_UNSET_1F,
|
||||
/* 0x20 */ EFFECT_SS_DEAD_DB,
|
||||
/* 0x21 */ EFFECT_SS_DEAD_DD,
|
||||
/* 0x22 */ EFFECT_SS_DEAD_DS,
|
||||
/* 0x23 */ EFFECT_SS_DEAD_SOUND,
|
||||
/* 0x23 */ EFFECT_SS_UNSET_23,
|
||||
/* 0x24 */ EFFECT_SS_ICE_SMOKE,
|
||||
/* 0x25 */ EFFECT_SS_ICE_BLOCK
|
||||
/* 0x25 */ EFFECT_EN_ICE_BLOCK,
|
||||
/* 0x26 */ EFFECT_SS_SBN,
|
||||
/* 0x27 */ EFFECT_SS_MAX
|
||||
} EffectSsType;
|
||||
|
||||
/* Init param structs, split into overlay headers when effects folder is made */
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f velocity;
|
||||
/* 0x18 */ Vec3f accel;
|
||||
/* 0x24 */ Color_RGBA8 primColor;
|
||||
/* 0x28 */ Color_RGBA8 envColor;
|
||||
/* 0x2C */ s16 scale;
|
||||
/* 0x2E */ s16 scaleStep;
|
||||
/* 0x30 */ s16 life;
|
||||
/* 0x32 */ u16 drawFlags;
|
||||
/* 0x34 */ u8 updateMode;
|
||||
} EffectSsDustInitParams; // size = 0x38
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f velocity;
|
||||
/* 0x18 */ Vec3f accel;
|
||||
/* 0x24 */ Color_RGBA8 primColor;
|
||||
/* 0x28 */ Color_RGBA8 envColor;
|
||||
/* 0x2C */ s16 alphaStep;
|
||||
/* 0x2E */ s16 scale;
|
||||
/* 0x30 */ s32 life;
|
||||
/* 0x34 */ s16 rotSpeed;
|
||||
/* 0x36 */ s16 yaw;
|
||||
/* 0x38 */ u8 updateMode;
|
||||
} EffectSsKiraKiraInitParams; // size = 0x3C
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f velocity;
|
||||
/* 0x18 */ Vec3f accel;
|
||||
/* 0x24 */ s16 scale;
|
||||
/* 0x26 */ s16 scaleStep;
|
||||
/* 0x28 */ u8 drawMode;
|
||||
} EffectSsBomb2InitParams; // size = 0x30
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f velocity;
|
||||
/* 0x18 */ Vec3f accel;
|
||||
/* 0x24 */ Color_RGBA8 primColor;
|
||||
/* 0x28 */ Color_RGBA8 envColor;
|
||||
/* 0x2C */ s16 scale;
|
||||
/* 0x2E */ s16 scaleStep;
|
||||
/* 0x30 */ s16 sclaeStepDecay;
|
||||
/* 0x32 */ s16 life;
|
||||
} EffectSsBlastInitParams; // size = 0x34
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Actor* actor;
|
||||
/* 0x04 */ Vec3f pos;
|
||||
/* 0x10 */ Vec3f velocity;
|
||||
/* 0x1C */ Vec3f accel;
|
||||
/* 0x28 */ Color_RGBA8 primColor;
|
||||
/* 0x2C */ Color_RGBA8 envColor;
|
||||
/* 0x30 */ s16 scale;
|
||||
/* 0x32 */ s16 scaleStep;
|
||||
/* 0x34 */ u8 updateMode;
|
||||
} EffectSsGSpkInitParams; // size = 0x38
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f velocity;
|
||||
/* 0x18 */ Vec3f accel;
|
||||
/* 0x24 */ s16 scale;
|
||||
/* 0x26 */ s16 scaleStep;
|
||||
/* 0x28 */ s16 alpha;
|
||||
/* 0x2A */ s16 fadeDelay;
|
||||
/* 0x2C */ s32 life;
|
||||
} EffectSsDFireInitParams; // size = 0x30
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ f32 yPosOffset;
|
||||
/* 0x10 */ f32 yPosRandScale;
|
||||
/* 0x14 */ f32 xzPosRandScale;
|
||||
/* 0x18 */ f32 scale;
|
||||
} EffectSsBubbleInitParams; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ s16 radius;
|
||||
/* 0x0E */ s16 radiusMax;
|
||||
/* 0x10 */ s16 life;
|
||||
} EffectSsGRippleInitParams; // size = 0x14
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ u8 type;
|
||||
/* 0x0D */ u8 customColor;
|
||||
/* 0x0E */ s16 scale;
|
||||
/* 0x10 */ Color_RGBA8 primColor;
|
||||
/* 0x14 */ Color_RGBA8 envColor;
|
||||
} EffectSsGSplashInitParams; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
} EffectSsGFireInitParams; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Color_RGBA8 primColor;
|
||||
/* 0x10 */ Color_RGBA8 envColor;
|
||||
/* 0x14 */ s16 scale;
|
||||
/* 0x16 */ s16 yaw;
|
||||
/* 0x18 */ s16 life;
|
||||
/* 0x1A */ s16 numBolts;
|
||||
} EffectSsLightningInitParams; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f velocity;
|
||||
/* 0x18 */ Vec3f accel;
|
||||
/* 0x24 */ Color_RGBA8 primColor;
|
||||
/* 0x28 */ Color_RGBA8 envColor;
|
||||
/* 0x2C */ s16 scale;
|
||||
/* 0x2E */ s16 life;
|
||||
/* 0x30 */ s16 colorProfile;
|
||||
/* 0x32 */ s16 randXZ; // randomly moves in the xz plane if true
|
||||
/* 0x34 */ u8 customColor;
|
||||
} EffectSsDtBubbleInitParams; // size = 0x3C
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f velocity;
|
||||
/* 0x18 */ Vec3f accel;
|
||||
/* 0x24 */ Gfx* dList;
|
||||
/* 0x28 */ s16 unused;
|
||||
/* 0x2A */ s16 scale;
|
||||
/* 0x2C */ s16 objId;
|
||||
/* 0x2C */ s16 life;
|
||||
} EffectSsHahenInitParams; // size = 0x30
|
||||
|
||||
#define HAHEN_OBJECT_DEFAULT -1
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ s16 yaw;
|
||||
} EffectSsStickInitParams; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f velocity;
|
||||
/* 0x18 */ Vec3f accel;
|
||||
/* 0x24 */ s16 moveDelay;
|
||||
/* 0x26 */ s16 direction;
|
||||
/* 0x28 */ s16 scale;
|
||||
} EffectSsSibukiInitParams; // size = 0x2C
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x00 */ s32 unk_C;
|
||||
} EffectSsStone1InitParams; // size = 0x
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 type;
|
||||
/* 0x04 */ s16 scale;
|
||||
/* 0x08 */ Vec3f pos;
|
||||
} EffectSsHitMarkInitParams; // size = 0x14
|
||||
|
||||
typedef enum {
|
||||
EFFECT_HITMARK_WHITE,
|
||||
EFFECT_HITMARK_DUST,
|
||||
EFFECT_HITMARK_RED,
|
||||
EFFECT_HITMARK_METAL
|
||||
} EffectSsHitmarkType;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f velocity;
|
||||
/* 0x18 */ Vec3f accel;
|
||||
/* 0x24 */ s16 scale;
|
||||
/* 0x26 */ u8 param;
|
||||
/* 0x28 */ Actor* actor;
|
||||
/* 0x2C */ u8 type;
|
||||
} EffectSsFhgFlashInitParams; // size = 0x30
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ FHGFLASH_LIGHTBALL,
|
||||
/* 0x01 */ FHGFLASH_SHOCK
|
||||
} FhgFlashType;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ FHGFLASH_LIGHTBALL_GREEN,
|
||||
/* 0x01 */ FHGFLASH_LIGHTBALL_LIGHTBLUE,
|
||||
/* 0x02 */ FHGFLASH_LIGHTBALL_RED,
|
||||
/* 0x03 */ FHGFLASH_LIGHTBALL_YELLOW,
|
||||
/* 0x04 */ FHGFLASH_LIGHTBALL_BLUE,
|
||||
/* 0x05 */ FHGFLASH_LIGHTBALL_PURPLE,
|
||||
/* 0x06 */ FHGFLASH_LIGHTBALL_ORANGE,
|
||||
/* 0x07 */ FHGFLASH_LIGHTBALL_WHITE1,
|
||||
/* 0x08 */ FHGFLASH_LIGHTBALL_WHITE2
|
||||
} FhgFlashLightBallParam;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ FHGFLASH_SHOCK_NO_ACTOR,
|
||||
/* 0x01 */ FHGFLASH_SHOCK_PLAYER,
|
||||
/* 0x02 */ FHGFLASH_SHOCK_PG
|
||||
} FhgFlashLightningParam;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f velocity;
|
||||
/* 0x18 */ Vec3f accel;
|
||||
/* 0x24 */ s16 scaleMax;
|
||||
/* 0x26 */ u8 type;
|
||||
} EffectSsKFireInitParams; // size = 0x28
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f velocity;
|
||||
/* 0x18 */ Vec3f accel;
|
||||
/* 0x24 */ s16 unused;
|
||||
/* 0x28 */ s16* linkDetected;
|
||||
/* 0x2C */ s16 drawFlag;
|
||||
} EffectSsSolderSrchBallInitParams;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f velocity;
|
||||
/* 0x18 */ Vec3f unk_18;
|
||||
/* 0x24 */ s16 gravity;
|
||||
/* 0x26 */ s16 unk_26;
|
||||
/* 0x28 */ s16 unk_28;
|
||||
/* 0x2A */ s16 unk_2A;
|
||||
/* 0x2C */ s16 unk_2C;
|
||||
/* 0x2E */ s16 scale;
|
||||
/* 0x30 */ s16 unk_30;
|
||||
/* 0x32 */ s16 unk_32;
|
||||
/* 0x34 */ s32 life;
|
||||
/* 0x38 */ s16 colorIdx;
|
||||
/* 0x3A */ s16 objId;
|
||||
/* 0x3C */ Gfx* dList;
|
||||
} EffectSsKakeraInitParams; // size = 0x40
|
||||
|
||||
#define KAKERA_OBJECT_DEFAULT -1
|
||||
|
||||
typedef enum {
|
||||
/* -1 */ KAKERA_COLOR_NONE = -1,
|
||||
/* 0 */ KAKERA_COLOR_WHITE,
|
||||
/* 1 */ KAKERA_COLOR_BROWN
|
||||
} KakeraColorIndex;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ f32 scale;
|
||||
/* 0x10 */ Vec3f velocity;
|
||||
/* 0x1C */ Vec3f accel;
|
||||
/* 0x28 */ s32 life;
|
||||
} EffectSsIcePieceInitParams; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Actor* actor;
|
||||
/* 0x04 */ Vec3f pos;
|
||||
/* 0x10 */ f32 scale;
|
||||
/* 0x14 */ Vec3f velocity;
|
||||
/* 0x20 */ Vec3f accel;
|
||||
/* 0x2C */ Color_RGBA8 primColor;
|
||||
/* 0x30 */ Color_RGBA8 envColor;
|
||||
/* 0x34 */ s32 life;
|
||||
/* 0x38 */ s16 type;
|
||||
} EffectSsEnIceInitParams; // size = 0x3C
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Actor* actor;
|
||||
/* 0x04 */ Vec3f pos;
|
||||
/* 0x10 */ f32 scale;
|
||||
/* 0x14 */ Vec3f unk_14;
|
||||
/* 0x20 */ s16 unk_20;
|
||||
/* 0x22 */ Color_RGBA8 primColor;
|
||||
/* 0x26 */ Color_RGBA8 envColor;
|
||||
/* 0x2A */ s16 type;
|
||||
/* 0x2C */ s16 bodyPart;
|
||||
/* 0x30 */ s32 life;
|
||||
} EffectSsFireTailInitParams; // size = 0x34
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Actor* actor;
|
||||
/* 0x04 */ Vec3f pos;
|
||||
/* 0x10 */ s16 scale;
|
||||
/* 0x12 */ s16 unk_12;
|
||||
/* 0x14 */ s16 flags;
|
||||
/* 0x16 */ s16 bodyPart;
|
||||
} EffectSsEnFireInitParams; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f velocity;
|
||||
/* 0x18 */ Vec3f accel;
|
||||
/* 0x24 */ s16 scale;
|
||||
/* 0x26 */ s16 scoreIdx;
|
||||
} EffectSsExtraInitParams; // size = 0x28
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ EXTRA_SCORE_30,
|
||||
/* 1 */ EXTRA_SCORE_60,
|
||||
/* 2 */ EXTRA_SCORE_100
|
||||
} ExtraScoreIdx;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f velocity;
|
||||
/* 0x18 */ Vec3f accel;
|
||||
/* 0x24 */ s16 scale;
|
||||
/* 0x26 */ s16 scaleStep;
|
||||
/* 0x28 */ Color_RGBA8 primColor;
|
||||
/* 0x2C */ Color_RGBA8 envColor;
|
||||
/* 0x30 */ s32 unk_30;
|
||||
} EffectSsDeadDbInitParams; // size = 0x30
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f velocity;
|
||||
/* 0x18 */ Vec3f accel;
|
||||
/* 0x24 */ s16 scale;
|
||||
/* 0x26 */ s16 scaleStep;
|
||||
/* 0x28 */ Color_RGBA8 primColor;
|
||||
/* 0x2C */ Color_RGBA8 envColor;
|
||||
/* 0x30 */ s16 alphaStep;
|
||||
/* 0x34 */ s32 life;
|
||||
/* 0x38 */ f32 randPosScale;
|
||||
/* 0x3C */ s32 randIter;
|
||||
/* 0x40 */ u8 type;
|
||||
} EffectSsDeadDdInitParams; // size = 0x44
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f velocity;
|
||||
/* 0x18 */ Vec3f accel;
|
||||
/* 0x24 */ s16 scale;
|
||||
/* 0x26 */ s16 scaleStep;
|
||||
/* 0x28 */ s16 alpha;
|
||||
/* 0x2C */ s32 life;
|
||||
} EffectSsDeadDsInitParams; // size = 0x30
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f velocity;
|
||||
/* 0x18 */ Vec3f accel;
|
||||
/* 0x24 */ s16 scale;
|
||||
} EffectSsIceSmokeInitParams; // size = 0x28
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Actor* actor;
|
||||
/* 0x04 */ Vec3f pos;
|
||||
/* 0x10 */ Vec3f velocity;
|
||||
/* 0x1C */ Vec3f accel;
|
||||
/* 0x28 */ s16 scale;
|
||||
} EffectSsIceBlockInitParams; // size = 0x2A
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#ifndef _Z64LIGHT_H_
|
||||
#define _Z64LIGHT_H_
|
||||
|
||||
#include <ultra64.h>
|
||||
#include <PR/gbi.h>
|
||||
#include <color.h>
|
||||
#include "ultra64.h"
|
||||
#include "PR/gbi.h"
|
||||
#include "color.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 ambientColor[3];
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef _Z64MATH_H_
|
||||
#define _Z64MATH_H_
|
||||
|
||||
#include <ultra64.h>
|
||||
#include "ultra64.h"
|
||||
|
||||
#define VEC_SET(V,X,Y,Z) V.x=X;V.y=Y;V.z=Z
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include "ultra64.h"
|
||||
#include "z64math.h"
|
||||
#include <os.h>
|
||||
#include "os.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 buttonItems[4][4];
|
||||
|
@ -188,7 +188,7 @@ typedef enum {
|
|||
/* 0x05 */ RESPAWN_MODE_DEKU,
|
||||
/* 0x06 */ RESPAWN_MODE_CHILD_LINK,
|
||||
/* 0x07 */ RESPAWN_MODE_UNK_7,
|
||||
/* 0x07 */ RESPAWN_MODE_UNK_8,
|
||||
/* 0x07 */ RESPAWN_MODE_UNK_8
|
||||
} RespawnMode;
|
||||
|
||||
typedef enum {
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#ifndef _Z64SCENE_H_
|
||||
#define _Z64SCENE_H_
|
||||
|
||||
#include <ultra64.h>
|
||||
#include <z64dma.h>
|
||||
#include <unk.h>
|
||||
#include "ultra64.h"
|
||||
#include "z64dma.h"
|
||||
#include "unk.h"
|
||||
|
||||
#define SPAWN_ROT_FLAGS(rotation, flags) (((rotation) << 7) | (flags))
|
||||
|
||||
|
@ -349,7 +349,6 @@ typedef struct {
|
|||
/* 0xA */ u8 unk_A;
|
||||
/* 0xB */ u8 drawConfig;
|
||||
/* 0xC */ u8 unk_C;
|
||||
/* 0xD */ char pad_D[3];
|
||||
} SceneTableEntry; // size = 0x10;
|
||||
|
||||
typedef struct {
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
#ifndef _Z64_TRANSITION_H_
|
||||
#define _Z64_TRANSITION_H_
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ void* (*init)(void* transition);
|
||||
/* 0x04 */ void (*destroy)(void* transition);
|
||||
/* 0x08 */ void (*update)(void* transition, s32 updateRate);
|
||||
/* 0x0C */ void (*draw)(void* transition, Gfx** gfxP);
|
||||
/* 0x10 */ void (*start)(void* transition);
|
||||
/* 0x14 */ void (*setType)(void* transition, s32 type);
|
||||
/* 0x18 */ void (*setColor)(void* transition, u32 color);
|
||||
/* 0x1C */ void (*setEnvColor)(void* transition, u32 color);
|
||||
/* 0x20 */ s32 (*isDone)(void* transition);
|
||||
} TransitionInit;
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ char unk_0[0xC];
|
||||
} TransitionFade; // size = 0xC
|
||||
|
||||
extern const TransitionInit TransitionFade_InitVars;
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ char unk_0[0x20];
|
||||
} TransitionCircle; // size = 0x20
|
||||
|
||||
extern const TransitionInit TransitionCircle_InitVars;
|
||||
|
||||
#endif
|
File diff suppressed because it is too large
Load Diff
|
@ -1,825 +0,0 @@
|
|||
/* KEEPS */
|
||||
|
||||
/* gameplay_keep (segment 04) */
|
||||
|
||||
D_040008D0 = 0x040008D0;
|
||||
D_0400DEA8 = 0x0400DEA8;
|
||||
D_0400E2A8 = 0x0400E2A8;
|
||||
D_04023210 = 0x04023210;
|
||||
D_0402E510 = 0x0402E510;
|
||||
D_04029CB0 = 0x04029CB0;
|
||||
D_04029CF0 = 0x04029CF0;
|
||||
D_04029CB0 = 0x04029CB0;
|
||||
D_04029CF0 = 0x04029CF0;
|
||||
D_04030100 = 0x04030100;
|
||||
D_040378F0 = 0x040378F0;
|
||||
D_04037DF0 = 0x04037DF0;
|
||||
D_040382F0 = 0x040382F0;
|
||||
D_040387F0 = 0x040387F0;
|
||||
D_04038CF0 = 0x04038CF0;
|
||||
D_040391F0 = 0x040391F0;
|
||||
D_040396F0 = 0x040396F0;
|
||||
D_04039BF0 = 0x04039BF0;
|
||||
D_0403A0F0 = 0x0403A0F0;
|
||||
D_04058BA0 = 0x04058BA0;
|
||||
D_0405AAB0 = 0x0405AAB0;
|
||||
D_0405BEF0 = 0x0405BEF0;
|
||||
D_0405B6F0 = 0x0405B6F0;
|
||||
D_0405C6F0 = 0x0405C6F0;
|
||||
D_0405CEF0 = 0x0405CEF0;
|
||||
D_0405E6F0 = 0x0405E6F0;
|
||||
D_0405F6F0 = 0x0405F6F0;
|
||||
D_0405F7C0 = 0x0405F7C0;
|
||||
D_0405FFC0 = 0x0405FFC0;
|
||||
D_040607C0 = 0x040607C0;
|
||||
D_04060FC0 = 0x04060FC0;
|
||||
D_040617C0 = 0x040617C0;
|
||||
D_04061FC0 = 0x04061FC0;
|
||||
D_04061FE0 = 0x04061FE0;
|
||||
D_04062000 = 0x04062000;
|
||||
D_04062020 = 0x04062020;
|
||||
D_04062040 = 0x04062040;
|
||||
D_04062060 = 0x04062060;
|
||||
D_040622C0 = 0x040622C0;
|
||||
D_04076BC0 = 0x04076BC0;
|
||||
D_04075A40 = 0x04075A40;
|
||||
D_04077480 = 0x04077480;
|
||||
D_04075B30 = 0x04075B30;
|
||||
D_0408DBE0 = 0x0408DBE0;
|
||||
D_0408DFE0 = 0x0408DFE0;
|
||||
D_0408E3E0 = 0x0408E3E0;
|
||||
D_0408E7E0 = 0x0408E7E0;
|
||||
D_0408EBE0 = 0x0408EBE0;
|
||||
D_0408EFE0 = 0x0408EFE0;
|
||||
D_0408F3E0 = 0x0408F3E0;
|
||||
D_0408F7E0 = 0x0408F7E0;
|
||||
D_0401F740 = 0x0401F740;
|
||||
D_0401F7C0 = 0x0401F7C0;
|
||||
D_0401F8C0 = 0x0401F8C0;
|
||||
|
||||
/* gameplay_dangeon_keep (segment 05) */
|
||||
D_05018090 = 0x05018090;
|
||||
D_05017EA0 = 0x05017EA0;
|
||||
D_0501D980 = 0x0501D980;
|
||||
D_050219E0 = 0x050219E0;
|
||||
|
||||
/* gameplay_field_keep (segment 05) */
|
||||
D_05000C40 = 0x05000C40;
|
||||
|
||||
|
||||
/* CODE */
|
||||
|
||||
/* z_en_item00 */
|
||||
D_06001290 = 0x06001290;
|
||||
D_06001470 = 0x06001470;
|
||||
|
||||
/* z_rcp */
|
||||
D_0E000048 = 0x0E000048;
|
||||
D_0E000088 = 0x0E000088;
|
||||
D_0E000140 = 0x0E000140;
|
||||
D_0E0001C8 = 0x0E0001C8;
|
||||
D_0E0002C8 = 0x0E0002C8;
|
||||
|
||||
|
||||
/* OVERLAYS */
|
||||
|
||||
/* z_arms_hook */
|
||||
D_0601D960 = 0x0601D960;
|
||||
|
||||
/* z_bg_ctower_gear */
|
||||
D_06010828 = 0x06010828;
|
||||
D_06015F30 = 0x06015F30;
|
||||
D_060160A0 = 0x060160A0;
|
||||
D_06016E70 = 0x06016E70;
|
||||
D_06017018 = 0x06017018;
|
||||
D_06018118 = 0x06018118;
|
||||
D_06018588 = 0x06018588;
|
||||
|
||||
/* z_bg_ctower_rot */
|
||||
D_060129D0 = 0x060129D0;
|
||||
D_06012DA0 = 0x06012DA0;
|
||||
D_060142E8 = 0x060142E8;
|
||||
D_06017220 = 0x06017220;
|
||||
D_06017410 = 0x06017410;
|
||||
D_060174E0 = 0x060174E0;
|
||||
D_06017650 = 0x06017650;
|
||||
|
||||
/* z_bg_fu_kaiten */
|
||||
object_fu_kaiten_0005D0 = 0x060005D0;
|
||||
object_fu_kaiten_002D30 = 0x06002D30;
|
||||
|
||||
/* z_bg_haka_curtain */
|
||||
D_06001410 = 0x06001410;
|
||||
D_06001588 = 0x06001588;
|
||||
|
||||
/* z_bg_haka_tomb */
|
||||
D_060007B0 = 0x060007B0;
|
||||
D_06000EE8 = 0x06000EE8;
|
||||
|
||||
/* z_bg_icicle */
|
||||
D_060000D0 = 0x060000D0;
|
||||
D_06000294 = 0x06000294;
|
||||
|
||||
/* z_bg_ikana_ray */
|
||||
object_ikana_obj_001100 = 0x06001100;
|
||||
object_ikana_obj_001228 = 0x06001228;
|
||||
|
||||
/* z_bg_ikana_shutter */
|
||||
D_06000F28 = 0x06000F28;
|
||||
D_06000CE8 = 0x06000CE8;
|
||||
|
||||
/* z_bg_iknin_susceil */
|
||||
D_0600CBAC = 0x0600CBAC;
|
||||
D_0600C670 = 0x0600C670;
|
||||
D_0600C308 = 0x0600C308;
|
||||
|
||||
/* z_bg_iknv_obj */
|
||||
D_060119D4 = 0x060119D4;
|
||||
D_06012CA4 = 0x06012CA4;
|
||||
D_06011880 = 0x06011880;
|
||||
D_060129C8 = 0x060129C8;
|
||||
D_06013058 = 0x06013058;
|
||||
|
||||
/* z_bg_keikoku_spr */
|
||||
D_06000100 = 0x06000100;
|
||||
D_060001F8 = 0x060001F8;
|
||||
D_06000300 = 0x06000300;
|
||||
D_060003F8 = 0x060003F8;
|
||||
D_06000500 = 0x06000500;
|
||||
D_060005F8 = 0x060005F8;
|
||||
|
||||
/* z_bg_kin2_fence */
|
||||
D_06000828 = 0x06000828;
|
||||
D_06000908 = 0x06000908;
|
||||
|
||||
/* z_bg_ladder */
|
||||
D_060000A0 = 0x060000A0;
|
||||
D_060001D8 = 0x060001D8;
|
||||
D_060002D0 = 0x060002D0;
|
||||
D_06000408 = 0x06000408;
|
||||
D_06000500 = 0x06000500;
|
||||
D_06000638 = 0x06000638;
|
||||
D_06000730 = 0x06000730;
|
||||
D_06000868 = 0x06000868;
|
||||
|
||||
/* z_bg_lbfshot */
|
||||
D_060014D8 = 0x060014D8;
|
||||
D_06000228 = 0x06000228;
|
||||
|
||||
/* z_bg_lotus */
|
||||
D_06000A20 = 0x06000A20;
|
||||
D_06000040 = 0x06000040;
|
||||
|
||||
/* z_bg_market_step */
|
||||
D_0601F050 = 0x0601F050;
|
||||
D_06018DA0 = 0x06018DA0;
|
||||
D_0601EF10 = 0x0601EF10;
|
||||
D_06018C60 = 0x06018C60;
|
||||
|
||||
/* z_bg_mbar */
|
||||
D_06000288 = 0x06000288;
|
||||
D_060019B4 = 0x060019B4;
|
||||
|
||||
/* z_bg_tobira01 */
|
||||
D_060011C0 = 0x060011C0;
|
||||
D_06000088 = 0x06000088;
|
||||
|
||||
/* dm_char07 */
|
||||
D_06000100 = 0x06000100;
|
||||
D_06000240 = 0x06000240;
|
||||
D_06000650 = 0x06000650;
|
||||
D_06000790 = 0x06000790;
|
||||
D_06000B80 = 0x06000B80;
|
||||
D_06000CC0 = 0x06000CC0;
|
||||
D_060010D0 = 0x060010D0;
|
||||
D_06001210 = 0x06001210;
|
||||
D_060015E0 = 0x060015E0;
|
||||
D_060016B8 = 0x060016B8;
|
||||
D_06002BA0 = 0x06002BA0;
|
||||
D_06002CD0 = 0x06002CD0;
|
||||
D_06006688 = 0x06006688;
|
||||
D_060076A0 = 0x060076A0;
|
||||
D_06007918 = 0x06007918;
|
||||
D_060105F8 = 0x060105F8;
|
||||
D_06010D68 = 0x06010D68;
|
||||
|
||||
/* z_dm_nb */
|
||||
D_06000990 = 0x06000990;
|
||||
D_06008C40 = 0x06008C40;
|
||||
|
||||
/* z_dm_sa */
|
||||
D_06013328 = 0x06013328;
|
||||
D_0600CC94 = 0x0600CC94;
|
||||
|
||||
/* z_dm_statue */
|
||||
D_06001788 = 0x06001788;
|
||||
D_06000520 = 0x06000520;
|
||||
|
||||
|
||||
/* z_door_spiral */
|
||||
/* these are symbols from other objects based on the type of door */
|
||||
D_06000590 = 0x06000590;
|
||||
D_060007A8 = 0x060007A8;
|
||||
D_06000EA0 = 0x06000EA0;
|
||||
D_060012C0 = 0x060012C0;
|
||||
D_060014C8 = 0x060014C8;
|
||||
D_06002110 = 0x06002110;
|
||||
D_06004448 = 0x06004448;
|
||||
D_060051B8 = 0x060051B8;
|
||||
D_06006128 = 0x06006128;
|
||||
D_06009278 = 0x06009278;
|
||||
D_06012B70 = 0x06012B70;
|
||||
D_06013EA8 = 0x06013EA8;
|
||||
|
||||
/* z_eff_dust */
|
||||
D_04054A90 = 0x04054A90;
|
||||
|
||||
/* z_en_baisen */
|
||||
D_060011C0 = 0x060011C0;
|
||||
D_060008B4 = 0x060008B4;
|
||||
D_06008198 = 0x06008198;
|
||||
|
||||
/* z_en_bji_01 */
|
||||
D_06000FDC = 0x06000FDC;
|
||||
D_06005B58 = 0x06005B58;
|
||||
D_06000AB0 = 0x06000AB0;
|
||||
D_0600066C = 0x0600066C;
|
||||
D_060049F0 = 0x060049F0;
|
||||
D_06004E70 = 0x06004E70;
|
||||
D_06005270 = 0x06005270;
|
||||
D_0600578C = 0x0600578C;
|
||||
|
||||
/* z_en_cha */
|
||||
D_06000710 = 0x06000710;
|
||||
D_06000958 = 0x06000958;
|
||||
|
||||
/* z_en_dy_extra */
|
||||
D_0600DD40 = 0x0600DD40;
|
||||
D_0600DEF0 = 0x0600DEF0;
|
||||
|
||||
/* z_en_encount2 */
|
||||
D_06000A00 = 0x6000A00;
|
||||
D_06000D78 = 0x6000D78;
|
||||
D_06002420 = 0x6002420;
|
||||
|
||||
/* z_en_ending_hero */
|
||||
D_0600B0CC = 0x0600B0CC;
|
||||
D_06000BE0 = 0x06000BE0;
|
||||
D_06007350 = 0x06007350;
|
||||
D_06009590 = 0x06009590;
|
||||
D_06009F90 = 0x06009F90;
|
||||
D_0600A790 = 0x0600A790;
|
||||
D_0600AB90 = 0x0600AB90;
|
||||
D_06007750 = 0x06007750;
|
||||
D_0600A390 = 0x0600A390;
|
||||
D_0600A490 = 0x0600A490;
|
||||
|
||||
/* z_en_ending_hero2 */
|
||||
D_06007908 = 0x06007908;
|
||||
D_060011C0 = 0x060011C0;
|
||||
|
||||
/* z_en_ending_hero3 */
|
||||
D_06007150 = 0x06007150;
|
||||
D_06000E50 = 0x06000E50;
|
||||
|
||||
/* z_en_ending_hero4 */
|
||||
D_0600D640 = 0x0600D640;
|
||||
D_06002A84 = 0x06002A84;
|
||||
|
||||
/* z_en_ending_hero5 */
|
||||
D_0600A850 = 0x0600A850;
|
||||
D_06002FA0 = 0x06002FA0;
|
||||
D_060070C0 = 0x060070C0;
|
||||
D_06006FB0 = 0x06006FB0;
|
||||
D_06006E80 = 0x06006E80;
|
||||
D_06006D70 = 0x06006D70;
|
||||
D_0600A390 = 0x0600A390;
|
||||
|
||||
/* z_en_fg */
|
||||
D_06001534 = 0x06001534;
|
||||
D_060011C0 = 0x060011C0;
|
||||
D_060007BC = 0x060007BC;
|
||||
D_060059A0 = 0x060059A0;
|
||||
D_0600B328 = 0x0600B328;
|
||||
D_0600B338 = 0x0600B338;
|
||||
D_0600B538 = 0x0600B538;
|
||||
|
||||
/* z_en_firefly */
|
||||
D_060018B8 = 0x060018B8;
|
||||
D_0600017C = 0x0600017C;
|
||||
D_06001678 = 0x06001678;
|
||||
|
||||
/* z_en_fsn */
|
||||
D_06012C34 = 0x06012C34;
|
||||
D_06013320 = 0x06013320;
|
||||
D_060131FC = 0x060131FC;
|
||||
D_0600C58C = 0x0600C58C;
|
||||
D_0600E3EC = 0x0600E3EC;
|
||||
D_0600F00C = 0x0600F00C;
|
||||
D_0600CB3C = 0x0600CB3C;
|
||||
D_0600D354 = 0x0600D354;
|
||||
D_060138B0 = 0x060138B0;
|
||||
D_0601430C = 0x0601430C;
|
||||
D_0600B9D8 = 0x0600B9D8;
|
||||
D_0600C26C = 0x0600C26C;
|
||||
D_0600DE34 = 0x0600DE34;
|
||||
D_06005BC0 = 0x06005BC0;
|
||||
D_06006D40 = 0x06006D40;
|
||||
D_06007140 = 0x06007140;
|
||||
D_0600F180 = 0x0600F180;
|
||||
D_0600F218 = 0x0600F218;
|
||||
|
||||
/* z_en_ginko_man */
|
||||
object_ginko_skeleton = 0x0600C240;
|
||||
object_ginko_limb15_dlist = 0x0600B1D8;
|
||||
object_ginko_sitting_anim = 0x060043F0;
|
||||
object_ginko_stamp_reach_anim = 0x06004F40;
|
||||
object_ginko_floorsmacking_anim = 0x060008C0;
|
||||
object_ginko_amazed_anim = 0x06004A7C;
|
||||
object_ginko_advertising_anim = 0x06000AC4;
|
||||
|
||||
/* z_en_guruguru */
|
||||
D_06006C90 = 0x06006C90;
|
||||
D_06000B04 = 0x06000B04;
|
||||
D_0600057C = 0x0600057C;
|
||||
D_06005F20 = 0x06005F20;
|
||||
D_06006320 = 0x06006320;
|
||||
D_06006720 = 0x06006720;
|
||||
D_06006920 = 0x06006920;
|
||||
|
||||
/* z_en_hg */
|
||||
D_06008580 = 0x06008580;
|
||||
D_0600260C = 0x0600260C;
|
||||
D_06005E28 = 0x06005E28;
|
||||
D_06009D44 = 0x06009D44;
|
||||
D_0600A164 = 0x0600A164;
|
||||
D_06000370 = 0x06000370;
|
||||
D_06001138 = 0x06001138;
|
||||
D_060015D4 = 0x060015D4;
|
||||
D_06001960 = 0x06001960;
|
||||
D_0600AE1C = 0x0600AE1C;
|
||||
|
||||
/* z_en_in */
|
||||
D_06014EA8 = 0x06014EA8;
|
||||
D_06015E38 = 0x06015E38;
|
||||
D_06016484 = 0x06016484;
|
||||
D_06016A60 = 0x06016A60;
|
||||
D_060170DC = 0x060170DC;
|
||||
D_060177AC = 0x060177AC;
|
||||
D_06018240 = 0x06018240;
|
||||
D_060187C8 = 0x060187C8;
|
||||
D_060198A8 = 0x060198A8;
|
||||
D_06007A70 = 0x06007A70;
|
||||
D_06007C48 = 0x06007C48;
|
||||
D_0601C528 = 0x0601C528;
|
||||
D_06001C30 = 0x06001C30;
|
||||
D_06003520 = 0x06003520;
|
||||
D_060035E0 = 0x060035E0;
|
||||
D_06004820 = 0x06004820;
|
||||
D_06004C20 = 0x06004C20;
|
||||
D_060043E0 = 0x060043E0;
|
||||
D_06001D10 = 0x06001D10;
|
||||
D_06014F8C = 0x06014F8C;
|
||||
D_06000CB0 = 0x06000CB0;
|
||||
D_060003B4 = 0x060003B4;
|
||||
D_06001BE0 = 0x06001BE0;
|
||||
D_06015918 = 0x06015918;
|
||||
D_0601C0B0 = 0x0601C0B0;
|
||||
D_0601A140 = 0x0601A140;
|
||||
D_0601B904 = 0x0601B904;
|
||||
D_0601B3C4 = 0x0601B3C4;
|
||||
D_06019EB4 = 0x06019EB4;
|
||||
D_06014C30 = 0x06014C30;
|
||||
D_060138D0 = 0x060138D0;
|
||||
D_060149A8 = 0x060149A8;
|
||||
D_06014710 = 0x06014710;
|
||||
D_06013DE0 = 0x06013DE0;
|
||||
D_06014420 = 0x06014420;
|
||||
D_06014040 = 0x06014040;
|
||||
D_06013A00 = 0x06013A00;
|
||||
D_06013440 = 0x06013440;
|
||||
D_06013670 = 0x06013670;
|
||||
D_060145D8 = 0x060145D8;
|
||||
D_06013F10 = 0x06013F10;
|
||||
D_06013540 = 0x06013540;
|
||||
D_06012DF8 = 0x06012DF8;
|
||||
D_06014AE0 = 0x06014AE0;
|
||||
D_06012A78 = 0x06012A78;
|
||||
D_060137A0 = 0x060137A0;
|
||||
D_06014860 = 0x06014860;
|
||||
|
||||
/* z_en_invadepoh */
|
||||
D_06000080 = 0x06000080;
|
||||
D_06000550 = 0x06000550;
|
||||
D_06000560 = 0x06000560;
|
||||
D_06000608 = 0x06000608;
|
||||
D_060006C8 = 0x060006C8;
|
||||
D_06000720 = 0x06000720;
|
||||
D_06000998 = 0x06000998;
|
||||
D_06001560 = 0x06001560;
|
||||
D_06001674 = 0x06001674;
|
||||
D_06001BD8 = 0x06001BD8;
|
||||
D_06001D80 = 0x06001D80;
|
||||
D_060021C8 = 0x060021C8;
|
||||
D_06002A8C = 0x06002A8C;
|
||||
D_06004010 = 0x06004010;
|
||||
D_06004264 = 0x06004264;
|
||||
D_06004C30 = 0x06004C30;
|
||||
D_06004E50 = 0x06004E50;
|
||||
D_06004E98 = 0x06004E98;
|
||||
D_06007328 = 0x06007328;
|
||||
D_060080F0 = 0x060080F0;
|
||||
D_06009E58 = 0x06009E58;
|
||||
D_0600A174 = 0x0600A174;
|
||||
D_0600FFC8 = 0x0600FFC8;
|
||||
D_060107C8 = 0x060107C8;
|
||||
D_06010FC8 = 0x06010FC8;
|
||||
D_060117C8 = 0x060117C8;
|
||||
D_06011AD8 = 0x06011AD8;
|
||||
D_06011FC8 = 0x06011FC8;
|
||||
D_060122D8 = 0x060122D8;
|
||||
D_060127C8 = 0x060127C8;
|
||||
D_06012AD8 = 0x06012AD8;
|
||||
D_06012BC8 = 0x06012BC8;
|
||||
D_06012FC8 = 0x06012FC8;
|
||||
D_060132D8 = 0x060132D8;
|
||||
D_060133C8 = 0x060133C8;
|
||||
D_06013928 = 0x06013928;
|
||||
D_06013AD8 = 0x06013AD8;
|
||||
D_06014088 = 0x06014088;
|
||||
D_060142D8 = 0x060142D8;
|
||||
D_06014AD8 = 0x06014AD8;
|
||||
D_06014ED8 = 0x06014ED8;
|
||||
D_060152D8 = 0x060152D8;
|
||||
D_06015C28 = 0x06015C28;
|
||||
D_060156D8 = 0x060156D8;
|
||||
D_06016720 = 0x06016720;
|
||||
|
||||
/* z_en_jc_mato */
|
||||
D_06000390 = 0x06000390;
|
||||
|
||||
/* z_en_ma_yto */
|
||||
D_06007E28 = 0x06007E28;
|
||||
D_06003D54 = 0x06003D54;
|
||||
D_0600A174 = 0x0600A174;
|
||||
D_060070EC = 0x060070EC;
|
||||
D_06003D54 = 0x06003D54;
|
||||
D_06015C28 = 0x06015C28;
|
||||
D_06005430 = 0x06005430;
|
||||
D_0600AF7C = 0x0600AF7C;
|
||||
D_06014AD8 = 0x06014AD8;
|
||||
D_06014ED8 = 0x06014ED8;
|
||||
D_060152D8 = 0x060152D8;
|
||||
D_060156D8 = 0x060156D8;
|
||||
D_06001FD0 = 0x06001FD0;
|
||||
D_06014AD8 = 0x06014AD8;
|
||||
D_06014ED8 = 0x06014ED8;
|
||||
D_060152D8 = 0x060152D8;
|
||||
D_060156D8 = 0x060156D8;
|
||||
D_06011AD8 = 0x06011AD8;
|
||||
D_060122D8 = 0x060122D8;
|
||||
D_06012AD8 = 0x06012AD8;
|
||||
D_060132D8 = 0x060132D8;
|
||||
D_06013AD8 = 0x06013AD8;
|
||||
D_060142D8 = 0x060142D8;
|
||||
D_0600A174 = 0x0600A174;
|
||||
D_0600AF7C = 0x0600AF7C;
|
||||
D_06000CC0 = 0x06000CC0;
|
||||
D_06016720 = 0x06016720;
|
||||
D_06005314 = 0x06005314;
|
||||
D_060093E8 = 0x060093E8;
|
||||
D_06007E28 = 0x06007E28;
|
||||
D_060070EC = 0x060070EC;
|
||||
D_06003D54 = 0x06003D54;
|
||||
D_06001FD0 = 0x06001FD0;
|
||||
D_060030B4 = 0x060030B4;
|
||||
D_06004370 = 0x06004370;
|
||||
|
||||
/* z_en_ma_yts */
|
||||
D_06009E58 = 0x06009E58;
|
||||
D_06007D98 = 0x06007D98;
|
||||
D_060003B0 = 0x060003B0;
|
||||
D_060043A0 = 0x060043A0;
|
||||
D_06013928 = 0x06013928;
|
||||
D_06009E58 = 0x06009E58;
|
||||
D_06009E58 = 0x06009E58;
|
||||
D_06018948 = 0x06018948;
|
||||
D_06018948 = 0x06018948;
|
||||
D_0601B76C = 0x0601B76C;
|
||||
D_0601B76C = 0x0601B76C;
|
||||
D_06007328 = 0x06007328;
|
||||
D_06007328 = 0x06007328;
|
||||
D_06014088 = 0x06014088;
|
||||
D_06014088 = 0x06014088;
|
||||
D_06002A8C = 0x06002A8C;
|
||||
D_06002A8C = 0x06002A8C;
|
||||
D_06015B7C = 0x06015B7C;
|
||||
D_06015B7C = 0x06015B7C;
|
||||
D_06007D98 = 0x06007D98;
|
||||
D_06007D98 = 0x06007D98;
|
||||
D_0600852C = 0x0600852C;
|
||||
D_0600852C = 0x0600852C;
|
||||
D_06008F6C = 0x06008F6C;
|
||||
D_06008F6C = 0x06008F6C;
|
||||
D_060180DC = 0x060180DC;
|
||||
D_060180DC = 0x060180DC;
|
||||
D_060127C8 = 0x060127C8;
|
||||
D_06012BC8 = 0x06012BC8;
|
||||
D_06012FC8 = 0x06012FC8;
|
||||
D_060133C8 = 0x060133C8;
|
||||
D_0600FFC8 = 0x0600FFC8;
|
||||
D_060107C8 = 0x060107C8;
|
||||
D_06010FC8 = 0x06010FC8;
|
||||
D_060117C8 = 0x060117C8;
|
||||
D_06011FC8 = 0x06011FC8;
|
||||
|
||||
/* z_en_ma4 */
|
||||
D_060003B0 = 0x060003B0;
|
||||
D_06007328 = 0x06007328;
|
||||
D_06002A8C = 0x06002A8C;
|
||||
D_06015B7C = 0x06015B7C;
|
||||
D_06013928 = 0x06013928;
|
||||
D_0600FFC8 = 0x0600FFC8;
|
||||
D_060107C8 = 0x060107C8;
|
||||
D_06010FC8 = 0x06010FC8;
|
||||
D_060117C8 = 0x060117C8;
|
||||
D_06011FC8 = 0x06011FC8;
|
||||
D_060127C8 = 0x060127C8;
|
||||
D_06012BC8 = 0x06012BC8;
|
||||
D_06012FC8 = 0x06012FC8;
|
||||
D_060133C8 = 0x060133C8;
|
||||
D_06009E58 = 0x06009E58;
|
||||
D_06002A8C = 0x06002A8C;
|
||||
D_06018948 = 0x06018948;
|
||||
D_0601B76C = 0x0601B76C;
|
||||
D_06007328 = 0x06007328;
|
||||
D_06014088 = 0x06014088;
|
||||
D_06015B7C = 0x06015B7C;
|
||||
D_06007D98 = 0x06007D98;
|
||||
D_0600852C = 0x0600852C;
|
||||
D_06008F6C = 0x06008F6C;
|
||||
|
||||
/* z_en_minifrog */
|
||||
D_060007BC = 0x060007BC;
|
||||
D_06001534 = 0x06001534;
|
||||
D_060059A0 = 0x060059A0;
|
||||
D_06005BA0 = 0x06005BA0;
|
||||
D_0600B538 = 0x0600B538;
|
||||
|
||||
/* en_niw */
|
||||
D_060000E8 = 0x060000E8;
|
||||
D_060023B0 = 0x060023B0;
|
||||
D_06002428 = 0x06002428;
|
||||
D_06002530 = 0x06002530;
|
||||
|
||||
/* z_en_nnh */
|
||||
D_06001510 = 0x06001510;
|
||||
|
||||
/* z_en_ossan */
|
||||
D_06013320 = 0x06013320;
|
||||
D_06012C34 = 0x06012C34;
|
||||
D_060028A0 = 0x060028A0;
|
||||
D_06009D34 = 0x06009D34;
|
||||
D_0600CB3C = 0x0600CB3C;
|
||||
D_0600DE34 = 0x0600DE34;
|
||||
D_0600E3EC = 0x0600E3EC;
|
||||
D_0600C58C = 0x0600C58C;
|
||||
D_0600F00C = 0x0600F00C;
|
||||
D_0600B9D8 = 0x0600B9D8;
|
||||
D_0600C26C = 0x0600C26C;
|
||||
D_0600D354 = 0x0600D354;
|
||||
D_060131FC = 0x060131FC;
|
||||
D_0601430C = 0x0601430C;
|
||||
D_060138B0 = 0x060138B0;
|
||||
D_0600A460 = 0x0600A460;
|
||||
D_06006498 = 0x06006498;
|
||||
D_06007140 = 0x06007140;
|
||||
D_06006D40 = 0x06006D40;
|
||||
D_06005BC0 = 0x06005BC0;
|
||||
D_06006F18 = 0x06006F18;
|
||||
D_06006B18 = 0x06006B18;
|
||||
|
||||
/* z_en_pamera */
|
||||
D_06008448 = 0x06008448;
|
||||
D_060005BC = 0x060005BC;
|
||||
D_06008AE0 = 0x06008AE0;
|
||||
D_06008E38 = 0x06008E38;
|
||||
D_0600A844 = 0x0600A844;
|
||||
D_0600B0C4 = 0x0600B0C4;
|
||||
D_06009870 = 0x06009870;
|
||||
D_06009F54 = 0x06009F54;
|
||||
D_0600B5B0 = 0x0600B5B0;
|
||||
D_0600BCC4 = 0x0600BCC4;
|
||||
D_0600D9DC = 0x0600D9DC;
|
||||
D_0600E16C = 0x0600E16C;
|
||||
D_0600C9F4 = 0x0600C9F4;
|
||||
D_0600D0F0 = 0x0600D0F0;
|
||||
D_060074E8 = 0x060074E8;
|
||||
D_060078E8 = 0x060078E8;
|
||||
D_060066E8 = 0x060066E8;
|
||||
D_06006AE8 = 0x06006AE8;
|
||||
D_06006EE8 = 0x06006EE8;
|
||||
D_060072E8 = 0x060072E8;
|
||||
D_060073E8 = 0x060073E8;
|
||||
|
||||
/* z_en_pametfrog */
|
||||
D_06000994 = 0x06000994;
|
||||
D_06001B08 = 0x06001B08;
|
||||
D_06001E14 = 0x06001E14;
|
||||
D_06001F20 = 0x06001F20;
|
||||
D_060030E4 = 0x060030E4;
|
||||
D_0600347C = 0x0600347C;
|
||||
D_060039C4 = 0x060039C4;
|
||||
D_06003F28 = 0x06003F28;
|
||||
D_06004298 = 0x06004298;
|
||||
D_06004680 = 0x06004680;
|
||||
D_06004894 = 0x06004894;
|
||||
D_06004D50 = 0x06004D50;
|
||||
D_060050B8 = 0x060050B8;
|
||||
D_060052EC = 0x060052EC;
|
||||
D_06005694 = 0x06005694;
|
||||
D_06005D54 = 0x06005D54;
|
||||
D_060066B4 = 0x060066B4;
|
||||
D_060070C4 = 0x060070C4;
|
||||
D_0600DF98 = 0x0600DF98;
|
||||
D_0600F990 = 0x0600F990;
|
||||
D_0600F048 = 0x0600F048;
|
||||
|
||||
/* z_en_po_fusen */
|
||||
D_06000040 = 0x06000040;
|
||||
D_060024F0 = 0x060024F0;
|
||||
|
||||
/* z_en_rsn */
|
||||
D_06009220 = 0x06009220;
|
||||
D_06009120 = 0x06009120;
|
||||
D_06005458 = 0x06005458;
|
||||
D_0600788C = 0x0600788C;
|
||||
|
||||
/* z_en_sb */
|
||||
D_06000194 = 0x06000194;
|
||||
D_0600004C = 0x0600004C;
|
||||
D_06000124 = 0x06000124;
|
||||
D_06002C8C = 0x06002C8C;
|
||||
D_060000B4 = 0x060000B4;
|
||||
D_06002BF0 = 0x06002BF0;
|
||||
|
||||
/* z_en_sob1 */
|
||||
D_06008268 = 0x06008268;
|
||||
D_0600D208 = 0x0600D208;
|
||||
D_0600078C = 0x0600078C;
|
||||
D_06011AC8 = 0x06011AC8;
|
||||
D_060000FC = 0x060000FC;
|
||||
D_06000970 = 0x06000970;
|
||||
D_060087BC = 0x060087BC;
|
||||
D_060050A0 = 0x060050A0;
|
||||
D_060058A0 = 0x060058A0;
|
||||
D_060060A0 = 0x060060A0;
|
||||
D_06010438 = 0x06010438;
|
||||
D_06010C38 = 0x06010C38;
|
||||
D_06011038 = 0x06011038;
|
||||
|
||||
/* z_en_suttari */
|
||||
D_0600C240 = 0x0600C240;
|
||||
D_0600071C = 0x0600071C;
|
||||
D_060128F4 = 0x060128F4;
|
||||
D_06011F84 = 0x06011F84;
|
||||
D_06012E84 = 0x06012E84;
|
||||
D_0601139C = 0x0601139C;
|
||||
D_06011C38 = 0x06011C38;
|
||||
D_06010BDC = 0x06010BDC;
|
||||
D_0600AF90 = 0x0600AF90;
|
||||
D_06013380 = 0x06013380;
|
||||
|
||||
/* z_en_torch2 */
|
||||
D_0401C430 = 0x0401C430;
|
||||
D_04048DF0 = 0x04048DF0;
|
||||
D_04057B10 = 0x04057B10;
|
||||
D_04089070 = 0x04089070;
|
||||
|
||||
/* z_en_toto */
|
||||
D_06000C80 = 0x06000C80;
|
||||
D_06001324 = 0x06001324;
|
||||
D_060016A4 = 0x060016A4;
|
||||
D_06001DF0 = 0x06001DF0;
|
||||
D_060022C8 = 0x060022C8;
|
||||
D_060028B8 = 0x060028B8;
|
||||
D_06002F20 = 0x06002F20;
|
||||
D_06003AA8 = 0x06003AA8;
|
||||
D_06008AE8 = 0x06008AE8;
|
||||
D_0600A068 = 0x0600A068;
|
||||
D_0600A468 = 0x0600A468;
|
||||
D_0600A978 = 0x0600A978;
|
||||
D_0600B3E0 = 0x0600B3E0;
|
||||
D_0600B894 = 0x0600B894;
|
||||
D_0600BC08 = 0x0600BC08;
|
||||
D_0600C880 = 0x0600C880;
|
||||
|
||||
/* z_en_trt */
|
||||
D_0600FEF0 = 0x0600FEF0;
|
||||
D_0600FD34 = 0x0600FD34;
|
||||
D_0600DE68 = 0x0600DE68;
|
||||
D_06002224 = 0x06002224;
|
||||
D_06001EF4 = 0x06001EF4;
|
||||
D_060030EC = 0x060030EC;
|
||||
D_0600D52C = 0x0600D52C;
|
||||
D_06002CB0 = 0x06002CB0;
|
||||
D_0600EE98 = 0x0600EE98;
|
||||
D_06003D78 = 0x06003D78;
|
||||
D_06000A44 = 0x06000A44;
|
||||
D_0600B0B8 = 0x0600B0B8;
|
||||
D_0600B8B8 = 0x0600B8B8;
|
||||
D_0600C0B8 = 0x0600C0B8;
|
||||
|
||||
/* z_en_warp_uzu */
|
||||
D_06000EC0 = 0x06000EC0;
|
||||
|
||||
/* z_item_b_heart */
|
||||
D_06001290 = 0x06001290;
|
||||
D_06001470 = 0x06001470;
|
||||
|
||||
/* z_obj_bell */
|
||||
D_06001BA8 = 0x06001BA8;
|
||||
D_06000840 = 0x06000840;
|
||||
D_06000570 = 0x06000570;
|
||||
D_06000698 = 0x06000698;
|
||||
D_060008D0 = 0x060008D0;
|
||||
D_06000960 = 0x06000960;
|
||||
D_060007A8 = 0x060007A8;
|
||||
|
||||
/* z_obj_boyo */
|
||||
D_06000300 = 0x06000300;
|
||||
D_06000E88 = 0x06000E88;
|
||||
|
||||
/* z_obj_dinner */
|
||||
D_060011E0 = 0x060011E0;
|
||||
|
||||
/* z_obj_ending */
|
||||
D_060003D0 = 0x060003D0;
|
||||
D_060031A0 = 0x060031A0;
|
||||
D_06003440 = 0x06003440;
|
||||
D_06001FF8 = 0x06001FF8;
|
||||
|
||||
/* z_obj_funen */
|
||||
D_060000D0 = 0x060000D0;
|
||||
|
||||
/* z_obj_ghaka */
|
||||
D_06001A20 = 0x06001A20;
|
||||
D_06001980 = 0x06001980;
|
||||
D_06003CD0 = 0x06003CD0;
|
||||
|
||||
/* z_obj_hana */
|
||||
D_06000500 = 0x06000500;
|
||||
|
||||
/* z_obj_hgdoor */
|
||||
D_06001D10 = 0x06001D10;
|
||||
D_060018C0 = 0x060018C0;
|
||||
D_06001AB0 = 0x06001AB0;
|
||||
D_06001BA8 = 0x06001BA8;
|
||||
D_06001670 = 0x06001670;
|
||||
D_06001768 = 0x06001768;
|
||||
|
||||
/* z_obj_hsstump */
|
||||
D_060003B8 = 0x060003B8;
|
||||
D_060011B0 = 0x060011B0;
|
||||
|
||||
/* z_obj_kepn_koya */
|
||||
D_0600805C = 0x0600805C;
|
||||
D_06003478 = 0x06003478;
|
||||
|
||||
/* z_obj_kibako */
|
||||
D_05007890 = 0x05007890;
|
||||
D_05007980 = 0x05007980;
|
||||
D_06001180 = 0x06001180;
|
||||
D_06001A70 = 0x06001A70;
|
||||
|
||||
/* z_obj_lightswitch */
|
||||
D_06000260 = 0x06000260;
|
||||
D_06000398 = 0x06000398;
|
||||
D_06000408 = 0x06000408;
|
||||
D_06000420 = 0x06000420;
|
||||
D_06000C20 = 0x06000C20;
|
||||
D_06001420 = 0x06001420;
|
||||
|
||||
/* z_obj_milk_bin */
|
||||
D_060004B0 = 0x060004B0;
|
||||
|
||||
/* z_obj_moon_stone */
|
||||
D_06001C60 = 0x06001C60;
|
||||
D_06000D78 = 0x06000D78;
|
||||
D_06000C80 = 0x06000C80;
|
||||
|
||||
/* z_obj_raillift */
|
||||
D_06004FF8 = 0x06004FF8;
|
||||
D_060048D0 = 0x060048D0;
|
||||
D_06004BF0 = 0x06004BF0;
|
||||
D_060071B8 = 0x060071B8;
|
||||
D_06000208 = 0x06000208;
|
||||
|
||||
/* z_obj_tokei_step */
|
||||
D_06000088 = 0x06000088;
|
||||
D_06000968 = 0x06000968;
|
||||
|
||||
/* z_obj_visiblock */
|
||||
D_06000AD0 = 0x06000AD0;
|
||||
D_06000140 = 0x06000140;
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/__osMemcpy/__osMemcpy.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/__osMemset/__osMemset.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/__osStrcpy/__osStrcpy.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/afterprenmi/osAfterPreNMI.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/aisetfreq/osAiSetFrequency.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/bcopy/bcopy.s")
|
|
@ -1,30 +0,0 @@
|
|||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
|
||||
UNK_RET func_80087900(UNK_PTR a0, UNK_TYPE a1, UNK_PTR a2) {
|
||||
func_8008E050((UNK_TYPE(*)(UNK_TYPE, UNK_TYPE, UNK_TYPE))(*(u32*)a0), a0, a1, a2);
|
||||
}
|
||||
|
||||
UNK_RET func_80087934(UNK_PTR a0, UNK_TYPE a1, UNK_PTR a2, UNK_TYPE a3) {
|
||||
func_80087900(a0, a1, &a2);
|
||||
}
|
||||
|
||||
UNK_RET func_80087960(UNK_ARGS a0) {
|
||||
|
||||
}
|
||||
|
||||
UNK_RET func_800879CC(u32 a0) {
|
||||
func_80087960(func_800888A8(func_800889A8(a0, 3), 64));
|
||||
}
|
||||
|
||||
UNK_RET func_80087A1C(u32 a0) {
|
||||
func_80087960(func_800888A8(func_800889A8(a0, 3000), 64));
|
||||
}
|
||||
|
||||
UNK_RET func_80087A6C(UNK_TYPE a0) {
|
||||
func_80087960(func_800888A8(func_800889A8(a0, 0x02CB4178), 1000));
|
||||
}
|
||||
|
||||
UNK_RET func_80087AC0(u32 a0) {
|
||||
func_80087960(func_800889A8(a0, 0x02CB4178));
|
||||
}
|
|
@ -1,61 +0,0 @@
|
|||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
|
||||
OSPiHandle* func_80092920(void) {
|
||||
u32 v0;
|
||||
u32 temp;
|
||||
u32 temp2;
|
||||
u32 temp3;
|
||||
u32 temp4;
|
||||
UNK_TYPE func_ret;
|
||||
|
||||
func_8008C1E0();
|
||||
|
||||
if (D_800980D0 == 0) {
|
||||
func_8008C224();
|
||||
return &D_8009E610;
|
||||
}
|
||||
|
||||
D_800980D0 = 0; // TODO volatile?
|
||||
|
||||
D_8009E610.type = 0;
|
||||
D_8009E610.baseAddress = 0xB0000000;
|
||||
D_8009E610.domain = 0;
|
||||
D_8009E610.speed = 0;
|
||||
|
||||
func_80089630(&D_8009E624, 96);
|
||||
|
||||
while ((*(vu32*)0xA4600010) & 0x3);
|
||||
|
||||
temp = *(vu32*)0xA4600014;
|
||||
temp2 = *(vu32*)0xA460001C;
|
||||
temp3 = *(vu32*)0xA4600020;
|
||||
temp4 = *(vu32*)0xA4600018;
|
||||
|
||||
*(vu32*)0xA4600014 = 255;
|
||||
*(vu32*)0xA460001C = 0;
|
||||
*(vu32*)0xA4600020 = 3;
|
||||
*(vu32*)0xA4600018 = 255;
|
||||
|
||||
v0 = *(u32*)(D_8009E610.baseAddress | 0xA0000000);
|
||||
D_8009E610.pageSize = (v0 >> 16) & 0xF;
|
||||
D_8009E610.relDuration = (v0 >> 20) & 0xF;
|
||||
D_8009E610.pulse = v0 >> 8;
|
||||
D_8009E610.latency = v0;
|
||||
|
||||
*(vu32*)0xA4600014 = temp;
|
||||
*(vu32*)0xA460001C = temp2;
|
||||
*(vu32*)0xA4600020 = temp3;
|
||||
*(vu32*)0xA4600018 = temp4;
|
||||
|
||||
func_ret = func_80091A60();
|
||||
|
||||
D_8009E610.next = osPiHandleListHead;
|
||||
osPiHandleListHead = &D_8009E610;
|
||||
|
||||
func_80091AD0(func_ret);
|
||||
|
||||
func_8008C224();
|
||||
|
||||
return &D_8009E610;
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_80086760.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_80086794.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_800867B4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_800867D4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_800867F4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_80086814.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_80086834.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_80086880.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_800869A4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_80086AF0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_80086B30.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_80086C18.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_80086C48.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/cartrominit/osCartRomInit.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/contchannelreset/__osContChannelReset.s")
|
|
@ -0,0 +1,15 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/contpfs/__osSumcalc.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/contpfs/__osIdCheckSum.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/contpfs/__osRepairPackId.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/contpfs/__osCheckPackId.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/contpfs/__osGetId.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/contpfs/__osCheckId.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/contpfs/__osPfsRWInode.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/contramread/__osContRamRead.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/contramwrite/__osContRamWrite.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/cosf/__cosf.s")
|
|
@ -0,0 +1,5 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/crc/__osContAddressCrc.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/crc/__osContDataCrc.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/devmgr/__osDevMgrMain.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/epilinkhandle/osEPiLinkHandle.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/epirawdma/osEPiRawStartDma.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/epirawread/osEPiRawReadIo.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/epiread/osEPiReadIo.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/epiwrite/osEPiWriteIo.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/fmodf/fmodf.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/getfpccsr/__osGetFpcCsr.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/guS2DInitBg/guS2DInitBg.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/invaldcache/osInvalDCache.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/invalicache/osInvalICache.s")
|
|
@ -0,0 +1,7 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/loadfragment/Load_Relocate.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/loadfragment/Load_LoadOverlay.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/loadfragment/Load_AllocateAndLoad.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/memcmp/memcmp.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/normalize/guNormalize.s")
|
|
@ -0,0 +1,5 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsallocatefile/osPfsAllocateFile.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsallocatefile/__osPfsDeclearPage.s")
|
|
@ -0,0 +1,7 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfschecker/osPfsChecker.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfschecker/corrupted_init.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfschecker/corrupted.s")
|
|
@ -0,0 +1,5 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsdeletefile/osPfsDeleteFile.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsdeletefile/__osPfsReleasePages.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsfilestate/osPfsFileState.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsfreeblocks/osPfsFreeBlocks.s")
|
|
@ -0,0 +1,7 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsgetstatus/__osPfsGetStatus.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsgetstatus/__osPfsRequestOneChannel.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsgetstatus/__osPfsGetOneChannelData.s")
|
|
@ -0,0 +1,5 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsinitpak/osPfsInitPak.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsinitpak/__osPfsCheckRamArea.s")
|
|
@ -0,0 +1,7 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsisplug/osPfsIsPlug.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsisplug/__osPfsRequestData.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsisplug/__osPfsGetInitData.s")
|
|
@ -0,0 +1,5 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsreadwritefile/__osPfsGetNextPage.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsreadwritefile/osPfsReadWriteFile.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfssearchfile/osPfsFindFile.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsselectbank/__osPfsSelectBank.s")
|
|
@ -0,0 +1,5 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/position/guPositionF.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/position/guPosition.s")
|
|
@ -0,0 +1,15 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/PrintUtils_VPrintf.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/PrintUtils_Printf.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/Sleep_Cycles.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/Sleep_Nsec.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/Sleep_Usec.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/Sleep_Msec.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/Sleep_Sec.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/resetglobalintmask/__osResetGlobalIntMask.s")
|
|
@ -0,0 +1,7 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/rumblepak/osSetRumble.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/rumblepak/osSetUpMempakWrite.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/rumblepak/osProbeRumblePak.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/setfpccsr/__osSetFpcCsr.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/setglobalintmask/__osSetGlobalIntMask.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/sethwinterrupt/__osSetHWIntrRoutine.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/sp/__osSpDeviceBusy.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/spsetpc/__osSpSetPc.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/sqrtf/sqrtf.s")
|
|
@ -0,0 +1,21 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/system_malloc/StartHeap_Alloc.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/system_malloc/StartHeap_AllocR.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/system_malloc/StartHeap_Realloc.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/system_malloc/StartHeap_Free.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/system_malloc/StartHeap_Calloc.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/system_malloc/StartHeap_AnalyzeArena.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/system_malloc/StartHeap_CheckArena.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/system_malloc/StartHeap_InitArena.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/system_malloc/StartHeap_Cleanup.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/system_malloc/StartHeap_IsInitialized.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/vigetcurrframebuf/osViGetCurrentFramebuffer.s")
|
|
@ -0,0 +1,3 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/viswapcontext/__osViSwapContext.s")
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue