diff --git a/.clang-tidy b/.clang-tidy index 94fd917cb4..e093e002b8 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -7,8 +7,8 @@ CheckOptions: - key: readability-identifier-naming.ParameterCase value: camelBack - - key: readability-identifier-naming.TypedefCase - value: CamelCase + #- key: readability-identifier-naming.TypedefCase + # value: CamelCase # TODO: rename all unk_XXX members #- key: readability-identifier-naming.MemberCase diff --git a/.gitignore b/.gitignore index f408c80f71..73c21dc658 100644 --- a/.gitignore +++ b/.gitignore @@ -19,7 +19,9 @@ settings.mk /build/ /docs/doxygen/ /include/ld_addrs.h +/include/message_ids.h /include/sprite/ +/include/map # Assets /bin diff --git a/.vscode/settings.json b/.vscode/settings.json index 35a7f86036..a98801c3c8 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -24,4 +24,7 @@ "python.analysis.extraPaths": [ "./tools" ], + "[c]": { + "editor.wordSeparators": "`~!@#%^&*()-=+[{]}\\|;:'\",.<>/?", // no $, for scripts + }, } diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..56234054c1 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,80 @@ +## Contributing + +### Dependencies + +There are a few additional dependencies needed when contributing to this project. You can install them with `./install.sh --extra`. + +### WSL + +We provide [windows_terminal.bat](tools/windows_terminal.bat) to open a [Windows Terminal](https://www.microsoft.com/en-us/p/windows-terminal/9n0dx20hk701) with a recommended layout. Make sure a default distro (e.g. `wsl --set-default ubuntu`) is set beforehand. + +### Rebuilding + +If you use Visual Studio Code, you can use _Run Build Task_ (Ctrl+Shift+B) to run `make`. Any errors or warnings generated by the compiler will show up in the _Problems_ tab. + +### Matching a function + +#### Setup + +Once you've created a successful (`OK`) build, copy `build/` to `expected/build/`: + +```sh +$ mkdir -p expected +$ cp -r build expected +``` + +#### Roughly converting assembly to C + +Decide on a function to match. These can be found in the subdirectories of `asm/nonmatchings/`. Currently, functions which use float constants, data sections, or jump tables are unmatchable. + +Take the relevant `.s` file and pass it to [mips_to_c](https://github.com/matt-kempster/mips_to_c) ([web version](https://simonsoftware.se/other/mips_to_c.py)). + +You can also use mips_to_c locally installed to a destination of your choice. Then register a function in `~/.bashrc` that calls `path/to/mips_to_c.py (with args)`: +``` +sudo apt update +sudo apt install python3-pip +sudo git clone https://github.com/matt-kempster/mips_to_c.git path/to/mips_to_c +``` + +Here's a starter function you can use: +```sh +# don't forget to replace /path/to/mips_to_c with your path +function mipstoc() { + if [ "$#" -gt 1 ]; then + /path/to/mips_to_c/mips_to_c.py $@; + else + printf "Please call mipstoc using this format and make sure you're at the repo root:"; + printf "\nmipstoc \033[0;31marg1 - the nonmatching asm file\033[0m \033[0;34marg2 - the target function\033[0m \033[0;33margN - any of the optional mips_to_c.py flags\033[0m"; + printf "\nmipstoc \033[0;31m./asm/nonmatchings/code_13870_len_6980/func_8003B3D0.s\033[0m \033[0;34mfunc_8003B3D0\033[0m \033[0;33m--flag1 --flag2 --flagN\033[0m\n"; + /path/to/mips_to_c/mips_to_c.py; + fi +} +export -f mipstoc +``` + +Open up the relevant `.c` file and replace the function's `INCLUDE_ASM` macro with the output from mips_to_c. Run the following command to attempt to compile, replacing `function_name` with the name of the function you're working with: + +```sh +./diff.py -mwo function_name +``` + +Fix any errors and rerun `diff.py`. This will involve typing the function signature correctly, which you will probably find in [Star Rod's library database](https://github.com/nanaian/star-rod/blob/master/database/common_func_library.lib). See also [common_structs.h](include/common_structs.h). + +Once a successful build is made, `diff.py` will show you the difference between the original game's assembly (on the left) and what your C code generated (on the right). + +#### Matching the function + +You're on your own now. Get your C code compiling to match the original assembly! `diff.py`, when running, will automatically recompile your code whenever you save the `.c` file. + +If you use Visual Studio Code, you can use _Run Test Task_ to run `diff.py` and show you errors and warnings from the compiler inline. You might want to attach _Run Test Task_ to a keybinding, as you'll be using it often. + +#### After matching + +Once you've matched a function, run the following scripts: + +```sh +$ ./coverage.py --delete-matched +$ ./format.sh +``` + +If `format.sh` has any problems with your code, go and fix the issues. If you can't fix a warning without making the function not match anymore, append `// NOLINT` to the offending line. diff --git a/Makefile b/Makefile index da7cc3140a..ecc6a12958 100644 --- a/Makefile +++ b/Makefile @@ -9,8 +9,6 @@ NON_MATCHING = 0 WATCH_INCLUDES = 1 WSL_ELEVATE_GUI = 1 --include settings.mk - # Fail early if baserom does not exist ifeq ($(wildcard $(BASEROM)),) $(error Baserom `$(BASEROM)' not found.) @@ -37,7 +35,7 @@ LD_MAP := $(BUILD_DIR)/$(TARGET).map ASSETS_BIN := $(BUILD_DIR)/bin/assets/assets.bin MSG_BIN := $(BUILD_DIR)/msg.bin NPC_BIN := $(BUILD_DIR)/sprite/npc.bin -GENERATED_HEADERS := include/ld_addrs.h include/sprite + ### Tools ### @@ -49,8 +47,6 @@ YAY0COMPRESS = tools/Yay0compress EMULATOR = mupen64plus -### Compiler Options ### - CROSS := mips-linux-gnu- AS := $(CROSS)as OLD_AS := tools/mips-nintendo-nu64-as @@ -59,28 +55,31 @@ CPP := cpp LD := $(CROSS)ld OBJCOPY := $(CROSS)objcopy +WSL := 0 +JAVA := java + UNAME_S := $(shell uname -s) ifeq ($(UNAME_S),Linux) OS=linux ICONV := iconv --from UTF-8 --to SHIFT-JIS + + ifeq ($(findstring microsoft,$(shell cat /proc/sys/kernel/osrelease)),microsoft) + WSL := 1 + ifeq ($(WSL_ELEVATE_GUI),1) + JAVA := powershell.exe -command java + endif +endif endif ifeq ($(UNAME_S),Darwin) OS=mac ICONV := tools/iconv.py UTF-8 SHIFT-JIS endif -WSL := 0 -JAVA := java -ifeq ($(findstring microsoft,$(shell cat /proc/sys/kernel/osrelease)),microsoft) - WSL := 1 - ifeq ($(WSL_ELEVATE_GUI),1) - JAVA := powershell.exe -command java - endif -endif - OLD_AS=tools/$(OS)/mips-nintendo-nu64-as CC=tools/$(OS)/cc1 +### Compiler Options ### + CPPFLAGS := -Iinclude -Isrc -D _LANGUAGE_C -ffreestanding -DF3DEX_GBI_2 -D_MIPS_SZLONG=32 -Wundef -Wcomment ASFLAGS := -EB -Iinclude -march=vr4300 -mtune=vr4300 OLDASFLAGS := -EB -Iinclude -G 0 @@ -96,6 +95,7 @@ ifeq ($(NON_MATCHING),1) CPPFLAGS += -DNON_MATCHING endif +-include settings.mk ### Sources ### @@ -111,11 +111,15 @@ ifeq ($(WATCH_INCLUDES),1) -include $(foreach obj, $(OBJECTS), $(obj).mk) endif +NPC_DIRS := $(foreach npc, $(NPC_SPRITES), sprite/npc/$(npc)) + +GENERATED_HEADERS := include/ld_addrs.h $(foreach dir, $(NPC_DIRS), include/$(dir).h) + ### Targets ### clean: - rm -rf $(BUILD_DIR) bin msg img sprite .splat_cache + rm -rf $(BUILD_DIR) bin msg img sprite .splat_cache $(LD_SCRIPT) clean-code: rm -rf $(BUILD_DIR)/src @@ -123,15 +127,15 @@ clean-code: tools: make -C tools -setup: clean submodules tools split $(LD_SCRIPT) +setup: clean submodules tools $(LD_SCRIPT) # tools/star-rod submodule intentionally omitted submodules: git submodule init tools/n64splat - git submodule update --init --recursive + git submodule update --recursive split: - $(SPLAT) --modes ld bin Yay0 PaperMarioMapFS PaperMarioMessages img PaperMarioNpcSprites --new + make $(LD_SCRIPT) -W $(SPLAT_YAML) split-%: $(SPLAT) --modes ld $* --verbose @@ -242,7 +246,6 @@ $(MSG_BIN:.bin=.o): $(MSG_BIN) # Sprites $(foreach npc, $(NPC_SPRITES), $(eval $(BUILD_DIR)/sprite/npc/$(npc):: $(shell find sprite/npc/$(npc) -type f 2> /dev/null))) # dependencies -NPC_DIRS := $(foreach npc, $(NPC_SPRITES), sprite/npc/$(npc)) NPC_YAY0 := $(foreach npc, $(NPC_SPRITES), $(BUILD_DIR)/sprite/npc/$(npc).Yay0) $(BUILD_DIR)/sprite/npc/%:: sprite/npc/% tools/compile_npc_sprite.py @mkdir -p $(shell dirname $@) @@ -257,10 +260,13 @@ include/sprite/npc/%.h: sprite/npc/%/SpriteSheet.xml tools/gen_sprite_animations @mkdir -p $(shell dirname $@) @echo "building $@" @$(PYTHON) tools/gen_sprite_animations_h.py $@ sprite/npc/$* $(NPC_DIRS) -include/sprite: $(foreach dir, $(NPC_DIRS), include/$(dir).h) + + +### Linker ### $(LD_SCRIPT): $(SPLAT_YAML) - $(SPLAT) --modes ld + $(SPLAT) --modes ld bin Yay0 PaperMarioMapFS PaperMarioMessages img PaperMarioNpcSprites --new + make $(GENERATED_HEADERS) $(BUILD_DIR)/$(LD_SCRIPT): $(LD_SCRIPT) @mkdir -p $(shell dirname $@) @@ -299,7 +305,7 @@ editor: tools/star-rod sprite/SpriteTable.xml ### Make Settings ### -.PHONY: clean tools test setup submodules split editor $(ROM) include/sprite +.PHONY: clean tools test setup submodules split editor $(ROM) .DELETE_ON_ERROR: .SECONDARY: .PRECIOUS: $(ROM) %.Yay0 diff --git a/README.md b/README.md index c0437eacfe..03882ee791 100644 --- a/README.md +++ b/README.md @@ -47,85 +47,7 @@ If you get `OK`, you're all set! Otherwise, please feel free to reach out to us You can open [our modified version of Star Rod](https://github.com/nanaian/star-rod-for-decomp) with `make editor`. ## Contributing - -### Dependencies - -There are a few additional dependencies needed when contributing to this project. You can install them with `./install.sh --extra`. - -### WSL - -We provide [windows_terminal.bat](tools/windows_terminal.bat) to open a [Windows Terminal](https://www.microsoft.com/en-us/p/windows-terminal/9n0dx20hk701) with a recommended layout. Make sure a default distro (e.g. `wsl --set-default ubuntu`) is set beforehand. - -### Rebuilding - -If you use Visual Studio Code, you can use _Run Build Task_ (Ctrl+Shift+B) to run `make`. Any errors or warnings generated by the compiler will show up in the _Problems_ tab. - -### Matching a function - -#### Setup - -Once you've created a successful (`OK`) build, copy `build/` to `expected/build/`: - -```sh -$ mkdir -p expected -$ cp -r build expected -``` - -#### Roughly converting assembly to C - -Decide on a function to match. These can be found in the subdirectories of `asm/nonmatchings/`. Currently, functions which use float constants, data sections, or jump tables are unmatchable. - -Take the relevant `.s` file and pass it to [mips_to_c](https://github.com/matt-kempster/mips_to_c) ([web version](https://simonsoftware.se/other/mips_to_c.py)). - -You can also use mips_to_c locally installed to a destination of your choice. Then register a function in `~/.bashrc` that calls `path/to/mips_to_c.py (with args)`: -``` -sudo apt update -sudo apt install python3-pip -sudo git clone https://github.com/matt-kempster/mips_to_c.git path/to/mips_to_c -``` - -Here's a starter function you can use: -```sh -# don't forget to replace /path/to/mips_to_c with your path -function mipstoc() { - if [ "$#" -gt 1 ]; then - /path/to/mips_to_c/mips_to_c.py $@; - else - printf "Please call mipstoc using this format and make sure you're at the repo root:"; - printf "\nmipstoc \033[0;31marg1 - the nonmatching asm file\033[0m \033[0;34marg2 - the target function\033[0m \033[0;33margN - any of the optional mips_to_c.py flags\033[0m"; - printf "\nmipstoc \033[0;31m./asm/nonmatchings/code_13870_len_6980/func_8003B3D0.s\033[0m \033[0;34mfunc_8003B3D0\033[0m \033[0;33m--flag1 --flag2 --flagN\033[0m\n"; - /path/to/mips_to_c/mips_to_c.py; - fi -} -export -f mipstoc -``` - -Open up the relevant `.c` file and replace the function's `INCLUDE_ASM` macro with the output from mips_to_c. Run the following command to attempt to compile, replacing `function_name` with the name of the function you're working with: - -```sh -./diff.py -mwo function_name -``` - -Fix any errors and rerun `diff.py`. This will involve typing the function signature correctly, which you will probably find in [Star Rod's library database](https://github.com/nanaian/star-rod/blob/master/database/common_func_library.lib). See also [common_structs.h](include/common_structs.h). - -Once a successful build is made, `diff.py` will show you the difference between the original game's assembly (on the left) and what your C code generated (on the right). - -#### Matching the function - -You're on your own now. Get your C code compiling to match the original assembly! `diff.py`, when running, will automatically recompile your code whenever you save the `.c` file. - -If you use Visual Studio Code, you can use _Run Test Task_ to run `diff.py` and show you errors and warnings from the compiler inline. You might want to attach _Run Test Task_ to a keybinding, as you'll be using it often. - -#### After matching - -Once you've matched a function, run the following scripts: - -```sh -$ ./coverage.py --delete-matched -$ ./format.sh -``` - -If `format.sh` has any problems with your code, go and fix the issues. If you can't fix a warning without making the function not match anymore, append `// NOLINT` to the offending line. +Please see [CONTRIBUTING.md](CONTRIBUTING.md) for information on how to contribute to the project. Any and all help is welcome! ## Troubleshooting diff --git a/asm/boot.s b/asm/boot.s index 89d03a5026..f1df16c865 100644 --- a/asm/boot.s +++ b/asm/boot.s @@ -231,12 +231,12 @@ glabel func_A4000040 /* 37C A400037C 01324825 */ or $t1, $t1, $s2 /* 380 A4000380 AD490010 */ sw $t1, %lo(D_A4700010)($t2) /* 384 A4000384 8D490010 */ lw $t1, 0x10($t2) -/* 388 A4000388 3C08A000 */ lui $t0, %hi(D_A0000018) +/* 388 A4000388 3C08A000 */ lui $t0, 0xa000 /* 38C A400038C 35080300 */ ori $t0, $t0, 0x300 /* 390 A4000390 3C090FFF */ lui $t1, 0xfff /* 394 A4000394 3529FFFF */ ori $t1, $t1, 0xffff /* 398 A4000398 02C9B024 */ and $s6, $s6, $t1 -/* 39C A400039C AD160018 */ sw $s6, %lo(D_A0000018)($t0) +/* 39C A400039C AD160018 */ sw $s6, 0x18($t0) /* 3A0 A40003A0 03C0E825 */ or $sp, $fp, $zero /* 3A4 A40003A4 27BD0048 */ addiu $sp, $sp, 0x48 /* 3A8 A40003A8 8FB30000 */ lw $s3, ($sp) @@ -291,14 +291,14 @@ glabel func_A4000040 .LA4000458: /* 458 A4000458 3C0AA400 */ lui $t2, %hi(D_A4000000) /* 45C A400045C 254A0000 */ addiu $t2, $t2, %lo(D_A4000000) -/* 460 A4000460 3C0BFFF0 */ lui $t3, %hi(D_FFF00768) +/* 460 A4000460 3C0BFFF0 */ lui $t3, 0xfff0 /* 464 A4000464 3C090010 */ lui $t1, 0x10 /* 468 A4000468 014B5024 */ and $t2, $t2, $t3 /* 46C A400046C 3C08A400 */ lui $t0, %hi(D_A40004C0) /* 470 A4000470 2529FFFF */ addiu $t1, $t1, -1 /* 474 A4000474 3C0BA400 */ lui $t3, %hi(D_A4000768) /* 478 A4000478 250804C0 */ addiu $t0, $t0, %lo(D_A40004C0) -/* 47C A400047C 256B0768 */ addiu $t3, $t3, %lo(D_FFF00768) +/* 47C A400047C 256B0768 */ addiu $t3, $t3, %lo(D_A4000768) /* 480 A4000480 01094024 */ and $t0, $t0, $t1 /* 484 A4000484 01695824 */ and $t3, $t3, $t1 /* 488 A4000488 3C09A000 */ lui $t1, %hi(D_A0000000) @@ -459,10 +459,10 @@ glabel func_A40004C0 /* 6C4 A40006C4 24090002 */ addiu $t1, $zero, 2 /* 6C8 A40006C8 3C01A460 */ lui $at, %hi(D_A4600010) /* 6CC A40006CC AC290010 */ sw $t1, %lo(D_A4600010)($at) -/* 6D0 A40006D0 3C08A000 */ lui $t0, %hi(D_A0000010) +/* 6D0 A40006D0 3C08A000 */ lui $t0, 0xa000 /* 6D4 A40006D4 35080300 */ ori $t0, $t0, 0x300 /* 6D8 A40006D8 240917D7 */ addiu $t1, $zero, 0x17d7 -/* 6DC A40006DC AD090010 */ sw $t1, %lo(D_A0000010)($t0) +/* 6DC A40006DC AD090010 */ sw $t1, 0x10($t0) /* 6E0 A40006E0 AD140000 */ sw $s4, ($t0) /* 6E4 A40006E4 AD130004 */ sw $s3, 4($t0) /* 6E8 A40006E8 AD15000C */ sw $s5, 0xc($t0) diff --git a/asm/data/code_1000_len_60.data.s b/asm/data/code_1000_len_60.data.s new file mode 100644 index 0000000000..a6f6dff56d --- /dev/null +++ b/asm/data/code_1000_len_60.data.s @@ -0,0 +1,258 @@ +.include "macro.inc" + +.section .data + +glabel D_800731A0 +.word 0x40055800, 0x8C3C0030, 0x8C3B0034, 0x30A40001, 0x10800006, 0x30A40100, 0x10800004, 0x40045800, 0x30840100, 0x1C80FFFE, 0x40045800, 0x20180FA0, 0x0D000448, 0x001C1020, 0x40023000, 0x1440FFFF, 0x40023000, 0x40803800, 0x8FBA0000, 0x8FB90004, 0x239C0008, 0x001A0DC2, 0x302100FE, 0x84210000, 0x00200008, 0x237BFFF8, 0x0000000D, 0x1FC0FFF6, 0x23BD0008, 0x1B600005, 0x34014000, 0x0D000448, 0x001C1020, 0x0900042F, 0x40023000, 0x40812000, 0x0000000D, 0x00000000, 0x1000FFFF, 0x00000000, 0x23E50000, 0x23630000, 0x2064FEC0, 0x18800002, 0x200102B0, 0x20030140, 0x207E0000, 0x0D000453, 0x2063FFFF, 0x00A00008, 0x201D02B0, 0x40043800, 0x1480FFFF, 0x40043800, 0x40042800, 0x1480FFFF, 0x40042800, 0x40810000, 0x40820800, 0x03E00008, 0x40831000, 0x40043800, 0x1480FFFF, 0x40043800, 0x40042800, 0x1480FFFF, 0x40042800, 0x40810000, 0x40820800, 0x03E00008, 0x40831800, 0x3322FFFF, 0x4A01086C, 0x3341FFFF, 0x202104F0, 0xE8211800, 0xE8211801, 0x2042FFF0, 0x1C40FFFC, 0x20210010, 0x0900043B, 0x23DEFFF8, 0x001A1A00, 0x00031D02, 0x1060FFC6, 0x23DEFFF8, 0x33410FFF, 0x202104F0, 0x00191200, 0x00021202, 0x2063FFFF, 0x0D000453, 0x20420000, 0x40013000, 0x1420FFFF, 0x40013000, 0x0900043B, 0x40803800, 0x001A1A00, 0x00031D02, 0x1060FFB6, 0x23DEFFF8, 0x33410FFF, 0x202104F0, 0x00191200, 0x00021202, 0x2063FFFF, 0x0D00045D, 0x20420000, 0x40013000, 0x1420FFFF, 0x40013000, 0x0900043B, 0x40803800, 0x00191200, 0x00021202, 0x20420000, 0x200103F0, 0x3343FFFF, 0x0D000453, 0x2063FFFF, 0x40013000, 0x1420FFFF, 0x40013000, 0x40803800, 0x0900043B, 0x23DEFFF8, 0x001A1C02, 0x30610004, 0x1020000D, 0x30610002, 0x10200006, 0x00191402, 0xA71A0050, 0xA702004C, 0xA719004E, 0x0900043B, 0x23DEFFF8, 0xA71A0046, 0xA7020048, 0xA719004A, 0x0900043B, 0x23DEFFF8, 0x00191402, 0xA71A0040, 0xA7020042, 0xA7190044, 0x0900043B, 0x23DEFFF8, 0x20010170, 0x200404F0, 0x200209D0, 0x20030B40, 0xC8412000, 0xC8622000, 0x2021FFF0, 0x20420010, 0x20630010, 0xE8810800, 0xE8820801, 0xE8810902, 0xE8820903, 0xE8810A04, 0xE8820A05, 0xE8810B06, 0xE8820B07, 0xE8810C08, 0xE8820C09, 0xE8810D0A, 0xE8820D0B, 0xE8810E0C, 0xE8820E0D, 0xE8810F0E, 0xE8820F0F, 0x1C20FFEA, 0x20840020, 0x0900043B, 0x23DEFFF8, 0x3321FFFF, 0x3342FFFF, 0x204204F0, 0x00191C02, 0x206304F0, 0xC8411800, 0xC8421801, 0x2021FFF0, 0x20420010, 0xE8611800, 0xE8621801, 0x1C20FFF9, 0x20630010, 0x0900043B, 0x23DEFFF8, 0x00190A00, 0x00010A02, 0x20210000, 0xAC01000E, 0x0900043B, 0x23DEFFF8, 0xC81F2005, 0x0019BB02, 0x4A19CE6C, 0x32F7000F, 0x4A18C62C, 0x22F704F0, 0x4A0D6B6C, 0x33210FFF, 0x4A0E73AC, 0x202104F0, 0x4A0F7BEC, 0x0019AC02, 0x4A10842C, 0x32B50FFF, 0x4A118C6C, 0x001AA200, 0x4A1294AC, 0x0014A202, 0x4A139CEC, 0x2003001F, 0x00196F02, 0x31A20001, 0x1C40001A, 0x22F60001, 0x31A20002, 0x10400002, 0x22820000, 0x8C02000E, 0x400D3800, 0x15A0FFFF, 0x400D3800, 0x400D2800, 0x15A0FFFF, 0x400D2800, 0x40810000, 0x40820800, 0x40831000, 0x20130020, 0x201203F0, 0xCA791800, 0xCA781C00, 0xCA771801, 0xCA771C01, 0x40053000, 0x14A0FFFF, 0x40053000, 0x40803800, 0x09000521, 0xC83B2001, 0x20130020, 0x4A1BDEEC, 0x201203F0, 0xCA791800, 0xCA781C00, 0xCA771801, 0xCA771C01, 0xE83B2000, 0xE83B2001, 0x12A0006B, 0x20210020, 0xCACC1800, 0x92EA0000, 0x200D000C, 0x200C0001, 0x314E000F, 0x000E7140, 0x4B0CCAA8, 0x01D28020, 0x4B2CC268, 0x000A8902, 0x4B4CCA28, 0x01B18822, 0x4B6CC1E8, 0x222DFFFF, 0x000C63C0, 0x01AC5806, 0x488BB000, 0xCA152000, 0xCA142001, 0x2210FFFE, 0xCA132802, 0x2210FFFE, 0xCA122802, 0x2210FFFE, 0xCA112802, 0x2210FFFE, 0xCA102802, 0x2210FFFE, 0xCA0F2802, 0x2210FFFE, 0xCA0E2802, 0x2210FFFE, 0xCA0D2802, 0x22D60009, 0x4A175786, 0x22F70009, 0x4A174F8E, 0x92EA0000, 0x4A174746, 0xCACC1800, 0x4A173F4E, 0x200D000C, 0x1A200003, 0x314E000F, 0x4B16F785, 0x4B16EF45, 0x000E7140, 0x4BDBAAC7, 0x01D28020, 0x4BFBA2CF, 0x4B1E9ACF, 0x4B3E92CF, 0x000A8902, 0x4B5E8ACF, 0x4B7E82CF, 0x01B18822, 0x4B9E7F0F, 0x222DFFFF, 0x4BBE72CF, 0x4BDE6ACF, 0x4B7FF2CF, 0x01AC5806, 0x4B3C369D, 0x488BB000, 0x4B1C371D, 0x4B0CCAA8, 0x4B2CC268, 0x4B4CCA28, 0x4B6CC1E8, 0x4B3FD2C6, 0x4B3FE70F, 0x4B1D9AC7, 0x220FFFFE, 0x4B3D92CF, 0xC9F32802, 0x4B5D8ACF, 0x21EFFFFE, 0x4B7D82CF, 0xC9F22802, 0x4B9D7ACF, 0x21EFFFFE, 0x4BBD72CF, 0xC9F12802, 0x4BDD6ACF, 0x21EFFFFE, 0x4B7FEACF, 0xC9F02802, 0x4BDCAACF, 0x21EFFFFE, 0x4BFCA2CF, 0xC9EF2802, 0x4B3B369D, 0x21EFFFFE, 0x4B1B36DD, 0xC9EE2802, 0x21EFFFFE, 0xC9ED2802, 0xCA152000, 0x4B3FD2C6, 0xCA142001, 0x4B3FDECF, 0x22B5FFE0, 0xE83C2000, 0x20210020, 0x1EA0FFB8, 0xE83B207F, 0x2021FFE0, 0x0D00045D, 0x22820000, 0x23DEFFF8, 0x40053000, 0x14A0FFFF, 0x40053000, 0x0900043B, 0x40803800, 0x00199E02, 0x201403F0, 0x4A15AD6C, 0x12600002, 0x201704F0, 0x20170660, 0xCA9C2001, 0x4A16B5AC, 0x489A9500, 0x4A17BDEC, 0x001AD080, 0x4A18C62C, 0x489AA000, 0x4A19CE6C, 0x00191200, 0x4A1AD6AC, 0x00021202, 0x4A1BDEEC, 0x20420000, 0x20030007, 0x20130004, 0x48939000, 0x20160170, 0x4B14E505, 0x001A9C82, 0x32730001, 0x1E60001F, 0xEA942001, 0x23010000, 0x40133800, 0x1660FFFF, 0x40133800, 0x40132800, 0x1660FFFF, 0x40132800, 0x40810000, 0x40820800, 0x40831000, 0x2294FFFE, 0xCA9B2802, 0x2294FFFE, 0xCA9A2802, 0x2294FFFE, 0xCA992802, 0x2294FFFE, 0xCA982802, 0x2294FFFE, 0xCA972802, 0x2294FFFE, 0xCA962802, 0x2294FFFE, 0xCA952802, 0x40053000, 0x14A0FFFF, 0x40053000, 0x40803800, 0x090005DF, 0xC83E1C00, 0x2294FFFE, 0x4A1EF7AC, 0xCA9B2802, 0x2294FFFE, 0xCA9A2802, 0x2294FFFE, 0xCA992802, 0x2294FFFE, 0xCA982802, 0x2294FFFE, 0xCA972802, 0x2294FFFE, 0xCA962802, 0x2294FFFE, 0xCA952802, 0xCAFF2000, 0x4BFEE507, 0x4B1FDD0F, 0x22D6FFF0, 0x4B3FD50F, 0x4B5FCD0F, 0xEAFE207F, 0x4B7FC50F, 0x4B9FBF8F, 0x4BBFB50F, 0x4BDFAD0F, 0x4BB2FD0F, 0xCAFF2001, 0x4B3E9F5D, 0x4B1E9F9D, 0x4B12ED06, 0x4B12F78F, 0x1EC0FFEF, 0x22F70010, 0x22E1FFF8, 0x0D00045D, 0xEAFE207F, 0x23DEFFF8, 0x40053000, 0x14A0FFFF, 0x40053000, 0x0900043B, 0x40803800, 0x001A1200, 0x4A17BDEC, 0x00021202, 0x20420000, 0x2003000F, 0x0019AF82, 0x1EA00016, 0x23010000, 0x40043800, 0x1480FFFF, 0x40043800, 0x40042800, 0x1480FFFF, 0x40042800, 0x40810000, 0x40820800, 0x40831000, 0x0019A082, 0x32940FFF, 0x229404E8, 0xC81F2004, 0xC8192003, 0x40053000, 0x14A0FFFF, 0x40053000, 0x40803800, 0xCB131800, 0x0900061F, 0xCB180F04, 0x0019A082, 0x32940FFF, 0x229404E8, 0xC81F2004, 0x4A139CEC, 0xC8192003, 0x4A18C62C, 0x4894AA00, 0x200400B0, 0x4884AB00, 0x4A1FCE51, 0x00192382, 0x4884AC00, 0x20040040, 0x4884AD00, 0x4A1FCE51, 0xC81E2005, 0xC81D2006, 0xC81C2007, 0x4BF8FE05, 0xC81B2008, 0x4B95CDCD, 0xC81A2009, 0x4B1EFE0E, 0xEA931800, 0xC8192003, 0x4B55FD86, 0x20160170, 0x4B5EBD8E, 0x33240003, 0x4BB5C504, 0x10800002, 0x201704F0, 0x20170660, 0xEB180B84, 0x4B9EA506, 0xE816207B, 0x4B75FD0E, 0xE814207C, 0x84150FB0, 0x840D0FC0, 0x84110FB8, 0x84090FC8, 0x84140FB2, 0x840C0FC2, 0x84100FBA, 0x84080FCA, 0x84130FB4, 0x840B0FC4, 0x840F0FBC, 0x84070FCC, 0x84120FB6, 0x840A0FC6, 0x840E0FBE, 0x84060FCE, 0xCAB31800, 0x4BF8FE05, 0xC9B21800, 0x4BF7FE0F, 0xCA331C00, 0x4B95CDCD, 0xC9321C00, 0x4B1EFE0E, 0xCA911800, 0x4B55FD86, 0xC9901800, 0xCA111C00, 0x4B5EBD8E, 0xC9101C00, 0x4BB5C504, 0xCA6F1800, 0xC96E1800, 0xC9EF1C00, 0xC8EE1C00, 0x4B9EA506, 0xCA4D1800, 0x4B75FD0E, 0xC94C1800, 0xC9CD1C00, 0x4A129AC0, 0xC8CC1C00, 0x4A108A80, 0xE816207B, 0x4A0E7A40, 0xE814207C, 0x84150FB0, 0x840D0FC0, 0x4A0C6A00, 0x84110FB8, 0x4A6B5AD0, 0x84090FC8, 0x4A6A5290, 0x84140FB2, 0x4A694A50, 0x840C0FC2, 0x4A684210, 0x84100FBA, 0x4ACB5AD0, 0x84080FCA, 0x4ACA5290, 0x84130FB4, 0x4AC94A50, 0x840B0FC4, 0x4AC84210, 0x840F0FBC, 0x4A8BE9C6, 0x84070FCC, 0x4A8AE1CE, 0x84120FB6, 0x4A89D9CE, 0x840A0FC6, 0x4A88D1CE, 0x840E0FBE, 0x84060FCE, 0x22D6FFF0, 0x1AC00003, 0xEAE72000, 0x0900064F, 0x22F70010, 0xCAB31800, 0xEB180804, 0x0D00045D, 0xEB131800, 0x23DEFFF8, 0x40053000, 0x14A0FFFF, 0x40053000, 0x0900043B, 0x40803800, 0x00191200, 0x00021202, 0x20420000, 0xC81F2004, 0xC80A2005, 0xC81E200A, 0x4A00002C, 0x001A7402, 0x31CF0001, 0x1DE0000B, 0x23010000, 0x0D000453, 0x2003004F, 0x40053000, 0x14A0FFFF, 0x40053000, 0x40803800, 0xCB142000, 0xCB152001, 0xCB122002, 0xCB132003, 0xCB182004, 0x201004F0, 0x201509D0, 0x20140B40, 0x20130CB0, 0x20120E20, 0x20110170, 0x4816C400, 0x11E00033, 0x4817C100, 0x2003004F, 0x4A14A52C, 0xCB140F28, 0x4A15AD6C, 0xCA112000, 0x4A1294AC, 0x489A9700, 0x4B58F5C4, 0xCABD2000, 0x4B38F5CE, 0xCA7B2000, 0x4BF4FD0F, 0xCA9C2000, 0x4B00FD4E, 0x06E10003, 0x4A139CEC, 0x090006CB, 0x4B18A523, 0x4B18A520, 0x4BB8F5C4, 0xCA5A2000, 0x4B98F5CE, 0x2231FFF0, 0x4BF2FC8F, 0x22100010, 0x4B00FCCE, 0x4BD8A400, 0x06C10003, 0x4BF8A3C0, 0x090006D8, 0x4B7894A3, 0x4B7894A0, 0x4BAAEF40, 0x4A108F48, 0x4BAADEC0, 0x4A0F8EC8, 0x4BD89400, 0x4BF893C0, 0xEABD2000, 0x4BAAE700, 0x22B50010, 0x4A108F08, 0xEA7B2000, 0x4BAAD680, 0x22730010, 0x4A0F8E88, 0xEA9C2000, 0x22940010, 0xEA5A2000, 0x22520010, 0x4B58AD54, 0x4B38A510, 0xCABD2000, 0x4BB89CD4, 0xCA112000, 0x06E10003, 0x4B989490, 0x090006F4, 0x4B18A523, 0x4B18A520, 0x06C10003, 0xCA7B2000, 0x090006F9, 0x4B7894A3, 0x4B7894A0, 0x4BD8A400, 0xEB142000, 0x4BF8A3C0, 0xEB152001, 0x4BAAEF40, 0x4A108F48, 0xCA9C2000, 0x4BAADEC0, 0xCA5A2000, 0x4A0F8EC8, 0x2231FFF0, 0x4B58AD54, 0x22100010, 0x4B38A510, 0xEABD2000, 0x4BD89400, 0x22B50010, 0x4BF893C0, 0xEA7B2000, 0x4BAAE700, 0x22730010, 0x4A108F08, 0x4BAAD680, 0x4A0F8E88, 0xEA9C2000, 0x22940010, 0x1A200003, 0xEA5A2000, 0x090006EC, 0x22520010, 0xEB122002, 0xEB132003, 0x0D00045D, 0xEB182004, 0x40053000, 0x14A0FFFF, 0x40053000, 0x40803800, 0x0900043B, 0x23DEFFF8, 0xC81F2005, 0x3336FFFF, 0x22D604F0, 0xCADC2000, 0x0019BC02, 0x22F704F0, 0xCAFD2000, 0x489AF000, 0x20150170, 0x4BBFE6C0, 0x22B5FFF0, 0x22F70010, 0x22D60010, 0x4B1EEEC8, 0xCADC2000, 0xCAFD2000, 0x1EA0FFF8, 0xEADB207F, 0x0900043B, 0x23DEFFF8, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80073E00 +.word 0x00000000 + +glabel D_80073E04 +.word 0x00000000 + +glabel D_80073E08 +.word 0x00000000 + +glabel D_80073E0A +.word 0x00000000 + +glabel D_80073E10 +.word 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0FFFFFFF, 0x00FFFFFF, 0x000FFFFF, 0x0000FFFF, 0x00000FFF, 0x000000FF, 0x0000000F, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0FFFFFFF, 0x00FFFFFF, 0x000FFFFF, 0x0000FFFF, 0x00000FFF, 0x000000FF, 0x0000000F, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0FFFFFFF, 0x00FFFFFF, 0x000FFFFF, 0x0000FFFF, 0x00000FFF, 0x000000FF, 0x0000000F, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0FFFFFFF, 0x00FFFFFF, 0x000FFFFF, 0x0000FFFF, 0x00000FFF, 0x000000FF, 0x0000000F, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0FFFFFFF, 0x00FFFFFF, 0x000FFFFF, 0x0000FFFF, 0x00000FFF, 0x000000FF, 0x0000000F, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0FFFFFFF, 0x00FFFFFF, 0x000FFFFF, 0x0000FFFF, 0x00000FFF, 0x000000FF, 0x0000000F, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x0FFFFFFF, 0x00FFFFFF, 0x000FFFFF, 0x0000FFFF, 0x00000FFF, 0x000000FF, 0x0000000F, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x0FFFFFFF, 0x00FFFFFF, 0x000FFFFF, 0x0000FFFF, 0x00000FFF, 0x000000FF, 0x0000000F, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80074010 +.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + +glabel D_80074020 +.ascii "" + +glabel D_80074021 +.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + +glabel gGameStatusPtr +.word 0x80074024 + +glabel D_800741A0 +.word 0x00000000 + +glabel D_800741A2 +.word 0x00000000 + +glabel D_800741A8 +.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + +glabel D_800741F0 +.word 0x00000000 + +glabel D_800741F4 +.word 0x00000000 + +glabel D_800741F8 +.word 0x00000000, 0x00000000, 0x028001E0, 0x01FF0000, 0x028001E0, 0x01FF0000, 0xE200001C, 0x0F0A4000, 0xFCFFFFFF, 0xFFFE793C, 0xE3001801, 0x00000040, 0xDF000000, 0x00000000, 0xDC080008, 0x80074200, 0xD9000000, 0x00000000, 0xD9FFFFFF, 0x00200405, 0xD7000000, 0x00000000, 0xDF000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80074260 +.word 0x00000000 + +glabel D_80074264 +.word 0x00000000, 0x00000000, 0x00000000 + +glabel D_80074270 +.word 0x00000000 + +glabel D_80074274 +.word 0x00000000, 0x3C8EF77F, 0x3D0EF241, 0x3D565E46, 0x3D8EDC3C, 0x3DB27ED8, 0x3DD612C7, 0x3DF99674, 0x3E0E835E, 0x3E20303C, 0x3E31D0C8, 0x3E43636F, 0x3E54E6E2, 0x3E66598E, 0x3E77BA67, 0x3E8483ED, 0x3E8D204B, 0x3E95B1C8, 0x3E9E377A, 0x3EA6B0D9, 0x3EAF1D3F, 0x3EB77C03, 0x3EBFCC7D, 0x3EC80DE5, 0x3ED03FD5, 0x3ED86163, 0x3EE0722A, 0x3EE87161, 0x3EF05EA2, 0x3EF83904, 0x3F000000, 0x3F03D988, 0x3F07A8C6, 0x3F0B6D76, 0x3F0F2746, 0x3F12D5E0, 0x3F167914, 0x3F1A108C, 0x3F1D9BF6, 0x3F211B1E, 0x3F248DC1, 0x3F27F37C, 0x3F2B4C2B, 0x3F2E976C, 0x3F31D51B, 0x3F3504F7, 0x3F3826AB, 0x3F3B3A04, 0x3F3E3EC0, 0x3F4134AD, 0x3F441B76, 0x3F46F30A, 0x3F49BB17, 0x3F4C7369, 0x3F4F1BBD, 0x3F51B3F2, 0x3F543BD6, 0x3F56B325, 0x3F5919AC, 0x3F5B6F4C, 0x3F5DB3D0, 0x3F5FE719, 0x3F6208E1, 0x3F641909, 0x3F66175D, 0x3F6803CD, 0x3F69DE16, 0x3F6BA637, 0x3F6D5BEE, 0x3F6EFF19, 0x3F708FB8, 0x3F720D88, 0x3F737879, 0x3F74D068, 0x3F761544, 0x3F7746ED, 0x3F786552, 0x3F797050, 0x3F7A67E8, 0x3F7B4BE8, 0x3F7C1C61, 0x3F7CD91F, 0x3F7D8234, 0x3F7E177F, 0x3F7E98FE, 0x3F7F06A3, 0x3F7F605B, 0x3F7FA637, 0x3F7FD817, 0x3F7FF60A, 0x3F800000 + +glabel D_800743E0 +.ascii "0123456789abcdefghijklmnopqrstuvwxyz\0\0\0\0\0\0\0\0\0\0\0\0" + +glabel gRandSeed +.ascii "\0\0\0" + +glabel D_80074414 +.word 0x3F800000, 0x3FA2F7CB, 0x3FA2F2A6, 0x3FA2EA10, 0x3FA2DE12, 0x3FA2CEAB, 0x3FA2BBDC, 0x3FA2A5AD, 0x3FA28C26, 0x3FA26F48, 0x3FA24F12, 0x3FA22B9D, 0x3FA204E2, 0x3FA1DAF0, 0x3FA1ADC9, 0x3FA17D85, 0x3FA14A23, 0x3FA113AD, 0x3FA0DA34, 0x3FA09DC7, 0x3FA05E68, 0x3FA01C26, 0x3F9FD71B, 0x3F9F8F47, 0x3F9F44BB, 0x3F9EF788, 0x3F9EA7BD, 0x3F9E5565, 0x3F9E0097, 0x3F9DA95D, 0x3F9D4FC6, 0x3F9CF3DC, 0x3F9C95C0, 0x3F9C357A, 0x3F9BD313, 0x3F9B6EAD, 0x3F9B083E, 0x3F9A9FF1, 0x3F9A35C6, 0x3F99C9CD, 0x3F995C21, 0x3F98ECD0, 0x3F987BE5, 0x3F980968, 0x3F979581, 0x3F972029, 0x3F96A97A, 0x3F963183, 0x3F95B84E, 0x3F953DEA, 0x3F94C272, 0x3F9445ED, 0x3F93C865, 0x3F9349E9, 0x3F92CA8A, 0x3F924A51, 0x3F91C958, 0x3F91479D, 0x3F90C533, 0x3F904229, 0x3F8FBE88, 0x3F8F3A60, 0x3F8EB5B3, 0x3F8E3098, 0x3F8DAB11, 0x3F8D252D, 0x3F8C9EF5, 0x3F8C1872, 0x3F8B91B4, 0x3F8B0AC4, 0x3F8A83A1, 0x3F89FC5D, 0x3F897500, 0x3F88ED91, 0x3F88661B, 0x3F87DEA4, 0x3F87572E, 0x3F86CFC8, 0x3F86487C, 0x3F85C140, 0x3F853A2E, 0x3F84B346, 0x3F842C91, 0x3F83A605, 0x3F831FBC, 0x3F8299B7, 0x3F8213F5, 0x3F818E75, 0x3F810953, 0x3F80847B, 0x3F800000 + +glabel D_80074580 +.word 0xE7000000, 0x00000000, 0xD7000000, 0xFFFFFFFF, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001201, 0x00000000, 0xE3001001, 0x00000000, 0xE3001402, 0x00000C00, 0xDF000000, 0x00000000 + +glabel D_800745D0 +.word 0x4D617269, 0x6F205374, 0x6F727920, 0x30303600, 0x99999999, 0x33333333, 0x99999999, 0x33333333, 0x99999999, 0x33333333, 0x99999999, 0x33333333, 0x99999999, 0x33333333, 0x99999999, 0x33333333, 0x33333333, 0x99999999, 0x44444444, 0x99999999, 0x44444444, 0xAAAAAAAA, 0x44444444, 0xAAAAAAAA, 0x44444444, 0xAAAAAAAA, 0x44444444, 0xAAAAAAAA, 0x44444444, 0xAAAAAAAA, 0x55555555, 0xAAAAAAAA, 0x55555555, 0xAAAAAAAA, 0x55555555, 0xBBBBBBBB, 0xBBBBBBBB, 0x66666666, 0xBBBBBBBB, 0x66666666, 0xBBBBBBBB, 0x66666666, 0xCCCCCCCC, 0x66666666, 0xCCCCCCCC, 0x66666666, 0xCCCCCCCC, 0x77777777, 0xCCCCCCCC, 0x77777777, 0xCCCCCCCC, 0x77777777, 0xCCCCCCCC, 0x77777777, 0x88888888, 0xDDDDDDDD, 0x88888888, 0xDDDDDDDD, 0x88888888, 0xDDDDDDDD, 0x88888888, 0xDDDDDDDD, 0x88888888, 0xDDDDDDDD, 0x88888888, 0xDDDDDDDD, 0x88888888, 0xDDDDDDDD, 0xE3001001, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFD900000, 0x800745E0, 0xF5900000, 0x07094040, 0xE6000000, 0x00000000, 0xF3000000, 0x0707F800, 0xE7000000, 0x00000000, 0xF5800200, 0x00094040, 0xF2000000, 0x0003C07C, 0xDF000000, 0x00000000, 0x9F7C1A00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xAA851B00, 0xAA851B00, 0xAA851B00, 0xAA851B00, 0xAA851B00, 0xAA851B00, 0xAA851B00, 0xAA851B00, 0xAA851B00, 0xAA851B02, 0xAA851B03, 0xAA851B05, 0xAA851B05, 0xAA851B05, 0xA07E1A05, 0xAC871C00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB58F1D01, 0xB7931E03, 0xBC9A200E, 0xBE9E2126, 0xC3A72453, 0xC4A92477, 0xD0BA2C92, 0xD1BA2BAA, 0xD5C030CF, 0xCBB327EB, 0xD3BD2EEB, 0xCDB629EC, 0xCAB127E6, 0xCCB327DE, 0xA9851B00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB8931E00, 0xBC9B2112, 0xCEB62C38, 0xCDB52973, 0xCDB627B4, 0xD0B929E0, 0xD3BE2CE8, 0xE2D039ED, 0xC9B122EE, 0xE8D83FEF, 0xDBC734EE, 0xEDDE45ED, 0xCDB422CF, 0xE5D43DF2, 0xD9C42FD8, 0xC6AA1FE9, 0xE4D33AF4, 0xA9851B00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB9951F0C, 0xC3A72341, 0xD1BB2A9D, 0xCCB525DF, 0xEBDC42E1, 0xD5BF2DD2, 0xE3D13AE8, 0xD6C02BCB, 0xDECB37F0, 0xE4D239CC, 0xC2A51CD8, 0xE9DA3FEE, 0xD3BB2AD5, 0xEDDD45E2, 0xCFB824CC, 0xEADB43F1, 0xDCC62FCE, 0xC2A61CE9, 0xE7D73CFC, 0xA9851B00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB8941F06, 0xC2A3232D, 0xC6AA256E, 0xD3BE2BC0, 0xD4BF2BFD, 0xE6D43BDA, 0xC3A61CD5, 0xF0E247EE, 0xD3BB2ACE, 0xE7D63EE2, 0xD9C42DCE, 0xE3D13BF2, 0xEDDE44CF, 0xC4A71DD6, 0xECDD42F0, 0xCFB726CE, 0xECDD44E2, 0xD3BC27CD, 0xE9D942F2, 0xDCC72FCE, 0xC7AC20E9, 0xE3D035FC, 0xAA851B00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB6911E01, 0xBE9E2229, 0xD1BB2AA2, 0xD1BA27ED, 0xD7C22DF3, 0xF2E54AD2, 0xD1BC2BF0, 0xE8D83DCF, 0xC4A81DD6, 0xF2E54AF0, 0xCAB020CE, 0xECDD44E3, 0xD2BB27CC, 0xD2BC2DF1, 0xE5D43CCC, 0xC7AD22D5, 0xEDDE44EF, 0xD4BF2ECF, 0xE4D33DE4, 0xD9C331D2, 0xF4E64CF5, 0xE7D63FD7, 0xD6C230EE, 0xEADA43FD, 0xAE8A1B00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB58F1D01, 0xBC9A201F, 0xCEB62993, 0xCEB927F3, 0xD9C62DF8, 0xC9AE20CC, 0xE5D43DE2, 0xF4E64CCE, 0xD6C12FF2, 0xEBDB41CF, 0xC4A81DD4, 0xECDD44EF, 0xC8AE22CD, 0xD7C230E4, 0xD1B92AD4, 0xD7C32FF8, 0xDBC833E2, 0xDAC62FF2, 0xDCC634F9, 0xD3B92DF6, 0xCCAC2AFB, 0xC59E26FD, 0xC09324FF, 0xC29124FE, 0xC38F25FF, 0xCA9627FF, 0xB38F1B00, 0xB48D1D00, 0xB38C1D00, 0xB28B1C00, 0xB38C1C01, 0xBC9B2059, 0xCCB328A8, 0xCFB928F0, 0xE0CE34E6, 0xC5A91ED5, 0xE1CF34EF, 0xCAB020CE, 0xE4D23CE2, 0xEEE046CC, 0xCDB629F2, 0xF3E64BCE, 0xCDB529E3, 0xE7D63DF2, 0xDFCD32EF, 0xDDCA31F9, 0xD4BC2DFD, 0xC09024FF, 0xAB5C1AFF, 0xA34715FF, 0x95330FFF, 0x88260BFF, 0x822009FF, 0x811F09FF, 0x801E09FF, 0x821F09FF, 0x811D08FF, 0x801D08FF, 0xC8AF25A0, 0xC5AB2487, 0xBE9E2198, 0xC0A32265, 0xBE9F2174, 0xC8AF23F6, 0xD2BC28EC, 0xC8AF22F3, 0xECDC42CF, 0xD2BA2BD6, 0xEADA40F0, 0xC9AE20CB, 0xD8C332E3, 0xD9C533D6, 0xD8C32EFC, 0xDFCE33F1, 0xE0CB34FF, 0xD7AA2DFF, 0xC17221FF, 0x9F4013FF, 0x87250BFF, 0x7E1D07FF, 0x7A1B06FF, 0x791A06FF, 0x771A06FF, 0x771A06FF, 0x791A06FF, 0x7B1B07FF, 0x7E1E07FF, 0x7C1B07FF, 0x7B1B07FF, 0x7B1B07FF, 0xCDB828FF, 0xCAB326FF, 0xBFA321FF, 0xC8B026FF, 0xE3D434FB, 0xC3A821F5, 0xD3BD2BD2, 0xCBB325F2, 0xE8D73DCF, 0xCEB528D5, 0xE2D03AEC, 0xD3B92BE4, 0xDFCD33F6, 0xDBC331FE, 0xC88B26FF, 0xB75C1AFF, 0xA23712FF, 0x89230AFF, 0x7C1C08FF, 0x781A06FF, 0x771A06FF, 0x771A06FF, 0x771A06FF, 0x781A06FF, 0x781A06FF, 0x781A06FF, 0x791B07FF, 0x7B1B07FF, 0x7C1C07FF, 0x7A1B07FF, 0x7B1B07FF, 0x7B1B07FF, 0xD9C530FF, 0xCBB527FF, 0xD7BF38FF, 0xD0B92DFF, 0xDECE30FC, 0xBFA31FF1, 0xE1CF3ACB, 0xDDC936F2, 0xEDDD45CC, 0xDFCB36F2, 0xE4D536F9, 0xD8BA30FF, 0xB35E1BFF, 0x97300EFF, 0x8A220AFF, 0x811E08FF, 0x7A1B07FF, 0x781B06FF, 0x771A06FF, 0x771A06FF, 0x781A06FF, 0x781A06FF, 0x771A06FF, 0x751906FF, 0x751805FF, 0x741804FF, 0x731704FF, 0x751704FF, 0x771905FF, 0x7A1A06FF, 0x791A06FF, 0x7A1A06FF, 0xE4D33AFF, 0xCCB627FF, 0xDBC63CFF, 0xCFB82EFF, 0xC9B327E3, 0xBC9D27EA, 0xCEB529CC, 0xD5B62FFC, 0xE9DB3BF2, 0xE8D237FF, 0xCB8524FF, 0x98350FFF, 0x831E08FF, 0x801D08FF, 0x811E08FF, 0x7E1C07FF, 0x7B1B07FF, 0x791B07FF, 0x771A06FF, 0x751905FF, 0x731805FF, 0x731804FF, 0x751703FF, 0x761704FF, 0x771804FF, 0x781804FF, 0x791804FF, 0x7A1804FF, 0x7A1804FF, 0x7A1804FF, 0x7B1804FF, 0x7A1804FF, 0xE8D543FF, 0xCDB729FF, 0xDEC841FF, 0xBCA119FF, 0xC2A943DC, 0xB08819F2, 0xD5C02DF5, 0xEAD737FF, 0xCB8A25FF, 0x95330DFF, 0x871E07FF, 0x861E07FF, 0x821D08FF, 0x801C07FF, 0x7B1A06FF, 0x761905FF, 0x741805FF, 0x731704FF, 0x741804FF, 0x771804FF, 0x791804FF, 0x7B1805FF, 0x7B1805FF, 0x7B1805FF, 0x7B1805FF, 0x7B1805FF, 0x7A1805FF, 0x791805FF, 0x791805FF, 0x791905FF, 0x7A1905FF, 0x791805FF, 0xEAD74EFF, 0xD3BD31FF, 0xDEC842FF, 0xB5961AFF, 0xB6913AF4, 0xC9AD24FC, 0xCFA128FF, 0x96370EFF, 0x801804FF, 0x801904FF, 0x821904FF, 0x801803FF, 0x7B1703FF, 0x751502FF, 0x721503FF, 0x731603FF, 0x781704FF, 0x7A1804FF, 0x7B1804FF, 0x7C1804FF, 0x7C1805FF, 0x7A1805FF, 0x7A1805FF, 0x791805FF, 0x781805FF, 0x761805FF, 0x751805FF, 0x741705FF, 0x721705FF, 0x721705FF, 0x721705FF, 0x721705FF, 0xECD955FF, 0xE5D049FF, 0xD2B934FF, 0xB19127FF, 0xC1A12EFF, 0xA56715FF, 0x7C1D05FF, 0x7E1804FF, 0x7D1703FF, 0x7B1702FF, 0x771501FF, 0x761401FF, 0x741401FF, 0x751603FF, 0x781704FF, 0x7A1704FF, 0x7B1704FF, 0x7B1704FF, 0x7A1805FF, 0x791805FF, 0x771705FF, 0x751705FF, 0x731705FF, 0x721705FF, 0x701605FF, 0x6D1605FF, 0x6B1605FF, 0x691505FF, 0x681505FF, 0x671404FF, 0x671405FF, 0x671405FF, 0xEDDA57FF, 0xEAD64FFF, 0xD1B933FF, 0xA88622FF, 0x8C491EFF, 0x6C1302FF, 0x771503FF, 0x761502FF, 0x701402FF, 0x6D1301FF, 0x6E1403FF, 0x701503FF, 0x751603FF, 0x781804FF, 0x7A1804FF, 0x791804FF, 0x781705FF, 0x751705FF, 0x721805FF, 0x6F1705FF, 0x6C1605FF, 0x691605FF, 0x671605FF, 0x661405FF, 0x641305FF, 0x621305FF, 0x601304FF, 0x611304FF, 0x611304FF, 0x611304FF, 0x611304FF, 0x631404FF, 0xEFDB56FF, 0xF0DF53FF, 0xD5BE38FF, 0x9B7016FF, 0x671704FF, 0x6C1202FF, 0x6E1301FF, 0x691302FF, 0x681303FF, 0x6B1404FF, 0x6F1605FF, 0x731805FF, 0x761705FF, 0x761805FF, 0x741705FF, 0x701605FF, 0x6E1705FF, 0x691605FF, 0x651504FF, 0x631404FF, 0x611304FF, 0x5F1204FF, 0x5E1204FF, 0x5E1204FF, 0x5D1204FF, 0x5D1204FF, 0x5F1204FF, 0x5F1204FF, 0x601304FF, 0x621404FF, 0x621404FF, 0x651604FF, 0xF3E44FFF, 0xF4E74CFF, 0xCFB82EFF, 0x905A19FF, 0x610F01FF, 0x641202FF, 0x631203FF, 0x641303FF, 0x691404FF, 0x701705FF, 0x721805FF, 0x721805FF, 0x711705FF, 0x6E1705FF, 0x691504FF, 0x661405FF, 0x621404FF, 0x5F1304FF, 0x5E1204FF, 0x5D1204FF, 0x5C1204FF, 0x5C1204FF, 0x5C1204FF, 0x5D1204FF, 0x5E1204FF, 0x5F1304FF, 0x601304FF, 0x611404FF, 0x621404FF, 0x631504FF, 0x651604FF, 0x671704FF, 0xEBDC42FF, 0xDCCB35FF, 0xAE8B1EFF, 0x692008FF, 0x580E01FF, 0x590F02FF, 0x5F1203FF, 0x681404FF, 0x6F1605FF, 0x711705FF, 0x6D1705FF, 0x6A1605FF, 0x671505FF, 0x641404FF, 0x601303FF, 0x5E1304FF, 0x5D1204FF, 0x5C1204FF, 0x5C1204FF, 0x5C1203FF, 0x5C1203FF, 0x5D1303FF, 0x5D1304FF, 0x5D1404FF, 0x5D1404FF, 0x5E1404FF, 0x5F1403FF, 0x5F1403FF, 0x601403FF, 0x611403FF, 0x621402FF, 0x641402FF, 0xE2CD3AFF, 0xB09020FF, 0x6C2A0BFF, 0x4F0C01FF, 0x4D0D01FF, 0x591102FF, 0x651404FF, 0x6C1605FF, 0x6C1605FF, 0x681605FF, 0x641405FF, 0x611304FF, 0x601204FF, 0x5E1203FF, 0x5C1203FF, 0x5C1203FF, 0x5C1204FF, 0x5D1304FF, 0x5F1304FF, 0x601404FF, 0x611404FF, 0x601403FF, 0x5F1403FF, 0x5D1403FF, 0x5E1403FF, 0x5F1403FF, 0x601403FF, 0x621403FF, 0x621403FF, 0x631403FF, 0x641402FF, 0x651402FF, 0xE9D63EFF, 0xA98421FF, 0x4E0F03FF, 0x470B01FF, 0x530F03FF, 0x621305FF, 0x681605FF, 0x651505FF, 0x611404FF, 0x5E1203FF, 0x5C1204FF, 0x5C1204FF, 0x5C1203FF, 0x5C1304FF, 0x5D1204FF, 0x5F1405FF, 0x611506FF, 0x631505FF, 0x641505FF, 0x641505FF, 0x641504FF, 0x631503FF, 0x621403FF, 0x641403FF, 0x671503FF, 0x681603FF, 0x6A1604FF, 0x6C1704FF, 0x6D1704FF, 0x6D1704FF, 0x6D1804FF, 0x6C1804FF, 0xE4CC37FF, 0x9E7322FF, 0x440901FF, 0x4A0C01FF, 0x5C1204FF, 0x651405FF, 0x611504FF, 0x5C1204FF, 0x5A1102FF, 0x591003FF, 0x5A1104FF, 0x5C1204FF, 0x5E1305FF, 0x601405FF, 0x611405FF, 0x621605FF, 0x621605FF, 0x631604FF, 0x631504FF, 0x651603FF, 0x671603FF, 0x691603FF, 0x6D1703FF, 0x701704FF, 0x721804FF, 0x731804FF, 0x751904FF, 0x751904FF, 0x761904FF, 0x751904FF, 0x751904FF, 0x731804FF, 0xEDD639FF, 0xAA8624FF, 0x460B01FF, 0x510F03FF, 0x5E1304FF, 0x5E1304FF, 0x5A1103FF, 0x571002FF, 0x561002FF, 0x581104FF, 0x5E1205FF, 0x611505FF, 0x621506FF, 0x611505FF, 0x5F1404FF, 0x5D1403FF, 0x5F1403FF, 0x641503FF, 0x681603FF, 0x6B1703FF, 0x6E1704FF, 0x721804FF, 0x751804FF, 0x771904FF, 0x771904FF, 0x781905FF, 0x791905FF, 0x791905FF, 0x781905FF, 0x781905FF, 0x781905FF, 0x751805FF, 0xCBAE27FF, 0x956E1DFF, 0x4A0C02FF, 0x520F03FF, 0x591104FF, 0x571102FF, 0x550F02FF, 0x540F03FF, 0x571104FF, 0x5D1405FF, 0x631506FF, 0x621505FF, 0x5E1404FF, 0x5C1204FF, 0x5B1203FF, 0x5D1303FF, 0x631503FF, 0x6A1703FF, 0x6E1804FF, 0x711804FF, 0x741905FF, 0x771904FF, 0x791A05FF, 0x7A1A05FF, 0x7A1A05FF, 0x7A1A05FF, 0x7A1A05FF, 0x791905FF, 0x791905FF, 0x791905FF, 0x781905FF, 0x751805FF, 0xAF8612FF, 0x612C0CFF, 0x480C02FF, 0x4B0D02FF, 0x510E01FF, 0x510E01FF, 0x530F03FF, 0x571104FF, 0x5D1305FF, 0x611505FF, 0x601404FF, 0x5C1303FF, 0x5B1103FF, 0x5D1203FF, 0x601403FF, 0x651504FF, 0x6C1804FF, 0x721905FF, 0x761A05FF, 0x781905FF, 0x7A1A05FF, 0x7B1A05FF, 0x7B1A05FF, 0x7B1A06FF, 0x7B1A06FF, 0x7B1A05FF, 0x7A1A05FF, 0x7A1A05FF, 0x7A1905FF, 0x781905FF, 0x781905FF, 0x751804FF, 0xA6790EFF, 0x481002FF, 0x400A01FF, 0x420A01FF, 0x490C01FF, 0x510E03FF, 0x571204FF, 0x5D1405FF, 0x5E1405FF, 0x5C1304FF, 0x5A1203FF, 0x5A1203FF, 0x5D1303FF, 0x621504FF, 0x6A1705FF, 0x701805FF, 0x761905FF, 0x791A05FF, 0x7A1A06FF, 0x7B1A06FF, 0x7A1A06FF, 0x791A06FF, 0x781A06FF, 0x781A06FF, 0x771906FF, 0x761905FF, 0x771905FF, 0x781905FF, 0x781905FF, 0x771905FF, 0x761905FF, 0x731804FF, 0xAA7F10FF, 0x440F01FF, 0x390800FF, 0x3D0801FF, 0x4B0E03FF, 0x571204FF, 0x5D1305FF, 0x5D1405FF, 0x5B1304FF, 0x591102FF, 0x581102FF, 0x5A1304FF, 0x621504FF, 0x6C1705FF, 0x741905FF, 0x781A05FF, 0x7A1A05FF, 0x791A06FF, 0x771906FF, 0x751905FF, 0x741805FF, 0x731805FF, 0x711704FF, 0x701704FF, 0x701703FF, 0x711704FF, 0x731805FF, 0x741805FF, 0x741805FF, 0x731804FF, 0x721804FF, 0x701704FF, 0xA97E0FFF, 0x430F02FF, 0x370801FF, 0x420B02FF, 0x531104FF, 0x5C1305FF, 0x5C1305FF, 0x581103FF, 0x561002FF, 0x571103FF, 0x5A1304FF, 0x631605FF, 0x6E1704FF, 0x741905FF, 0x761905FF, 0x751905FF, 0x741805FF, 0x711705FF, 0x6E1703FF, 0x6D1703FF, 0x6C1703FF, 0x6C1604FF, 0x6C1603FF, 0x6D1604FF, 0x6E1704FF, 0x701705FF, 0x701705FF, 0x701704FF, 0x6F1604FF, 0x6D1604FF, 0x6C1604FF, 0x6A1604FF, 0xA97F0FFF, 0x410D01FF, 0x3C0A01FF, 0x4B0F03FF, 0x5A1305FF, 0x591305FF, 0x511002FF, 0x4F0F02FF, 0x551204FF, 0x5F1404FF, 0x681605FF, 0x6C1704FF, 0x6D1704FF, 0x6E1805FF, 0x6D1804FF, 0x6B1604FF, 0x691504FF, 0x691503FF, 0x681503FF, 0x681503FF, 0x691504FF, 0x691504FF, 0x6A1604FF, 0x6A1605FF, 0x6A1504FF, 0x691604FF, 0x681604FF, 0x661504FF, 0x641504FF, 0x641504FF, 0x641504FF, 0x601504FF, 0xA97F10FF, 0x3E0D01FF, 0x420B02FF, 0x521003FF, 0x561205FF, 0x4B0E03FF, 0x4B0D02FF, 0x561203FF, 0x611504FF, 0x671504FF, 0x651604FF, 0x621504FF, 0x611504FF, 0x621404FF, 0x601404FF, 0x5F1404FF, 0x5F1404FF, 0x611404FF, 0x611404FF, 0x611404FF, 0x611404FF, 0x611404FF, 0x601404FF, 0x611503FF, 0x601403FF, 0x5F1403FF, 0x5E1404FF, 0x5D1404FF, 0x5C1403FF, 0x5C1403FF, 0x5C1403FF, 0x5A1403FF, 0xA87E0FFF, 0x430E01FF, 0x4B0E03FF, 0x4E0F03FF, 0x460C02FF, 0x490C02FF, 0x571204FF, 0x5F1504FF, 0x5D1403FF, 0x591404FF, 0x571304FF, 0x571304FF, 0x571304FF, 0x571304FF, 0x571304FF, 0x561303FF, 0x571403FF, 0x571403FF, 0x571403FF, 0x571403FF, 0x581403FF, 0x581403FF, 0x581403FF, 0x581403FF, 0x581403FF, 0x581403FF, 0x571403FF, 0x571303FF, 0x571303FF, 0x561303FF, 0x561303FF, 0x541303F4, 0xA77D12FF, 0x4B1002FF, 0x4B0F03FF, 0x450C03FF, 0x4A0D02FF, 0x541304FF, 0x561404FF, 0x521304FF, 0x501203FF, 0x501203FF, 0x501203FF, 0x511203FF, 0x511203FF, 0x511203FF, 0x511203FF, 0x511203FF, 0x511203FF, 0x511203FF, 0x511203FF, 0x521303FF, 0x531303FF, 0x531303FF, 0x531303FF, 0x531303FF, 0x531303FF, 0x531303FF, 0x531303FF, 0x531203FF, 0x521203FF, 0x521303FF, 0x521303FF, 0x521303FF, 0xE3001001, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFD180000, 0x80074730, 0xF5180000, 0x07094150, 0xE6000000, 0x00000000, 0xF3000000, 0x073FF080, 0xE7000000, 0x00000000, 0xF5181000, 0x00094150, 0xF2000000, 0x0007C07C, 0xDF000000, 0x00000000, 0x09333336, 0x72222222, 0x53333336, 0x72222222, 0x44005553, 0x11177772, 0x00005553, 0x11177D82, 0x44005553, 0x11117772, 0x00005553, 0x11117D82, 0x44A00553, 0x16111772, 0x00000553, 0x16111D82, 0x44A00053, 0x16611172, 0x00000053, 0x16611782, 0x44A00003, 0x16661112, 0x00000003, 0x16661782, 0x44A00003, 0x16666112, 0x00000003, 0x16666182, 0x4400000F, 0x1111111D, 0x0000000F, 0x111111D2, 0x61D22222, 0x53333336, 0x72222222, 0x5333336D, 0xE9677772, 0x00005553, 0x11177772, 0x0000537D, 0xE9617772, 0x00005553, 0x11117772, 0x0000537D, 0xE9611772, 0x00000553, 0x16111772, 0x00000C7D, 0xE9B61172, 0x00000053, 0x16611172, 0x00000C7D, 0xE9B61112, 0x00000003, 0x16661112, 0x0000091D, 0xE9B66112, 0x00000003, 0x16666112, 0x0000051D, 0xEE11111D, 0x0000000F, 0x1111111D, 0x00000097, 0xE5D79BC9, 0x7285BCCF, 0xEE9FDD93, 0xA40D9345, 0x6203C515, 0xE61BAC4F, 0xCD118309, 0xB4D5D555, 0xE3001001, 0x00008000, 0xFD100000, 0x80075880, 0xE8000000, 0x00000000, 0xF5000100, 0x07000000, 0xE6000000, 0x00000000, 0xF0000000, 0x0703C000, 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFD500000, 0x80075780, 0xF5500000, 0x07010250, 0xE6000000, 0x00000000, 0xF3000000, 0x0707F400, 0xE7000000, 0x00000000, 0xF5400400, 0x00010250, 0xF2000000, 0x0007C03C, 0xDF000000, 0x00000000, 0xF9C0FD44, 0x00500000, 0x00CD0000, 0xFFFFFFFF, 0xFAB0FD44, 0x00500000, 0x035C0000, 0xFFFFFFFF, 0xFAB0039D, 0x00500000, 0x035C1155, 0xFFFFFFFF, 0xF9C0039D, 0x00500000, 0x00CD1155, 0xFFFFFFFF, 0xFAECFD44, 0x00000000, 0x04000000, 0xC1BBA3FF, 0xFAEC039D, 0x00000000, 0x04001155, 0xC1BBA3FF, 0x0514FD44, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x0550FD44, 0x00500000, 0x00A40000, 0xFFFFFFFF, 0x0550039D, 0x00500000, 0x00A41155, 0xC1BBA3FF, 0x0514039D, 0x00000000, 0x00001155, 0xFFFFFFFF, 0x0640FD44, 0x00500000, 0x03330000, 0xC5B69FFF, 0x0640039D, 0x00500000, 0x03331155, 0x867C49FF, 0x0320FD44, 0x00000000, 0x0A800400, 0xFFFFFFFF, 0x0000FD44, 0x00000000, 0x06800400, 0xFFFFFFFF, 0x0000FD13, 0x03480000, 0x0680008B, 0xFFFFFFFF, 0x0320FD13, 0x03480000, 0x0A80008B, 0xFFFFFFFF, 0x0640FD13, 0x03480000, 0x0E80008B, 0xC7C7D0FF, 0x0640FD44, 0x00000000, 0x0E800400, 0xC7C7D0FF, 0xFCE0FD44, 0x00000000, 0x02800400, 0xFFFFFFFF, 0xFCE0FD13, 0x03480000, 0x0280008B, 0xFFFFFFFF, 0x0000FD13, 0x03480000, 0x0680008B, 0xFFFFFFFF, 0x0000FCDD, 0x03520000, 0x06800080, 0xC7C7D0FF, 0x0320FCDD, 0x03520000, 0x0A800080, 0xC7C7D0FF, 0x0640FCDD, 0x03520000, 0x0E800080, 0x8C8CA9FF, 0xFCE0FD13, 0x03480000, 0x0280008B, 0xFFFFFFFF, 0xF9C0FD13, 0x03480000, 0xFE80008B, 0xC7C7D0FF, 0xF9C0FCDD, 0x03520000, 0xFE800080, 0x8C8CA9FF, 0xFCE0FCDD, 0x03520000, 0x02800080, 0xC7C7D0FF, 0xF9C0FD44, 0x00000000, 0xFE800400, 0xC7C7D0FF, 0xF9C0F9BD, 0x03200000, 0xFE80FD00, 0x8C8CA9FF, 0xFCE0F9BD, 0x03200000, 0x0280FD00, 0x8C8CA9FF, 0xFCE0FCDD, 0x03520000, 0x02800080, 0xA5A5B6FF, 0x0640F9BD, 0x03200000, 0x0E80FD00, 0x8C8CA9FF, 0x0320F9BD, 0x03200000, 0x0A80FD00, 0x8C8CA9FF, 0x0320FCDD, 0x03520000, 0x0A800080, 0xA5A5B6FF, 0x0000FCDD, 0x03520000, 0x06800080, 0xA5A5B6FF, 0x0000F9BD, 0x03200000, 0x0680FD00, 0x8C8CA9FF, 0x04C9FD44, 0x00000000, 0x00000000, 0x00000000, 0x0514FD44, 0x00000000, 0x00000000, 0x00000065, 0x0514038E, 0x00000000, 0x00000000, 0x00000065, 0x04C9038E, 0x00000000, 0x00000000, 0x00000000, 0xFAECFD44, 0xFFFF0000, 0x00000000, 0x00000065, 0xFB37FD44, 0xFFFF0000, 0x00000000, 0x00000000, 0xFB37038E, 0xFFFF0000, 0x00000000, 0x00000000, 0xFAEC038E, 0xFFFF0000, 0x00000000, 0x00000065, 0x01400470, 0x013A0000, 0xFC000400, 0xFFFFFFFF, 0x03C00467, 0x01080000, 0x04000400, 0xFFFFFFFF, 0x03C00623, 0x00C30000, 0x04000800, 0x000000FF, 0x0140062C, 0x00F40000, 0xFC000800, 0x000000FF, 0xFEC00470, 0x013A0000, 0xFC000400, 0xFFFFFFFF, 0x01400470, 0x013A0000, 0x04000400, 0xFFFFFFFF, 0x0140062C, 0x00F40000, 0x04000800, 0x000000FF, 0xFEC0062C, 0x00F40000, 0xFC000800, 0x000000FF, 0xFC400467, 0x01080000, 0xFC000400, 0xFFFFFFFF, 0xFEC00470, 0x013A0000, 0x04000400, 0xFFFFFFFF, 0xFEC0062C, 0x00F40000, 0x04000800, 0x000000FF, 0xFC400623, 0x00C30000, 0xFC000800, 0x000000FF, 0xF9C0029A, 0x00EB0000, 0xFC000000, 0xC1A9A3FF, 0xFC4002AB, 0x014E0000, 0x04000000, 0xFFFFFFFF, 0xFC400467, 0x01080000, 0x04000400, 0xFFFFFFFF, 0xF9C00456, 0x00A60000, 0xFC000400, 0xC1A9A3FF, 0xFC400467, 0x01080000, 0x04000400, 0xFFFFFFFF, 0xFC400623, 0x00C30000, 0x04000800, 0x000000FF, 0xF9C00612, 0x00610000, 0xFC000800, 0x000000FF, 0x03C00467, 0x01080000, 0xFC000400, 0xFFFFFFFF, 0x06400456, 0x00A60000, 0x04000400, 0xC1A9A3FF, 0x06400612, 0x00610000, 0x04000800, 0x000000FF, 0x03C00623, 0x00C30000, 0xFC000800, 0x000000FF, 0xFEC002B4, 0x017F0000, 0x0C000000, 0xFFFFFFFF, 0xFEC00470, 0x013A0000, 0x0C000400, 0xFFFFFFFF, 0x014002B4, 0x017F0000, 0x14000000, 0xFFFFFFFF, 0x01400470, 0x013A0000, 0x14000400, 0xFFFFFFFF, 0x03C002AB, 0x014E0000, 0x1C000000, 0xFFFFFFFF, 0x03C00467, 0x01080000, 0x1C000400, 0xFFFFFFFF, 0x0640029A, 0x00EB0000, 0x24000000, 0xC1A9A3FF, 0x06400456, 0x00A60000, 0x24000400, 0xC1A9A3FF, 0xF9C002A3, 0x006E0000, 0xFC000000, 0x0000004B, 0xFB3702A3, 0x006E0000, 0x00B00000, 0x00000023, 0xFB37039D, 0x006E0000, 0x00B00253, 0x00000023, 0xF9C0039D, 0x006E0000, 0xFC000253, 0x0000004B, 0x04C902A3, 0x006E0000, 0x1F500000, 0x00000023, 0x064002A3, 0x006E0000, 0x24000000, 0x0000004B, 0x0640039D, 0x006E0000, 0x24000253, 0x0000004B, 0x04C9039D, 0x006E0000, 0x1F500253, 0x00000023, 0xE7000000, 0x00000000, 0xE200001C, 0x0C184340, 0xFC121803, 0xFFFFFFF8, 0xDE000000, 0x80075730, 0x01008010, 0x80075DE0, 0x06000204, 0x00000406, 0x06080A0C, 0x00080C0E, 0xDF000000, 0x00000000, 0xE7000000, 0x00000000, 0xE200001C, 0x0C184240, 0xFC127E03, 0xFFFFF3F8, 0xDE000000, 0x80075730, 0x0101F03E, 0x80075BF0, 0x06000204, 0x00000406, 0x06080A0C, 0x00080C0E, 0x06101214, 0x00101416, 0x06181A1C, 0x00181C1E, 0x061E2022, 0x001E2224, 0x0626282A, 0x00262A2C, 0x061A2E30, 0x001A301C, 0x062E3234, 0x002E3430, 0x06323638, 0x00323834, 0x06363A3C, 0x00363C38, 0xDF000000, 0x00000000, 0xE7000000, 0x00000000, 0xE200001C, 0x0C184240, 0xFCFFFE03, 0xFFFE79F8, 0xD7000000, 0x00800080, 0x01004008, 0x80075B70, 0x06000204, 0x00000406, 0x01004008, 0x80075BB0, 0x06000204, 0x00000406, 0xDF000000, 0x00000000, 0xE7000000, 0x00000000, 0xE200001C, 0x0F0A4200, 0xFC121803, 0xFFFFFFF8, 0xDE000000, 0x800746E0, 0x01019032, 0x800759E0, 0x06000204, 0x00000406, 0x06080A00, 0x00080006, 0x06020C0E, 0x00020E04, 0x06061012, 0x00061214, 0x06160806, 0x00160614, 0x06181A1C, 0x00181C1E, 0x0610181E, 0x00101E12, 0x060C201A, 0x000C1A0E, 0x061C2224, 0x00261C24, 0x0628162A, 0x00162C2A, 0x062E2624, 0x002E2430, 0x062C2E30, 0x002C302A, 0xDF000000, 0x00000000, 0xE7000000, 0x00000000, 0xE200001C, 0x0F0A4200, 0xFC121803, 0xFFFFFFF8, 0xDE000000, 0x800758A0, 0x0100600C, 0x80075980, 0x06000204, 0x00000406, 0x0602080A, 0x00020A04, 0xDF000000, 0x00000000, 0xE7000000, 0x00000000, 0xE200001C, 0x0F0A4200, 0xFC121803, 0xFFFFFFF8, 0xDE000000, 0x800758A0, 0x0100600C, 0x80075920, 0x06000204, 0x00000406, 0x0602080A, 0x00020A04, 0xDF000000, 0x00000000 + +glabel D_80076078 +.word 0xDE000000, 0x80075F68, 0xDE000000, 0x80076038, 0xDE000000, 0x80075FF8, 0xDE000000, 0x80075F20, 0xDE000000, 0x80075E60, 0xDE000000, 0x80075EA0, 0xDF000000, 0x00000000, 0x028001E0, 0x01FF0000, 0x028001E0, 0x01FF0000 + +glabel D_800760C0 +.word 0xDC080008, 0x800760B0, 0xE3000A01, 0x00100000, 0xE3000F00, 0x00000000, 0xE3000C00, 0x00080000, 0xE3001201, 0x00002000, 0xE3000D01, 0x00000000, 0xE3001402, 0x00000C00, 0xE3001700, 0x00000000, 0xE2001E01, 0x00000000, 0xED000000, 0x005003C0, 0xE3001801, 0x00000000, 0xE3001A01, 0x00000000, 0xD9000000, 0x00000000, 0xD9FFFFFF, 0x00200004, 0xDB0E0000, 0x00000014, 0xDF000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00030404, 0x04010000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x0B0B0B0B, 0x03000000, 0x00000000, 0x00000000, 0x00020000, 0x0000000B, 0x0B0B0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0A00, 0x04080B0E, 0x08000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000406, 0x080A0000, 0x00000408, 0x03000000, 0x00000108, 0x08000000, 0x000B2F3F, 0x1F080000, 0x07080808, 0x08050000, 0x00000000, 0x0000092F, 0xBFBFBF7F, 0x0E030000, 0x02080808, 0x08080102, 0x090F0C01, 0x0000000F, 0xBFBF2FBF, 0xFFFFFFFF, 0xFFFFFFEF, 0x0F0F0E0F, 0x2F5F8FCF, 0x0F070000, 0x00000708, 0x08080803, 0x00020B0B, 0x0B0B0800, 0x0000040F, 0x0F0F0F0A, 0x02040404, 0x04040709, 0x0C0F1F3F, 0x6F0F0508, 0x0B0F2F4F, 0x0E030000, 0x00080E3F, 0x2F0B0100, 0x000BBFFF, 0x6F080009, 0x2F6F6F6F, 0x6F0F0600, 0x00000000, 0x00092FEF, 0xFFFFFFFF, 0x8F0E0301, 0x0C3F6F6F, 0x6F3F0D0F, 0x4FDF4F0D, 0x0300000F, 0xFFFF3FBF, 0xFFFFFFFF, 0xFFFFFF0F, 0x9FFFFFEF, 0xFFFFFFFF, 0xCF0F0600, 0x00082F6F, 0x6F6F5F0E, 0x03073FBF, 0xBF7F0B00, 0x0000085F, 0xFFFF9F0B, 0x0A1F3F3F, 0x3F3F4F7F, 0xBFEFFF8F, 0x2F0F3F6F, 0x9FEFFFFF, 0x7F0E0100, 0x001FBFFF, 0xEF3F0C01, 0x000BBFFF, 0x6F08060F, 0xCFFFFFFF, 0xFFCF0F06, 0x00000000, 0x092FEFFF, 0xFFFFFFFF, 0xFF8F0E0C, 0x4FFFFFFF, 0xFFFF3F6F, 0xFFFFFF5F, 0x0E03000F, 0xFFFF3FBF, 0xFFFFFFFF, 0xFFFFFF0F, 0xBFFFFFFF, 0x7F4FEFFF, 0xFF9F0E03, 0x060FCFFF, 0xFFFFFF8F, 0x0E0A6FFF, 0xFF7F0B00, 0x0000097F, 0xFFFF6F0B, 0x086FFFFF, 0xFFFFFFFF, 0xFFFFFF3F, 0x7FFFFFFF, 0xFFCFFFFF, 0xFF4F0C01, 0x003FFFFF, 0xFFFF4F0C, 0x010BBFFF, 0x6F0C0FCF, 0xFFFFFFFF, 0xFFFF8F0F, 0x03000009, 0x2FEFFFFF, 0x6F0FCFFF, 0xFF8F0F3F, 0xFFFFFFFF, 0xFFFF6F6F, 0xFFFFFFFF, 0x8F0E030F, 0xFFFF3FBF, 0xFFFFFFFF, 0xFF3F0F0F, 0x4FFFFFBF, 0x0F0F2FEF, 0xFFFF8F0E, 0x0FCFFFFF, 0xFFFFFFFF, 0x7F0F8FFF, 0xFF6F0B00, 0x00000BBF, 0xFFFF6F0A, 0x086FFFFF, 0xFFFFFFFF, 0xFFFFFF3F, 0x9FFFFFDF, 0x0F0F8FFF, 0xFFFF3F0A, 0x003FFFFF, 0xFFFFFF4F, 0x0D0DBFFF, 0x6F0FCFFF, 0xFFEF5F0F, 0x8FFFFF8F, 0x0E00092F, 0xEFFFFF4F, 0x0F0F0F8F, 0x8F0F2FEF, 0xFFFFCF3F, 0x2FEF6F3F, 0xFFFFFFFF, 0xFF8F0E0F, 0xFFFF3F7F, 0x7F3F9FFF, 0xFF0F0F0F, 0x0F7FFFBF, 0x0F0F0F3F, 0xFFFFCF0F, 0xBFFFFFFF, 0x6F2FCFFF, 0xFF4F3FFF, 0xFF6F0800, 0x00000EDF, 0xFFFF6F08, 0x082FCFFF, 0xFFFFFFBF, 0xBFBFBF5F, 0x0F9FFFBF, 0x0F0F0F8F, 0xFFFFEF0F, 0x000F9FFF, 0xFFFFFFFF, 0x5F0FBFFF, 0x3F7FFFFF, 0xFF0F0F0F, 0x0FFFFFBF, 0x0C000FEF, 0xFFFF8F0F, 0x0F0F0F0F, 0x0F1FEFFF, 0xFF9F0F0F, 0x0F3FEF1F, 0xBFFFFFFF, 0xFFFF8F3F, 0xFFFF3F0F, 0x0F0F6FFF, 0xFF0F0C0B, 0x0F6FFFBF, 0x0F0F0F7F, 0xFFCF0F7F, 0xFFFFEF1F, 0x0F0F1FFF, 0xFFBF3FFF, 0xFF5F0800, 0x00000FFF, 0xFFFF3F08, 0x080F6FFF, 0xFFFFDF3F, 0x1F0F0F0F, 0x0F6FFFBF, 0x0F0F0F3F, 0xFFFF4F0F, 0x000F0FFF, 0xFFFFFFFF, 0xFFCFFFFF, 0x3FBFFFFF, 0xFF0F0F0F, 0x0FFFFFBF, 0x0E020FFF, 0xFFFF6F0F, 0x0F0F0F0F, 0x0F3FFFFF, 0xFF6F0F0F, 0x0F3FFF3F, 0xBFFFFFFF, 0xFFFFFFFF, 0xFFFF3F0F, 0x0F0F8FFF, 0xFF1F0300, 0x0F9FFFBF, 0x0F0F5FFF, 0xEF2F0FBF, 0xFFFFBF0F, 0x0F0F0FFF, 0xFFBF3FFF, 0xFF3F0800, 0x00042FFF, 0xFFFF3F08, 0x050F6FFF, 0xFFFFFFFF, 0xFFFF3F0F, 0x0F6FFFBF, 0x0F0F0FCF, 0xFF7F0F0F, 0x000A0FFF, 0xFF8FFFFF, 0xFFFFFFFF, 0x3FBFFFFF, 0xFF0F0F0F, 0x0FFFFFBF, 0x0B043FFF, 0xFFFF7F0F, 0x0F0F0F2F, 0x0F3FFFFF, 0xFF6F0F0F, 0x0F3FFF3F, 0xBFFFCF2F, 0xFFFFFFFF, 0xFFFF3F09, 0x050CBFFF, 0xFF3F0400, 0x0FBFFFEF, 0xBFEFFFEF, 0x2F0F0FBF, 0xFFFFBF0F, 0x0F0F0FFF, 0xFFBF3FFF, 0xFF3F0700, 0x00063FFF, 0xFFFF3F05, 0x00086FFF, 0xFFFFFFFF, 0xFFFF0F0F, 0x0F8FFFDF, 0x3F5FCFFF, 0x8F0F0F09, 0x00080FFF, 0xFF0F6FFF, 0xFFFFFFFF, 0x3FBFFFFF, 0xFF2F0F0F, 0x8FFFFFBF, 0x0B043FFF, 0xFFFFEF1F, 0x0F0F9FFF, 0x3F3FFFFF, 0xFF9F0F0F, 0x2FCFFF3F, 0xBFFFBF0F, 0x6FFFFFFF, 0xFFFF3F04, 0x000BBFFF, 0xFF3F0400, 0x0FBFFFFF, 0xFFFFFF4F, 0x0F0F0FBF, 0xFFFFEF0F, 0x0F0F8FFF, 0xFFBF3FFF, 0xFF3F0404, 0x04094FBF, 0xCFFF1F09, 0x080B3F6F, 0x6F7FFFFF, 0xFFFF0F0F, 0x0FBFFFFF, 0xFFFFFFCF, 0x0F0F0900, 0x00080FFF, 0xFF0F0FDF, 0xFFFFFFFF, 0x3F7FFFFF, 0xFFCF3FCF, 0xFFFFFFBF, 0x0B043FFF, 0xFFFFFFCF, 0x3FDFFFFF, 0xCF0FDFFF, 0xFFFF7F4F, 0xEFFFFF3F, 0xBFFFBF0F, 0x0FCFFFFF, 0xFFFF3F04, 0x000DCFFF, 0xFF3F0500, 0x0FBFFFFF, 0x8FEFFF2F, 0x0F0F0F9F, 0xFFFFFF9F, 0x2FBFFFFF, 0xFF6F5FFF, 0xFF2F0F3F, 0x3F3F3F2F, 0x2FFF7F6F, 0x6F6F6F6F, 0x3F3F6F1F, 0x0F0F0F0F, 0x0FBFFFFF, 0xFFFFFF0F, 0x0F0C0100, 0x00080FFF, 0xFF0F0F3F, 0xFFFFFFFF, 0x6F0F9FFF, 0xFFFFFFFF, 0xFFFFDF2F, 0x0B041FEF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFF5F2FEF, 0xFFFFFFFF, 0xFFFFFF3F, 0xBFFFBF0F, 0x0F3FFFFF, 0xFFFF2F04, 0x000FFFFF, 0xFF6F0800, 0x0FFFFF9F, 0x0F5FFFFF, 0x9F3F0F0F, 0xCFFFFFFF, 0xFFFFFFFF, 0xEF2F7FFF, 0xFFFFFFFF, 0xFFFFFF5F, 0x5FFFFFFF, 0xFFFFFFFF, 0x3F7FDFBF, 0xBFBFBFBF, 0x0FBFFFEF, 0x2F9FFFBF, 0x3F0E0801, 0x00080FFF, 0xFF0F0E0F, 0x7FFFFFEF, 0x2F0F0FCF, 0xFFFFFFFF, 0xFFCF0F0F, 0x0B040F2F, 0xEFFFFFFF, 0xFFFFFFFF, 0xFF8F0F3F, 0xFFFFFFFF, 0xFFFF8F0F, 0xBFFFBF0C, 0x0D0F7FFF, 0xFF4F0F04, 0x000FFFFF, 0xFF6F0800, 0x0FFFFF7F, 0x0F0FCFFF, 0xFFFFBF0F, 0x2FEFFFFF, 0xFFFFFFCF, 0x1F4FFFFF, 0xFFFFFFFF, 0xFFFFFF1F, 0xBFFFFFFF, 0xFFFFFFFF, 0x0FDFFFFF, 0xFFFFFFFF, 0x0FEFFF8F, 0x0F0FEFFF, 0xFFBF4F0E, 0x00080FFF, 0xFF0F050F, 0x0FEFEF2F, 0x0F0F0F0F, 0xEFFFFFFF, 0xCF0F0F0E, 0x05030F0F, 0x2FEFFFFF, 0xFFFFFFFF, 0x8F0F0F0F, 0x4FFFFFFF, 0xFF5F0F0F, 0xBFFFBF0B, 0x040F0FCF, 0x3F0F0F03, 0x000FFFFF, 0xFF6F0800, 0x0FFFFFBF, 0x0F0F3FFF, 0xFFFFFF0F, 0x0F2FFFFF, 0xFFFFCF0F, 0x0FFFFFFF, 0xFFFFFFFF, 0xFFFFDF0F, 0xFFFFFFFF, 0xFFFFFF9F, 0x1FFFFFFF, 0xFFFFFFFF, 0x0FFFFFBF, 0x0F0F5FFF, 0xFFFFFF0F, 0x00080FFF, 0xFF0F000A, 0x0F3F0F0F, 0x0F060E0F, 0x0F0F0F0F, 0x0F0F0E03, 0x0000060F, 0x0F2FEFFF, 0xDFBFBF7F, 0x0F0F0B0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x4F6F4F0B, 0x000A0F0F, 0x0F0F0900, 0x040F6F6F, 0x6F3F0B03, 0x0F6F6F4F, 0x0B0D0F6F, 0xBFBFBF0F, 0x0F0F2F3F, 0x3F3F0F0F, 0x0F3F6FBF, 0xDFFFFFFF, 0xFFFF7F0F, 0x4F7FBFEF, 0xFFFFFF5F, 0x5FFFCFBF, 0xBFBFBFBF, 0x0FFFFFBF, 0x0E0E0FCF, 0xFFFFFF0F, 0x00080F0F, 0x0F0F0001, 0x0E0F0F0F, 0x0600030E, 0x0F0F0F0F, 0x0F0E0300, 0x00000006, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F090009, 0x0F0F0F0F, 0x0F0F090C, 0x0F0F0F0B, 0x00010E0F, 0x0F080000, 0x030F0F0F, 0x0F0F0901, 0x0F0F0F0F, 0x0B040F0F, 0x0F0F0F0F, 0x0D0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F3F6F, 0x8FCF3F0F, 0x0F0F0F0F, 0x1F3F6F1F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0E080F1F, 0x3F3F3F0F, 0x00080F0F, 0x0F0F0000, 0x070F0E04, 0x00000005, 0x0B0B0B0B, 0x0A030000, 0x00000000, 0x060F0F0F, 0x0F0F0F0F, 0x09000000, 0x080B0B0B, 0x0B08000B, 0x0F0F0F0B, 0x0000050F, 0x06000000, 0x030F0F0F, 0x0F0F0A03, 0x0F0F0F0F, 0x0B000A0F, 0x0F0F0F0F, 0x00080B0B, 0x0B0B0E0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0D000D0F, 0x0F0F0F0F, 0x00030B0B, 0x0B0A0000, 0x00080300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00050808, 0x08080807, 0x00000000, 0x00000000, 0x00000002, 0x04040402, 0x00000001, 0x00000000, 0x00030404, 0x04040100, 0x03040404, 0x02000108, 0x08080807, 0x00000000, 0x00000000, 0x00000407, 0x090B0F0F, 0x0F0F0F04, 0x0104080A, 0x0C0F0F0F, 0x08080808, 0x08080808, 0x0A0B0B0B, 0x0800040B, 0x0B0B0B0B, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x06080A00, 0x00000000, 0x00000403, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80077140 +.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001201, 0x00000000, 0xE3001402, 0x00000C00, 0xFC119623, 0xFF2FFFFF, 0xE200001C, 0x00504240, 0xE3001001, 0x00000000, 0xFD68007F, 0x80076140, 0xF5682000, 0x07094270, 0xE6000000, 0x00000000, 0xF4000000, 0x071FC07C, 0xE7000000, 0x00000000, 0xF5682000, 0x00094270, 0xF2000000, 0x001FC07C, 0xD9FDF9FF, 0x00000000, 0xD9FFFFFF, 0x00200004, 0xDF000000, 0x00000000 + +glabel D_800771E8 +.word 0xE43802E0, 0x00180260, 0xE1000000, 0x00000000, 0xF1000000, 0x04000400, 0xE7000000, 0x00000000, 0xDF000000, 0x00000000 + +glabel D_80077210 +.word 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFF29FFFF, 0xFF2BFFFF, 0x2526FF2A, 0xFF272CFF, 0x00010203, 0x04050607, 0x080924FF, 0xFFFFFF28, 0xFF0A0B0C, 0x0D0E0F10, 0x11121314, 0x15161718, 0x191A1B1C, 0x1D1E1F20, 0x212223FF, 0xFFFFFFFF, 0xFF0A0B0C, 0x0D0E0F10, 0x11121314, 0x15161718, 0x191A1B1C, 0x1D1E1F20, 0x212223FF, 0xFFFFFFFF + +glabel D_80077290 +.word 0x70871C30, 0x8988A250, 0x88808290, 0x88831C90, 0x888402F8, 0x88882210, 0x71CF9C10, 0xF9CF9C70, 0x8228A288, 0xF200A288, 0x0BC11C78, 0x0A222208, 0x8A222288, 0x71C21C70, 0x23C738F8, 0x5228A480, 0x8A282280, 0x8BC822F0, 0xFA282280, 0x8A28A480, 0x8BC738F8, 0xF9C89C08, 0x82288808, 0x82088808, 0xF2EF8808, 0x82288888, 0x82288888, 0x81C89C70, 0x8A08A270, 0x920DA288, 0xA20AB288, 0xC20AAA88, 0xA208A688, 0x9208A288, 0x8BE8A270, 0xF1CF1CF8, 0x8A28A220, 0x8A28A020, 0xF22F1C20, 0x82AA0220, 0x82492220, 0x81A89C20, 0x8A28A288, 0x8A28A288, 0x8A289488, 0x8A2A8850, 0x894A9420, 0x894AA220, 0x70852220, 0xF8011000, 0x08020800, 0x10840400, 0x20040470, 0x40840400, 0x80020800, 0xF8011000, 0x70800000, 0x88822200, 0x08820400, 0x108F8800, 0x20821000, 0x00022200, 0x20800020, 0x00000000 + +glabel D_80077390 +.word 0x80097FBC, 0x80097FA8, 0x80097F90, 0x80097F78, 0x80097F60, 0x80097F48, 0x80097F34, 0x80097F20, 0x80097F08, 0x80097EF0, 0x80097ED8, 0x80097EC0, 0x80097EAC, 0x80097E9C, 0x80097E80, 0x80097E64, 0x80097E4C, 0x80097E30 + +glabel D_800773D8 +.word 0x8009801C, 0x80098008, 0x80097FF4, 0x80097FE8, 0x80097FDC, 0x80097FC8 + +glabel D_800773F0 +.ascii "\0\0\0" + +glabel D_800773F4 +.word 0x00000000 + +glabel D_800773F8 +.word 0x00000000 + +glabel D_800773FC +.word 0x00000000 + +glabel D_80077400 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel gCurrentCameraID +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000E4, 0x000000E1, 0x000000EB, 0x000000EF, 0x000000F6, 0x0000010A, 0x0000010C, 0x00000121, 0x00000122, 0x00000123, 0x00000118, 0x0000010E, 0x00000131, 0x0000012E, 0x0000012F, 0x000000E0, 0x000000EE, 0x000000F0, 0x00000109, 0x0000010B, 0x00000107, 0x000000E8, 0x00000117, 0x00000108, 0x00000124, 0x00000125, 0x00000126, 0x0000010F, 0x0000012B, 0x0000012C, 0x000000E9, 0x00000106, 0x00000143, 0x000000ED, 0x00000129, 0x0000012A, 0x000000E7, 0x000000F8, 0x000000FF, 0x00000140, 0x00000105, 0x00000110, 0x00000119, 0x000000E3, 0x00000116, 0x00000113, 0x000000F4, 0x000000E2, 0x000000F5, 0x00000115, 0x00000101, 0x00000102, 0x0000012D, 0x00000111, 0x0000010D, 0x00000112, 0x000000F9, 0x00000130, 0x000000FB, 0x000000FA, 0x000000EC, 0x000000E5, 0x00000150, 0x000000F2, 0x00000100, 0x000000F1, 0x00000114, 0x000000F7, 0x000000F3, 0x00000145, 0x00000146, 0x00000147, 0x00000148, 0x00000149, 0x00000104, 0x000000FC, 0x00000103, 0x0000011A, 0x0000011B, 0x000000FD, 0x00000144, 0x0000011E, 0x000000FE, 0x0000011F, 0x0000011D, 0x0000011C, 0x000000E6, 0x00000120, 0x00000080, 0x00000081, 0x00000082, 0x00000084, 0x00000083, 0x00000086, 0x00000085, 0x00000088, 0x0000008B, 0x0000008A, 0x0000008C, 0x0000008E, 0x00000095, 0x0000008D, 0x00000089, 0x0000009B, 0x0000009E, 0x0000009F, 0x000000A0, 0x000000A1, 0x0000009D, 0x0000009C, 0x000000A4, 0x000000A3, 0x000000A2, 0x00000093, 0x00000094, 0x000000A5, 0x000000A6, 0x000000A7, 0x000000A8, 0x000000A9, 0x000000AA, 0x000000AB, 0x000000AC, 0x000000AD, 0x000000AE, 0x000000AF, 0x0000008F, 0x00000090, 0x00000091, 0x00000092, 0x0000009A, 0x00000098, 0x00000096, 0x00000097, 0x00000087, 0x000000B0, 0x000000B1, 0x000000B2, 0x000000B3, 0x000000B4, 0x000000B5, 0x000000B6, 0x000000B9, 0x000000B8, 0x000000B7, 0x000000BA, 0x000000BD, 0x000000BB, 0x000000BE, 0x000000BF, 0x000000BC, 0x000000C0, 0x000000C1, 0x000000C2, 0x000000C3, 0x000000C4, 0x000000C5, 0x000000C6, 0x000000C7, 0x000000C8, 0x000000C9, 0x000000CA, 0x000000CB, 0x000000CC, 0x000000CD, 0x000000CE, 0x000000CF, 0x000000D0, 0x000000D1, 0x000000D2, 0x000000D3, 0x000000D4, 0x000000D5, 0x000000D6, 0x000000D7, 0x000000D8, 0x000000D9, 0x000000DA, 0x00000000, begin_state_init, step_init_state, 0x00000000, 0x80033788, 0x00000000, begin_state_logos, step_logos, 0x00000000, 0x80034388, 0x00000000, begin_state_title_screen, step_title_screen, 0x00000000, 0x800375A4, 0x00000000, 0x80035E00, 0x80035EEC, 0x00000000, 0x800360FC, 0x00000000, 0x80036130, 0x8003617C, 0x00000000, 0x800363FC, 0x00000000, 0x80036430, 0x8003646C, 0x00000000, 0x80036640, 0x00000000, 0x80035E24, 0x80035EEC, 0x00000000, 0x800360FC, 0x00000000, begin_state_world, step_world, 0x00000000, 0x80035DA0, 0x00000000, begin_state_battle, step_battle, 0x00000000, 0x80033B54, 0x00000000, 0x80033B88, 0x80033BC0, 0x00000000, 0x80033E64, 0x00000000, begin_state_pause_menu, step_pause_menu, 0x00000000, 0x80034BF4, 0x00000000, 0x80034BFC, 0x80034C3C, 0x00000000, 0x80034FF0, 0x00000000, 0x80035000, 0x800351C8, 0x00000000, 0x800355C4, 0x00000000, 0x800355D4, 0x80035704, 0x00000000, 0x80035D18, 0x00000000, 0x80035058, 0x800354EC, 0x00000000, 0x800355CC, 0x00000000, 0x80035660, 0x80035B40, 0x00000000, 0x80035D20, 0x00000000, begin_state_intro, step_intro, 0x00000000, 0x80036DE0, 0x00000000, init_demo_data, next_demo_scene, 0x00000000, 0x8003845C + +glabel D_80077850 +.word 0x800776E8, 0x800776FC, 0x80077710, 0x80077724, 0x80077774, 0x80077738, 0x8007774C, 0x80077760, 0x80077788, 0x8007779C, 0x800777B0, 0x800777C4, 0x800777D8, 0x800777EC, 0x80077800, 0x80077814, 0x80077828, 0x8007783C, 0x00000000, 0x00000000 + +glabel D_800778A0 +.word 0x8038F800, 0x803B5000, D_803DA800, 0x00000000, 0xFFFFFF00, 0xFFFFFF00, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xE7000000, 0x00000000, 0xE3000A01, 0x00200000, 0xE3000C00, 0x00000000, 0xE3001001, 0x00000000, 0xFCFFFFFF, 0xFFFCF87C, 0xE200001C, 0x00000000, 0xE3001201, 0x00000000, 0xDF000000, 0x00000000 + +glabel D_80077908 +.word 0xE7000000, 0x00000000, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3001001, 0x00000000, 0xFCFFFFFF, 0xFFFCF87C, 0xE200001C, 0x0F0A4000, 0xE3001201, 0x00000000, 0xDF000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80077950 +.word 0x8038F800, 0x803B5000, D_803DA800 + +glabel D_8007795C +.word 0x00135EE0, 0x00163400, pause_set_cursor_opacity, pause_set_cursor_opacity, gPauseMenuIconScripts, gPauseMenuIconScripts, gPauseMenuHeldButtons, gPauseMenuHeldButtons, 0x80278640 + +glabel D_80077980 +.word 0x8038F800, 0x803B5000, D_803DA800 + +glabel D_8007798C +.word 0x00163400, 0x0016C8E0, pause_set_cursor_opacity, pause_set_cursor_opacity, 0x80249B80, 0x80249B80, 0x8024C080, 0x8024C080, 0x8024C120 + +glabel D_800779B0 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_800779C0 +.word 0x00000000 + +glabel D_800779C4 +.word 0x00000000 + +glabel D_800779C8 +.short 0x0000 + +glabel D_800779CA +.short 0x0045 + +glabel D_800779CC +.word 0x52524F52 + +glabel D_800779D0 +.word 0xF7F7F700 + +glabel D_800779D4 +.word 0x00000000 + +glabel D_800779D8 +.word 0x00000000, 0x00000000, 0x00000045, 0x52524F52, 0xF7F7F700, 0x00000000, 0x00000000, 0x00000000, 0x00000045, 0x52524F52, 0xF7F7F700, 0x00000000, 0x00000000, 0x00000000, 0x00000045, 0x52524F52, 0xF7F7F700, 0x00000000, 0x00000000, 0x01010101 + +glabel D_80077A28 +.byte 0x00, 0x00, 0x00 + +glabel D_80077A2B +.byte 0x00 + +glabel D_80077A2C +.word 0x00000000 + +glabel D_80077A30 +.word 0x00000000 + +glabel D_80077A34 +.word 0x00000000, 0xFFFFFF00, 0xFFFFFF00 + +glabel D_80077A40 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80077A50 +.word 0xE7000000, 0x00000000, 0xE3000A01, 0x00000000, 0xE200001C, 0x00504340, 0xFCFFFFFF, 0xFFFCF279, 0xE3001201, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000C00, 0x00000000, 0xE3001801, 0x000000C0, 0xE3001A01, 0x00000030, 0xE3000F00, 0x00000000, 0xE3001001, 0x00000000, 0xE3000D01, 0x00000000, 0xE3001402, 0x00000C00, 0xE3001700, 0x00000000, 0xE2001E01, 0x00000000, 0x00000000, 0x00000000, 0xED000000, 0x005003C0, 0xDF000000, 0x00000000 + +glabel D_80077AE0 +.word 0x00000002, 0x00019D00, 0x80098454, 0x00020000, 0x00000000, 0x00000000, 0x00000005, 0x00049D00, 0x8009844C, 0x00000002, 0x00029D00, 0x80098444, 0x00000002, 0x0004B300, 0x8009843C, 0x00000004, 0x00079D00, 0x80098434, 0x00020001, 0x00000000, 0x00000000, 0x00000006, 0x00039D00, 0x8009842C, 0x00000002, 0x00021B00, 0x80098424, 0x00020002, 0x00000000, 0x00000000, 0x00000003, 0x00039D00, 0x8009841C, 0x00000004, 0x00019D00, 0x80098414, 0x00020003, 0x00000000, 0x00000000, 0x00010008, 0x000B2600, 0x8009840C, 0x00000002, 0x0009E800, 0x80098404, 0x00020004, 0x00000000, 0x00000000, 0x00000003, 0x00019D00, 0x80098454, 0x00010003, 0x00009D00, 0x800983FC, 0x00030000, 0x00000000, 0x800983F8, 0x00000000, 0x00000000, 0x00000000, 0x50726720, 0x5665722E, 0x30302F31, 0x322F3035, 0x2031363A, 0x35340000, 0x00000000, 0x00000000 + +glabel D_80077BF0 +.word 0x01020034, 0x01040036, 0x00360102, 0x001C0102, 0x00060102, 0x002C0102, 0x002CFF00, 0x00000000 + +glabel D_80077C10 +.word 0x00000000 + +glabel D_80077C14 +.word 0x00040000 + +glabel D_80077C18 +.word 0x00000000 + +glabel D_80077C1C +.short 0x0004 + +glabel D_80077C1E +.short 0x0005 + +glabel D_80077C20 +.word 0x00000000 + +glabel D_80077C24 +.word 0x00000000 + +glabel D_80077C28 +.word 0x00040000 + +glabel D_80077C2C +.word 0x00000000 + +glabel D_80077C30 +.word 0x00040000 + +glabel D_80077C34 +.word 0x00000000 + +glabel D_80077C38 +.short 0x0004 + +glabel D_80077C3A +.short 0x0004, 0x0000, 0x0000 + +glabel D_80077C40 +.word 0x00000000 + +glabel D_80077C44 +.word 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, FadeBackgroundToBlack, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, CreateNpc, 0xFFFFFFF6, 0x00BB0001, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFF6, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcYaw, 0xFFFFFFF6, 0x00000000, 0x00000043, 0x00000001, GetCamLookAtObjVector, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFF6, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000056, 0x00000000, 0x00000043, 0x00000001, 0x8003F0C4, 0x00000057, 0x00000000, 0x00000043, 0x00000001, 0x8003F018, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFF6, 0x00BB0000, 0x00000043, 0x00000001, 0x8003F384, 0x00000043, 0x00000001, UnfadeBackgroundFromBlack, 0x00000008, 0x00000001, 0x00000014, 0x00000056, 0x00000000, 0x00000043, 0x00000001, 0x8003F084, 0x00000043, 0x00000002, DeleteNpc, 0xFFFFFFF6, 0x00000057, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x00002075, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, 0x8003F414, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, 0x8003F4CC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000001, 0x8003EE98, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000001, HasMerleeCasts, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, 0x8003EECC, 0x00000008, 0x00000001, 0x0000000F, 0x00000002, 0x00000000, 0x00000001, 0x00000000 + +glabel SCRIPT_NpcDefeat +.word 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000001, OnDefeatEnemy, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 + +glabel D_80077E9C +.word 0x00000043, 0x00000001, OnFleeBattleDrops, 0x00000002, 0x00000000, 0x00000001, 0x00000000 + +glabel D_80077EB8 +.word 0x800A008A, 0x0032FFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005FFF, 0x7FFF0000, 0x00013FFF, 0x5FFF0000, 0x00021FFF, 0x3FFF0000, 0x00030000, 0x1FFF0000, 0x00040000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00030000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000001, 0x0000001D, 0x00000001, 0x00000002, 0x0000001D, 0x00000001, 0x00000004, 0x0000001D, 0x00000001, 0x00000006, 0x00000043, 0x00000003, GetSelfAnimationFromTable, 0x00000007, 0xFE363C80, 0x00000046, 0x00000001, 0x800936DC, 0x00000016, 0x00000001, 0x00000003, 0x00000056, 0x00000000, 0x00000043, 0x00000002, 0x800458CC, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000005, 0x00000001, 0x0000001E, 0x00000027, 0x00000002, 0xFE363C8A, 0x00000028, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFF, 0x00000000, 0xFE363C8A, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000001, DoNpcDefeat, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000002, 0x80045900, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000004, SetEnemyFlagBits, 0xFFFFFFFF, 0x00000010, 0x00000001, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80078160 +.word 0x001C0028 + +glabel D_80078164 +.word 0x0000FFFE + +glabel D_80078168 +.word 0x001D0074, 0x001D0075 diff --git a/asm/data/code_26840_len_20d0.data.s b/asm/data/code_26840_len_20d0.data.s new file mode 100644 index 0000000000..6787bc9375 --- /dev/null +++ b/asm/data/code_26840_len_20d0.data.s @@ -0,0 +1,69 @@ +.include "macro.inc" + +.section .data + +glabel D_80078190 +.word 0xF8030125, 0x07D0FDBC, 0xF8860355, 0x06FCFBAB, 0xFEDAF82D, 0x0245077D, 0xFCA9F901, 0x0456065D, 0xFC33FBB2, 0xFCEFFE94, 0xFFD80080, 0x00A4007D, 0x090E0673, 0x02FF0053, 0xFEF2FEA7, 0xFEF9FF7B + +glabel D_800781D0 +.word 0xB1011110, 0x00FFFE34, 0xBB90E21E, 0x00FB10EF, 0xF2D180C4, 0xB3B1D3CF, 0xD1FDFE80, 0x1D2D3D3B, 0x2C3BFC1D, 0x80DEF0D0, 0xD3D2B3D1, 0xF480A203, 0xD00DA9EA, 0xCB729041, 0x4E1D2D0C, 0x1E102F90, 0xF21203F0, 0xC2D1D4F3, 0x80B0A1BF, 0xD21E1270, 0x4D804C39, 0x2C7E306D, 0xB9CF90E1, 0xF2F3F2E1, 0xE21622C1, 0xE728F4F0, 0x211010FF, 0xA1ED9F2F, 0xF561333C, 0xD0A1DAC2, 0xFF144122, 0x2DEFA1FA, 0xE10E2330, 0x320EF091, 0x9AF2CF55, 0x1361EE1C, 0x919D0FD2, 0x52064DE1, 0x0991D01B, 0x152E36FD, 0x12CB8122, 0xBC65F073, 0xCE3FAE71, 0x4E9370F5, 0x6ED21BD1, 0x610A5D00, 0x00000000, 0x00000000 + +glabel D_80078290 +.word 0x00000003, 0x0000000B, 0x00000000, 0x00000009, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000007, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00001388, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000 + +glabel D_800782F8 +.word 0x00000001, 0x0000000B, 0x00000000, 0x0000000A, 0x00004E20, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00007FFF + +glabel D_80078320 +.word 0x00000001, 0x0000000D, 0x00000000, 0x0000000C, 0x00004E20, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00007FFF + +glabel D_80078348 +.short 0x0000, 0x0001, 0x0000, 0x000E, 0x0000, 0x0000, 0x0000, 0x000D, 0x0000, 0x4E20, 0x0000, 0x0000, 0x0000, 0x7FFF, 0x0000, 0x0000, 0x0000 + +glabel D_8007836A +.short 0x0000, 0x0000, 0x7FFF, 0x034A, 0x0349, 0x0100, 0x0000, 0x0100, 0x0000, 0x0008, 0x0012, 0x3C7F, 0x2D7F, 0x2B5F, 0x1D00, 0xFF00, 0x2700, 0xFF00, 0x0000, 0x0100, 0x0000, 0x0008, 0x001A, 0x3C7F, 0x237F, 0x3C3F, 0x2A1F, 0x2A0F, 0x2A07, 0x2A03, 0x3600, 0xFF00, 0x3600, 0xFF00, 0x0000, 0x3433, 0x7F26, 0x3F16, 0x00FF, 0x343B, 0x7F3B, 0x3FFF, 0x0000 + +glabel D_800783C0 +.word 0x80078378, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390 + +glabel D_80078400 +.word 0x8004CE70, 0x8004CEA4, 0x8004CEC4, 0x8004CF0C + +glabel D_80078410 +.word 0x8004CF3C, 0x8004D00C, 0x8004D038, 0x8004D050, 0x8004D07C, 0x8004D114, 0x8004D130, 0x8004D15C, 0x8004D180, 0x8004D1B4, 0x8004D23C, 0x8004D2B0, 0x8004D2E4, 0x8004D310, 0x8004D31C, 0x8004D324, 0x8004D33C, 0x8004D354, 0x8004D36C, 0x8004D3A0, 0x8004D3F8 + +glabel D_80078464 +.word 0x00000000, 0x00000000, 0x00000000 + +glabel D_80078470 +.word 0x8004FBBC, 0x8004FCB4, 0x8004FCE4, 0x8004FD04, 0x8004FD94, 0x8004FE10, 0x8004FD38, 0x80050560, 0x8004FE6C, 0x8004FEB0, 0x8004FF3C, 0x8004FF58, 0x8004FF70, 0x8004FF88, 0x8004FFA8, 0x8004FFB4, 0x8004FFC8, 0x8004FFE4, 0x8004FFF0, 0x8004FFFC, 0x80050004, 0x80050020, 0x8004FED0, 0x80050128, 0x80050560, 0x80050560, 0x80050560, 0x80050560, 0x800501A8, 0x8005015C, 0x80050184, 0x800502F0, 0x02010101, 0x04030200, 0x02010101, 0x01010102, 0x03010100, 0x02010301, 0x00000000, 0x03030303 + +glabel D_80078510 +.word 0x30182028, 0x30384030, 0x00000000, 0x00000000 + +glabel D_80078520 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80078530 +.word 0x00000200, 0x08001200, 0x20003200, 0x48006200, 0x80000000 + +glabel D_80078544 +.word 0x01000000, 0x0008000C + +glabel D_8007854C +.word 0x3D7FFF00, 0x3400FF00 + +glabel D_80078554 +.word 0x5C00FF00 + +glabel D_80078558 +.ascii "^]\\[ZXVSQOJE@;7531/-+)'&%#! " + +glabel D_80078580 +.word 0x03040506, 0x0708090A, 0x0B0C0D0E, 0x0F101112, 0x13141516, 0x17000000, 0x00000000, 0x00000000 + +glabel D_800785A0 +.word 0x0393756C, 0x034736DE, 0x02FAE1DA, 0x02AEA34C, 0x02624E48, 0x0215F944, 0x01C9BAB6, 0x01A39034, 0x017D65B2, 0x015751A6, 0x01312724, 0x0121E2F0, 0x01129EBC, 0x01035A88, 0x00F41654, 0x00E4D220, 0x00D58DEC, 0x00C649B8, 0x00B70584, 0x00A7D7C6, 0x00989392, 0x00894F5E, 0x007A0B2A, 0x006AC6F6, 0x005B82C2, 0x004C3E8E, 0x00449C74, 0x003CFA5A, 0x00355840, 0x002DB626, 0x0029F054, 0x0026140C, 0x00224E3A, 0x001E71F2, 0x001CF41C, 0x001B7646, 0x0019E1FA, 0x00186424, 0x0016CFD8, 0x00155202, 0x0013D42C, 0x00123FE0, 0x0010C20A, 0x000F2DBE, 0x000E7A0E, 0x000DAFE8, 0x000CE5C2, 0x000C3212, 0x000B67EC, 0x000A9DC6, 0x0009EA16, 0x00091FF0, 0x000855CA, 0x00078BA4, 0x0006D7F4, 0x00060DCE, 0x0005B3F6, 0x000543A8, 0x0004E9D0, 0x00048FF8, 0x0004630C, 0x00043620, 0x00040934, 0x0003F2BE, 0x0003C5D2, 0x000398E6, 0x00038270, 0x00035584, 0x00032898, 0x0002FBAC, 0x0002E536, 0x0002B84A, 0x00028B5E, 0x00025E72, 0x000247FC, 0x00021B10, 0x0001EE24, 0x0001C138, 0x0001AAC2, 0x00017DD6, 0x00016760, 0x00013A74, 0x00010D88, 0x0000F712, 0x0000E09C, 0x0000CA26, 0x0000B3B0, 0x00009D3A, 0x000086C4, 0x0000704E, 0x000059D8, 0x00004362, 0x00002CEC, 0x00001676, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80078730 +.word 0x3F800000, 0x3F8012EF, 0x3F8025E1, 0x3F8038D6, 0x3F804BCD, 0x3F805EC7, 0x3F8071C4, 0x3F8084C4, 0x3F8097C7, 0x3F80AACC, 0x3F80BDD4, 0x3F80D0DF, 0x3F80E3ED, 0x3F80F6FE, 0x3F810A12, 0x3F811D28, 0x3F813041, 0x3F81435D, 0x3F81567C, 0x3F81699E, 0x3F817CC2, 0x3F818FE9, 0x3F81A313, 0x3F81B640, 0x3F81C970, 0x3F81DCA3, 0x3F81EFD9, 0x3F820311, 0x3F82164C, 0x3F82298A, 0x3F823CCB, 0x3F82500F, 0x3F826356, 0x3F82769F, 0x3F8289EB, 0x3F829D3A, 0x3F82B08C, 0x3F82C3E1, 0x3F82D739, 0x3F82EA94, 0x3F82FDF1, 0x3F831151, 0x3F8324B4, 0x3F83381A, 0x3F834B83, 0x3F835EEF, 0x3F83725E, 0x3F8385D0, 0x3F839944, 0x3F83ACBB, 0x3F83C035, 0x3F83D3B2, 0x3F83E732, 0x3F83FAB5, 0x3F840E3B, 0x3F8421C4, 0x3F84354F, 0x3F8448DD, 0x3F845C6E, 0x3F847002, 0x3F848399, 0x3F849733, 0x3F84AAD0, 0x3F84BE70, 0x3F84D213, 0x3F84E5B9, 0x3F84F961, 0x3F850D0C, 0x3F8520BA, 0x3F85346B, 0x3F85481F, 0x3F855BD6, 0x3F856F90, 0x3F85834D, 0x3F85970D, 0x3F85AAD0, 0x3F85BE96, 0x3F85D25F, 0x3F85E62A, 0x3F85F9F8, 0x3F860DC9, 0x3F86219D, 0x3F863574, 0x3F86494E, 0x3F865D2B, 0x3F86710B, 0x3F8684EE, 0x3F8698D4, 0x3F86ACBD, 0x3F86C0A9, 0x3F86D498, 0x3F86E88A, 0x3F86FC7F, 0x3F871077, 0x3F872472, 0x3F87386F, 0x3F874C6F, 0x3F876072, 0x3F877478, 0x3F878881, 0x3F879C8D, 0x3F87B09C, 0x3F87C4AE, 0x3F87D8C3, 0x3F87ECDB, 0x3F8800F6, 0x3F881514, 0x3F882935, 0x3F883D59, 0x3F885180, 0x3F8865AA, 0x3F8879D7, 0x3F888E07, 0x3F88A23A, 0x3F88B670, 0x3F88CAA9, 0x3F88DEE5, 0x3F88F324, 0x3F890766, 0x3F891BAB, 0x3F892FF3, 0x3F89443E, 0x3F89588C, 0x3F896CDD, 0x3F898131, 0x3F899588, 0x3F89A9E2, 0x3F89BE3F, 0x3F800000, 0x3F89D29F, 0x3F946637, 0x3F9FC997, 0x3FAC0CB1, 0x3FB940B0, 0x3FC77811, 0x3FD6C6BB, 0x3FE7421D, 0x3FF9014B, 0x40060E8F, 0x4010582B, 0x401B6BE2, 0x40275936, 0x403430DA, 0x404204C9, 0x4050E860, 0x4060F077, 0x40723381, 0x408264D5, 0x408C667B, 0x40972CB6, 0x40A2C69C, 0x40AF446B, 0x40BCB7A0, 0x40CB3311, 0x40DACB04, 0x40EB954F, 0x40FDA974, 0x41089062, 0x41130B3F, 0x411E53FF, 0x3F800000, 0x3F7FDA28, 0x3F7FB456, 0x3F7F8E89, 0x3F7F68C2, 0x3F7F4300, 0x3F7F1D44, 0x3F7EF78E, 0x3F7ED1DD, 0x3F7EAC32, 0x3F7E868C, 0x3F7E60EC, 0x3F7E3B51, 0x3F7E15BC, 0x3F7DF02C, 0x3F7DCAA2, 0x3F7DA51E, 0x3F7D7F9F, 0x3F7D5A26, 0x3F7D34B2, 0x3F7D0F44, 0x3F7CE9DB, 0x3F7CC478, 0x3F7C9F1A, 0x3F7C79C2, 0x3F7C546F, 0x3F7C2F22, 0x3F7C09DA, 0x3F7BE498, 0x3F7BBF5B, 0x3F7B9A24, 0x3F7B74F2, 0x3F7B4FC6, 0x3F7B2A9F, 0x3F7B057E, 0x3F7AE062, 0x3F7ABB4C, 0x3F7A963B, 0x3F7A7130, 0x3F7A4C2A, 0x3F7A272A, 0x3F7A022F, 0x3F79DD3A, 0x3F79B84A, 0x3F799360, 0x3F796E7B, 0x3F79499C, 0x3F7924C2, 0x3F78FFED, 0x3F78DB1E, 0x3F78B654, 0x3F789190, 0x3F786CD1, 0x3F784818, 0x3F782364, 0x3F77FEB6, 0x3F77DA0D, 0x3F77B569, 0x3F7790CB, 0x3F776C32, 0x3F77479F, 0x3F772311, 0x3F76FE88, 0x3F76DA05, 0x3F76B587, 0x3F76910F, 0x3F766C9C, 0x3F76482E, 0x3F7623C6, 0x3F75FF63, 0x3F75DB06, 0x3F75B6AE, 0x3F75925B, 0x3F756E0E, 0x3F7549C6, 0x3F752583, 0x3F750146, 0x3F74DD0E, 0x3F74B8DB, 0x3F7494AE, 0x3F747086, 0x3F744C63, 0x3F742846, 0x3F74042E, 0x3F73E01C, 0x3F73BC0F, 0x3F739807, 0x3F737404, 0x3F735007, 0x3F732C0F, 0x3F73081C, 0x3F72E42F, 0x3F72C047, 0x3F729C64, 0x3F727887, 0x3F7254AF, 0x3F7230DC, 0x3F720D0F, 0x3F71E947, 0x3F71C584, 0x3F71A1C6, 0x3F717E0E, 0x3F715A5B, 0x3F7136AD, 0x3F711305, 0x3F70EF62, 0x3F70CBC4, 0x3F70A82B, 0x3F708498, 0x3F70610A, 0x3F703D81, 0x3F7019FD, 0x3F6FF67F, 0x3F6FD306, 0x3F6FAF92, 0x3F6F8C23, 0x3F6F68BA, 0x3F6F4556, 0x3F6F21F7, 0x3F6EFE9D, 0x3F6EDB49, 0x3F6EB7FA, 0x3F6E94B0, 0x3F6E716B, 0x3F6E4E2B, 0x3F6E2AF1, 0x3F6E07BC, 0x3F6DE48C, 0x3F800000, 0x3F6DC161, 0x3F5CCFA0, 0x3F4D1303, 0x3F3E7583, 0x3F30E2A9, 0x3F244774, 0x3F18923F, 0x3F0DB2A4, 0x3F03996B, 0x3EF470E1, 0x3EE30526, 0x3ED2D741, 0x3EC3D08B, 0x3EB5DBFB, 0x3EA8E607, 0x3E9CDC8A, 0x3E91AEA9, 0x3E874CBE, 0x3E7B5080, 0x3E69675D, 0x3E58C500, 0x3E495220, 0x3E3AF91B, 0x3E2DA5DB, 0x3E2145B8, 0x3E15C75E, 0x3E0B1AB6, 0x3E0130CE, 0x3DEFF78B, 0x3DDEDD71, 0x3DCEFB5A, 0x3DC03B0C, 0x3DB287E0, 0x3DA5CEA6, 0x3D99FD90, 0x3D8F0410, 0x3D84D2CB, 0x3D76B6F6, 0x3D6521C0, 0x3D54CD52, 0x3D45A2D5, 0x3D378D0A, 0x3D2A7839, 0x3D1E5213, 0x3D130992, 0x3D088EF0, 0x3CFDA6F5, 0x3CEB932C, 0x3CDAC934, 0x3CCB318C, 0x3CBCB65A, 0x3CAF435F, 0x3CA2C5C3, 0x3C972C06, 0x3C8C65F5, 0x3C826474, 0x3C7232F8, 0x3C60F025, 0x3C50E83A, 0x3C4204D2, 0x3C3430FF, 0x3C275980, 0x3C1B6C42, 0x3C10589D, 0x3C060F18, 0x3BF90275, 0x3BE7435B, 0x3BD6C80E, 0x3BC7797C, 0x3BB9422B, 0x3BAC0E26, 0x3B9FCB0C, 0x3B9467C1, 0x3B89D42A, 0x3B800183, 0x3B6DC413, 0x3B5CD229, 0x3B4D1572, 0x3B3E77CA, 0x3B30E4BA, 0x3B24494B, 0x3B18940B, 0x3B0DB45E, 0x3B039B00, 0x3AF473B0, 0x3AE307F8, 0x3AD2D9AC, 0x3AC3D2FE, 0x3AB5DE1E, 0x3AA8E7EB, 0x3A9CDE48, 0x3A91B06C, 0x3A874E3D, 0x3A7B5348, 0x3A696A67, 0x3A58C7AD, 0x3A495447, 0x3A3AFB69, 0x3A2DA799, 0x3A214763, 0x3A15C955, 0x3A0B1CA9, 0x3A01329B, 0x39EFFA23, 0x39DEDFF5, 0x39CEFD29, 0x39C03D9D, 0x39B28A81, 0x39A5D10A, 0x3999FFC6, 0x398F0541, 0x3984D410, 0x3976BADD, 0x39652533, 0x3954CEFA, 0x3945A566, 0x39379050, 0x392A7A3D, 0x391E5312, 0x39130AB4, 0x39089109, 0x38FDABE8, 0x38EB9814, 0x38DACBBE, 0x38CB316C, 0x38BCB903, 0x38AF47AC diff --git a/asm/data/code_31650.data.s b/asm/data/code_31650.data.s new file mode 100644 index 0000000000..fbee982a2c --- /dev/null +++ b/asm/data/code_31650.data.s @@ -0,0 +1,453 @@ +.include "macro.inc" + +.section .data + +glabel D_80078EE0 +.word 0x59F258D0, 0x57AA5681, 0x55555425, 0x52F251BC, 0x50824F46, 0x4E064CC3, 0x4B7D4A35, 0x48E9479B, 0x464944F5, 0x439E4245, 0x40E93F8A, 0x3E293CC6, 0x3B6039F8, 0x388D3721, 0x35B23441, 0x32CE3159, 0x2FE22E69, 0x2CEF2B72, 0x29F42875, 0x26F32570, 0x23EC2266, 0x20DF1F57, 0x1DCE1C43, 0x1AB7192A, 0x179C160E, 0x147E12ED, 0x115C0FCA, 0x0E380CA5, 0x0B11097D, 0x07E90654, 0x04C0032A, 0x01950000, 0xBF800000, 0x00000000, 0x36813045, 0x36CCC25E, 0x37013056, 0x3715FBD1, 0x3726F96C, 0x373556F8, 0x3741C897, 0x374CC288, 0x3756941E, 0x375F75EA, 0x376791B7, 0x376F074D, 0x3775EF48, 0x377C5D3E, 0x37813079, 0x3784039E, 0x3786AD71, 0x37893260, 0x378B9637, 0x378DDC3A, 0x37900722, 0x3792195F, 0x37941509, 0x3795FC00, 0x3797CFD4, 0x37999207, 0x379B43D7, 0x379CE668, 0x379E7AD2, 0x37A001F1, 0x37A17CA6, 0x37A2EBB8, 0x37A44FD1, 0x37A5A99A, 0x37A6F9A4, 0x37A84077, 0x37A97E93, 0x37AAB46F, 0x37ABE26F, 0x37AD08FC, 0x37AE286C, 0x37AF4119, 0x37B05355, 0x37B15F67, 0x37B26597, 0x37B36621, 0x37B46141, 0x37B55735, 0x37B64832, 0x37B7346C, 0x37B81C0C, 0x37B8FF46, 0x37B9DE3F, 0x37BAB91E, 0x37BB900F, 0x37BC632E, 0x37BD32A6, 0x37BDFE8D, 0x37BEC70A, 0x37BF8C33, 0x37C04E29, 0x37C10D07, 0x37C1C8E4, 0x37C281D5, 0x37C337F0, 0x37C3EB51, 0x37C49C0E, 0x37C54A32, 0x37C5F5D3, 0x37C69F06, 0x37C745DC, 0x37C7EA67, 0x37C88CB5, 0x37C92CD3, 0x37C9CAD0, 0x37CA66BE, 0x37CB00A7, 0x37CB98A1, 0x37CC2EAD, 0x37CCC2DA, 0x37CD5539, 0x37CDE5D0, 0x37CE74AA, 0x37CF01D7, 0x37CF8D57, 0x37D01741, 0x37D09F93, 0x37D1265F, 0x37D1ABA5, 0x37D22F75, 0x37D2B1D5, 0x37D332CA, 0x37D3B25F, 0x37D43099, 0x37D4AD7F, 0x37D52921, 0x37D5A378, 0x37D61C91, 0x37D69476, 0x37D70B27, 0x37D780A9, 0x37D7F50E, 0x37D8684A, 0x37D8DA73, 0x37D94B84, 0x37D9BB87, 0x37DA2A7D, 0x37DA9870, 0x37DB055C, 0x37DB7150, 0x37DBDC4D, 0x37DC4658, 0x37DCAF71, 0x37DD179E, 0x37DD7EE3, 0x37DDE548, 0x37DE4AD0, 0x37DEAF77, 0x37DF1348, 0x37DF7648, 0x37DFD877, 0x37E039D4, 0x37E09A6C, 0x37E0FA3F, 0x37E1594B, 0x37E1B797, 0x37E21527, 0x37E271F8, 0x37E2CE18, 0x37E3297E, 0x37E38434, 0x37E3DE3F, 0x37E43795, 0x37E49046, 0x37E4E852, 0x37E53FB3, 0x37E59675, 0x37E5EC93, 0x37E64216, 0x37E696FF, 0x37E6EB49, 0x37E73F04, 0x37E79220, 0x37E7E4AC, 0x37E836AA, 0x37E88819, 0x37E8D8F8, 0x37E92949, 0x37E97916, 0x37E9C85A, 0x37EA1714, 0x37EA654F, 0x37EAB302, 0x37EB0035, 0x37EB4CF0, 0x37EB9927, 0x37EBE4E5, 0x37EC3024, 0x37EC7AF0, 0x37ECC543, 0x37ED0F1D, 0x37ED588A, 0x37EDA17D, 0x37EDEA02, 0x37EE3214, 0x37EE79B8, 0x37EEC0EE, 0x37EF07BB, 0x37EF4E1B, 0x37EF9412, 0x37EFD9A0, 0x37F01EC6, 0x37F06389, 0x37F0A7E4, 0x37F0EBDC, 0x37F12F71, 0x37F172A3, 0x37F1B577, 0x37F1F7EE, 0x37F23A02, 0x37F27BBE, 0x37F2BD17, 0x37F2FE18, 0x37F33EC1, 0x37F37F13, 0x37F3BF06, 0x37F3FEA2, 0x37F43DEB, 0x37F47CE2, 0x37F4BB7C, 0x37F4F9C8, 0x37F537C2, 0x37F57564, 0x37F5B2B9, 0x37F5EFBB, 0x37F62C71, 0x37F668DA, 0x37F6A4F0, 0x37F6E0B9, 0x37F71C3B, 0x37F75770, 0x37F79257, 0x37F7CCF2, 0x37F80746, 0x37F84151, 0x37F87B16, 0x37F8B493, 0x37F8EDC8, 0x37F926BC, 0x37F95F68, 0x37F997CD, 0x37F9CFEF, 0x37FA07D0, 0x37FA3F69, 0x37FA76C6, 0x37FAADE0, 0x37FAE4B9, 0x37FB1B50, 0x37FB51A5, 0x37FB87C3, 0x37FBBD99, 0x37FBF338, 0x37FC2896, 0x37FC5DB7, 0x37FC92A1, 0x37FCC749, 0x37FCFBBA, 0x37FD2FEE, 0x37FD63E6, 0x37FD97A8, 0x37FDCB2C, 0x37FDFE7A, 0x37FE3191, 0x37FE6470, 0x37FE9719, 0x37FEC985, 0x37FEFBC0, 0x37FF2DC4, 0x37FF5F96, 0x37FF912C, 0x37FFC291, 0x37FFF3C3, 0x38001260, 0x38002AC5, 0x38004311, 0x38005B42, 0x3800735B, 0x38008B5D, 0x3800A344, 0x3800BB14, 0x3800D2CA, 0x3800EA69, 0x380101F0, 0x38011960, 0x380130B8, 0x380147F7, 0x38015F23, 0x38017633, 0x38018D31, 0x3801A415, 0x3801BAE6, 0x3801D19F, 0x3801E841, 0x3801FECD, 0x38021544, 0x38022BA4, 0x380241F2, 0x38025829, 0x38026E4A, 0x38028455, 0x38029A4D, 0x3802B032, 0x3802C601, 0x3802DBBA, 0x3802F15F, 0x380306F1, 0x38031C70, 0x380331DA, 0x38034732, 0x38035C75, 0x380371A4, 0x380386C3, 0x38039BCC, 0x3803B0C1, 0x3803C5A6, 0x3803DA78, 0x3803EF37, 0x380403E2, 0x3804187D, 0x38042D05, 0x3804417C, 0x380455E0, 0x38046A31, 0x38047E74, 0x380492A1, 0x3804A6C0, 0x3804BACC, 0x3804CEC7, 0x3804E2B0, 0x3804F68A, 0x38050A51, 0x38051E0B, 0x380531B1, 0x38054547, 0x380558CC, 0x38056C41, 0x38057FA8, 0x380592FC, 0x3805A642, 0x3805B977, 0x3805CC9C, 0x3805DFB4, 0x3805F2BB, 0x380605B1, 0x3806189A, 0x38062B72, 0x38063E39, 0x380650F3, 0x3806639F, 0x3806763B, 0x380688C9, 0x38069B46, 0x3806ADB6, 0x3806C018, 0x3806D269, 0x3806E4B0, 0x3806F6E6, 0x3807090E, 0x38071B25, 0x38072D32, 0x38073F31, 0x38075120, 0x38076303, 0x380774D9, 0x3807869E, 0x38079858, 0x3807AA05, 0x3807BBA3, 0x3807CD34, 0x3807DEB8, 0x3807F030, 0x3808019A, 0x380812F7, 0x38082446, 0x3808358A, 0x380846C1, 0x380857E9, 0x38086907, 0x38087A19, 0x38088B1E, 0x38089C15, 0x3808AD01, 0x3808BDE0, 0x3808CEB3, 0x3808DF78, 0x3808F036, 0x380900E3, 0x38091187, 0x3809221E, 0x380932AA, 0x38094328, 0x3809539E, 0x38096406, 0x38097463, 0x380984B3, 0x380994FA, 0x3809A536, 0x3809B564, 0x3809C588, 0x3809D5A0, 0x3809E5B0, 0x3809F5B3, 0x380A05AA, 0x380A1597, 0x380A257B, 0x380A3551, 0x380A451D, 0x380A54E0, 0x380A6498, 0x380A7445, 0x380A83E8, 0x380A937F, 0x380AA30B, 0x380AB28F, 0x380AC208, 0x380AD176, 0x380AE0D9, 0x380AF034, 0x380AFF84, 0x380B0ECB, 0x380B1E08, 0x380B2D39, 0x380B3C60, 0x380B4B7E, 0x380B5A94, 0x380B699F, 0x380B789F, 0x380B8797, 0x380B9686, 0x380BA56B, 0x380BB445, 0x380BC316, 0x380BD1DF, 0x380BE09D, 0x380BEF53, 0x380BFDFE, 0x380C0CA0, 0x380C1B3B, 0x380C29CD, 0x380C3854, 0x380C46D3, 0x380C5547, 0x380C63B5, 0x380C7218, 0x380C8073, 0x380C8EC3, 0x380C9D0E, 0x380CAB4E, 0x380CB985, 0x380CC7B4, 0x380CD5DB, 0x380CE3FA, 0x380CF20D, 0x380D001C, 0x380D0E1F, 0x380D1C1C, 0x380D2A0F, 0x380D37F9, 0x380D45DE, 0x380D53B8, 0x380D618A, 0x380D6F56, 0x380D7D17, 0x380D8AD3, 0x380D9884, 0x380DA62F, 0x380DB3CF, 0x380DC16A, 0x380DCEFC, 0x380DDC87, 0x380DEA08, 0x380DF782, 0x380E04F6, 0x380E1260, 0x380E1FC3, 0x380E2D1F, 0x380E3A75, 0x380E47C0, 0x380E5505, 0x380E6243, 0x380E6F78, 0x380E7CA7, 0x380E89CE, 0x380E96ED, 0x380EA404, 0x380EB115, 0x380EBE1E, 0x380ECB22, 0x380ED81D, 0x380EE510, 0x380EF1FB, 0x380EFEE0, 0x380F0BC0, 0x380F1898, 0x380F2567, 0x380F3231, 0x380F3EF2, 0x380F4BAE, 0x380F5862, 0x380F650E, 0x380F71B4, 0x380F7E54, 0x380F8AED, 0x380F977F, 0x380FA40A, 0x380FB08F, 0x380FBD0C, 0x380FC983, 0x380FD5F2, 0x380FE25C, 0x380FEEC0, 0x380FFB1C, 0x38100772, 0x381013C3, 0x3810200C, 0x38102C4C, 0x3810388A, 0x381044BF, 0x381050EF, 0x38105D16, 0x38106939, 0x38107555, 0x3810816C, 0x38108D7B, 0x38109985, 0x3810A588, 0x3810B184, 0x3810BD7D, 0x3810C96E, 0x3810D559, 0x3810E13C, 0x3810ED1C, 0x3810F8F4, 0x381104C6, 0x38111093, 0x38111C58, 0x3811281A, 0x381133D3, 0x38113F8A, 0x38114B39, 0xBF800000, 0x00000000, 0x36915629, 0x36E65A71, 0x3711563E, 0x3728BB21, 0x373BD86E, 0x374C01A5, 0x375A017E, 0x37665AA2, 0x37716665, 0x377B646F, 0x378241DE, 0x378673FF, 0x378A567A, 0x378DF452, 0x37915666, 0x379483F4, 0x379782FE, 0x379A588A, 0x379D08DF, 0x379F979E, 0x37A207E4, 0x37A45C6C, 0x37A6978B, 0x37A8BB58, 0x37AAC9AC, 0x37ACC422, 0x37AEAC2C, 0x37B08318, 0x37B24A04, 0x37B4020F, 0x37B5AC19, 0x37B74909, 0x37B8D9A6, 0x37BA5EAA, 0x37BBD8B5, 0x37BD4861, 0x37BEAE42, 0x37C00AD6, 0x37C15E97, 0x37C2A9F2, 0x37C3ED56, 0x37C5291A, 0x37C65D9C, 0x37C78B2E, 0x37C8B223, 0x37C9D2BD, 0x37CAED43, 0x37CC01F7, 0x37CD1116, 0x37CE1AD6, 0x37CF1F69, 0x37D01F07, 0x37D119E0, 0x37D2101B, 0x37D301E9, 0x37D3EF6C, 0x37D4D8D0, 0x37D5BE3A, 0x37D69FC1, 0x37D77D97, 0x37D857CC, 0x37D92E81, 0x37DA01D6, 0x37DAD1E8, 0x37DB9ECC, 0x37DC6899, 0x37DD2F69, 0x37DDF34E, 0x37DEB468, 0x37DF72C2, 0x37E02E73, 0x37E0E78A, 0x37E19E24, 0x37E25245, 0x37E30405, 0x37E3B36D, 0x37E46099, 0x37E50B8A, 0x37E5B45A, 0x37E65B10, 0x37E6FFB5, 0x37E7A261, 0x37E84319, 0x37E8E1E7, 0x37E97EDD, 0x37EA19FF, 0x37EAB35F, 0x37EB4B01, 0x37EBE0F1, 0x37EC753A, 0x37ED07E6, 0x37ED98FC, 0x37EE2880, 0x37EEB683, 0x37EF430B, 0x37EFCE18, 0x37F057BF, 0x37F0DFFC, 0x37F166D8, 0x37F1EC60, 0x37F27099, 0x37F2F387, 0x37F3752C, 0x37F3F598, 0x37F474CA, 0x37F4F2CD, 0x37F56FA3, 0x37F5EB54, 0x37F665E3, 0x37F6DF54, 0x37F757AC, 0x37F7CEF7, 0x37F84535, 0x37F8BA6A, 0x37F92E98, 0x37F9A1C9, 0x37FA13FD, 0x37FA853F, 0x37FAF58A, 0x37FB64E8, 0x37FBD35A, 0x37FC40EB, 0x37FCAD94, 0x37FD195C, 0x37FD8449, 0x37FDEE5F, 0x37FE579E, 0x37FEC00D, 0x37FF27B0, 0x37FF8E88, 0x37FFF494, 0x38002CED, 0x38005F30, 0x38009113, 0x3800C299, 0x3800F3C1, 0x3801248E, 0x38015500, 0x38018518, 0x3801B4DB, 0x3801E445, 0x3802135D, 0x3802421E, 0x3802708E, 0x38029EAC, 0x3802CC78, 0x3802F9F6, 0x38032725, 0x38035407, 0x3803809C, 0x3803ACE7, 0x3803D8E7, 0x3804049D, 0x38043009, 0x38045B31, 0x38048611, 0x3804B0AC, 0x3804DAFF, 0x38050511, 0x38052EE1, 0x3805586C, 0x380581B8, 0x3805AAC2, 0x3805D38C, 0x3805FC15, 0x38062464, 0x38064C71, 0x38067444, 0x38069BDB, 0x3806C335, 0x3806EA55, 0x3807113A, 0x380737E7, 0x38075E5A, 0x38078496, 0x3807AA99, 0x3807D068, 0x3807F5FF, 0x38081B60, 0x3808408C, 0x38086584, 0x38088A48, 0x3808AEDA, 0x3808D338, 0x3808F765, 0x38091B5D, 0x38093F27, 0x380962BF, 0x38098629, 0x3809A961, 0x3809CC6D, 0x3809EF47, 0x380A11F3, 0x380A3473, 0x380A56C7, 0x380A78EC, 0x380A9AE5, 0x380ABCB2, 0x380ADE53, 0x380AFFCB, 0x380B2117, 0x380B423A, 0x380B6333, 0x380B8404, 0x380BA4AB, 0x380BC528, 0x380BE580, 0x380C05AE, 0x380C25B5, 0x380C4594, 0x380C654E, 0x380C84E3, 0x380CA450, 0x380CC397, 0x380CE2BB, 0x380D01B8, 0x380D2091, 0x380D3F47, 0x380D5DD8, 0x380D7C46, 0x380D9A91, 0x380DB8BA, 0x380DD6C0, 0x380DF4A2, 0x380E1265, 0x380E3005, 0x380E4D81, 0x380E6ADF, 0x380E881C, 0x380EA538, 0x380EC236, 0x380EDF10, 0x380EFBCE, 0x380F1869, 0x380F34E8, 0x380F5146, 0x380F6D86, 0x380F89AB, 0x380FA5AF, 0x380FC194, 0x380FDD5E, 0x380FF909, 0x38101497, 0x38103009, 0x38104B5C, 0x38106694, 0x381081B1, 0x38109CB2, 0x3810B798, 0x3810D25F, 0x3810ED0E, 0x381107A1, 0x38112219, 0x38113C75, 0x381156B9, 0x381170E4, 0x38118AF0, 0x3811A4E7, 0x3811BEC2, 0x3811D884, 0x3811F22B, 0x38120BBC, 0x38122534, 0x38123E90, 0x381257D7, 0x38127105, 0x38128A1A, 0x3812A317, 0x3812BBFD, 0x3812D4CB, 0x3812ED82, 0x38130621, 0x38131EAA, 0x3813371A, 0x38134F77, 0x381367BC, 0x38137FEA, 0x381397FF, 0x3813B002, 0x3813C7EE, 0x3813DFC4, 0x3813F785, 0x38140F2F, 0x381426C6, 0x38143E47, 0x381455B2, 0x38146D07, 0x38148449, 0x38149B78, 0x3814B290, 0x3814C996, 0x3814E085, 0x3814F764, 0x38150E2A, 0x381524E0, 0x38153B82, 0x3815520F, 0x3815688B, 0x38157EF1, 0x38159546, 0x3815AB85, 0x3815C1B4, 0x3815D7D0, 0x3815EDDB, 0x381603D1, 0x381619B5, 0x38162F87, 0x38164548, 0x38165AF6, 0x38167090, 0x3816861D, 0x38169B94, 0x3816B0FD, 0x3816C653, 0x3816DB95, 0x3816F0CA, 0x381705EC, 0x38171AFD, 0x38172FFE, 0x381744EE, 0x381759CB, 0x38176E9A, 0x38178358, 0x38179804, 0x3817ACA1, 0x3817C12F, 0x3817D5AB, 0x3817EA1A, 0x3817FE76, 0x381812C4, 0x38182701, 0x38183B2E, 0x38184F4D, 0x3818635C, 0x3818775D, 0x38188B4E, 0x38189F30, 0x3818B303, 0x3818C6C4, 0x3818DA7B, 0x3818EE21, 0x381901B7, 0x3819153F, 0x381928B9, 0x38193C26, 0x38194F82, 0x381962D3, 0x38197614, 0x38198946, 0x38199C6B, 0x3819AF83, 0x3819C28A, 0x3819D586, 0x3819E874, 0x3819FB54, 0x381A0E27, 0x381A20EB, 0x381A33A3, 0x381A464C, 0x381A58E8, 0x381A6B78, 0x381A7DFB, 0x381A9070, 0x381AA2DA, 0x381AB534, 0x381AC783, 0x381AD9C6, 0x381AEBFC, 0x381AFE25, 0x381B103F, 0x381B2251, 0x381B3453, 0x381B464A, 0x381B5835, 0x381B6A13, 0x381B7BE6, 0x381B8DAB, 0x381B9F66, 0x381BB115, 0x381BC2B6, 0x381BD44D, 0x381BE5D8, 0x381BF759, 0x381C08CC, 0x381C1A33, 0x381C2B90, 0x381C3CDF, 0x381C4E26, 0x381C5F5F, 0x381C708D, 0x381C81B3, 0x381C92CB, 0x381CA3D8, 0x381CB4DA, 0x381CC5D1, 0x381CD6BD, 0x381CE79E, 0x381CF874, 0x381D0940, 0x381D1A02, 0x381D2AB7, 0x381D3B64, 0x381D4C03, 0x381D5C9A, 0x381D6D26, 0x381D7DAA, 0x381D8E20, 0x381D9E8D, 0x381DAEF0, 0x381DBF48, 0x381DCF97, 0x381DDFDB, 0x381DF015, 0x381E0046, 0x381E106C, 0x381E2087, 0x381E309A, 0x381E40A2, 0x381E50A2, 0x381E6097, 0x381E7080, 0x381E8062, 0x381E903B, 0x381EA009, 0x381EAFCF, 0x381EBF8A, 0x381ECF3D, 0x381EDEE4, 0x381EEE84, 0x381EFE1B, 0x381F0DA7, 0x381F1D2B, 0x381F2CA4, 0x381F3C18, 0x381F4B7E, 0x381F5ADE, 0x381F6A33, 0x381F7983, 0x381F88C5, 0x381F9801, 0x381FA733, 0x381FB65F, 0x381FC580, 0x381FD499, 0x381FE3A6, 0x381FF2AF, 0x382001AC, 0x382010A4, 0x38201F91, 0x38202E75, 0x38203D52, 0x38204C26, 0x38205AF1, 0x382069B5, 0x38207870, 0x38208723, 0x382095CE, 0x3820A471, 0x3820B30B, 0x3820C19D, 0x3820D027, 0x3820DEA9, 0x3820ED22, 0x3820FB93, 0x382109FF, 0x3821185F, 0x382126BB, 0x3821350D, 0x38214358, 0x3821519A, 0x38215FD5, 0x38216E09, 0x38217C36, 0x38218A5A, 0x38219876, 0x3821A689, 0x3821B497, 0x3821C29D, 0x3821D09B, 0x3821DE93, 0x3821EC83, 0x3821FA6B, 0x3822084A, 0x38221624, 0x382223F6, 0x382231C2, 0x38223F86, 0x38224D42, 0x38225AF8, 0x382268A6, 0x3822764B, 0x382283EC, 0x38229184, 0x38229F16, 0x3822ACA0, 0x3822BA25, 0x3822C7A1, 0x3822D516, 0x3822E284, 0x3822EFEE, 0x3822FD4E, 0x38230AAA, 0x382317FD, 0x38232548, 0x38233290, 0x38233FCE, 0x38234D08, 0x38235A3A, 0x38236764, 0x38237489, 0xBF800000, 0x00000000, 0x36A6196A, 0x3703A179, 0x37261985, 0x3740D603, 0x3756AE5C, 0x3769269A, 0x37792674, 0x3783A19B, 0x3789F17B, 0x378FA735, 0x3794DDA7, 0x3799A93E, 0x379E19D1, 0x37A23BED, 0x37A619B9, 0x37A9BB85, 0x37AD281F, 0x37B06554, 0x37B377FF, 0x37B66449, 0x37B92DBF, 0x37BBD77C, 0x37BE6436, 0x37C0D64A, 0x37C32FCD, 0x37C5729C, 0x37C7A05B, 0x37C9BA8F, 0x37CBC27C, 0x37CDB962, 0x37CFA04E, 0x37D1783C, 0x37D34214, 0x37D4FEA6, 0x37D6AEB4, 0x37D852E6, 0x37D9EBE9, 0x37DB7A4A, 0x37DCFE94, 0x37DE7949, 0x37DFEADE, 0x37E153C0, 0x37E2B453, 0x37E40CFF, 0x37E55E11, 0x37E6A7EB, 0x37E7EACB, 0x37E92708, 0x37EA5CDF, 0x37EB8C97, 0x37ECB667, 0x37EDDA86, 0x37EEF937, 0x37F0129F, 0x37F126FB, 0x37F2366C, 0x37F34129, 0x37F44753, 0x37F5491C, 0x37F64699, 0x37F73FFC, 0x37F83561, 0x37F926E8, 0x37FA14B2, 0x37FAFEDC, 0x37FBE57A, 0x37FCC8B4, 0x37FDA899, 0x37FE8546, 0x37FF5ED0, 0x38001AAA, 0x38008470, 0x3800ECC6, 0x380153B4, 0x3801B944, 0x38021D83, 0x38028075, 0x3802E225, 0x3803429C, 0x3803A1E0, 0x3803FFF7, 0x38045CE9, 0x3804B8C2, 0x38051380, 0x38056D30, 0x3805C5D9, 0x38061D7C, 0x38067423, 0x3806C9D2, 0x38071E8D, 0x3807725B, 0x3807C542, 0x38081748, 0x3808686D, 0x3808B8B8, 0x38090830, 0x380956D7, 0x3809A4B2, 0x3809F1C5, 0x380A3E12, 0x380A899E, 0x380AD470, 0x380B1E86, 0x380B67E7, 0x380BB098, 0x380BF89A, 0x380C3FEE, 0x380C869D, 0x380CCCA5, 0x380D120A, 0x380D56D0, 0x380D9AFC, 0x380DDE8B, 0x380E2183, 0x380E63EA, 0x380EA5BC, 0x380EE6FF, 0x380F27B6, 0x380F67E1, 0x380FA785, 0x380FE6A2, 0x3810253B, 0x38106353, 0x3810A0ED, 0x3810DE06, 0x38111AA5, 0x381156C9, 0x38119277, 0x3811CDAF, 0x38120873, 0x381242C3, 0x38127CA3, 0x3812B615, 0x3812EF16, 0x381327AF, 0x38135FDD, 0x381397A2, 0x3813CF01, 0x381405F8, 0x38143C8F, 0x381472C0, 0x3814A891, 0x3814DDFF, 0x38151312, 0x381547C5, 0x38157C1E, 0x3815B01B, 0x3815E3C1, 0x3816170C, 0x381649FF, 0x38167C9C, 0x3816AEE5, 0x3816E0DB, 0x3817127C, 0x381743CD, 0x381774CE, 0x3817A57D, 0x3817D5DF, 0x381805F4, 0x381835BA, 0x38186538, 0x38189469, 0x3818C34F, 0x3818F1EC, 0x38192041, 0x38194E51, 0x38197C1A, 0x3819A99B, 0x3819D6DA, 0x381A03D2, 0x381A308B, 0x381A5CFF, 0x381A8931, 0x381AB524, 0x381AE0D4, 0x381B0C49, 0x381B377B, 0x381B6271, 0x381B8D2A, 0x381BB7A7, 0x381BE1E5, 0x381C0BEC, 0x381C35B6, 0x381C5F46, 0x381C889D, 0x381CB1BA, 0x381CDAA0, 0x381D034F, 0x381D2BC8, 0x381D5409, 0x381D7C13, 0x381DA3E9, 0x381DCB8B, 0x381DF2F8, 0x381E1A32, 0x381E4137, 0x381E680D, 0x381E8EAC, 0x381EB51D, 0x381EDB5C, 0x381F016C, 0x381F2749, 0x381F4CF9, 0x381F7278, 0x381F97CA, 0x381FBCEC, 0x381FE1E1, 0x382006A8, 0x38202B42, 0x38204FB1, 0x382073F3, 0x3820980A, 0x3820BBF5, 0x3820DFB3, 0x38210349, 0x382126B5, 0x382149F8, 0x38216D0F, 0x38219000, 0x3821B2C7, 0x3821D565, 0x3821F7DC, 0x38221A2B, 0x38223C55, 0x38225E57, 0x38228032, 0x3822A1E6, 0x3822C377, 0x3822E4E1, 0x38230625, 0x38232745, 0x38234841, 0x38236917, 0x382389CC, 0x3823AA5A, 0x3823CAC7, 0x3823EB11, 0x38240B39, 0x38242B3E, 0x38244B1F, 0x38246AE2, 0x38248A81, 0x3824AA00, 0x3824C95D, 0x3824E899, 0x382507B4, 0x382526B1, 0x3825458D, 0x38256448, 0x382582E5, 0x3825A163, 0x3825BFC1, 0x3825DE03, 0x3825FC24, 0x38261A27, 0x3826380B, 0x382655D5, 0x3826737F, 0x3826910C, 0x3826AE7B, 0x3826CBCD, 0x3826E905, 0x38270621, 0x3827231F, 0x38274001, 0x38275CC5, 0x38277970, 0x38279600, 0x3827B274, 0x3827CECD, 0x3827EB0D, 0x38280731, 0x3828233A, 0x38283F2B, 0x38285B00, 0x382876BC, 0x3828925F, 0x3828ADE7, 0x3828C956, 0x3828E4AC, 0x3828FFED, 0x38291B12, 0x3829361E, 0x38295111, 0x38296BEF, 0x382986B1, 0x3829A15D, 0x3829BBF3, 0x3829D670, 0x3829F0D4, 0x382A0B23, 0x382A255B, 0x382A3F7B, 0x382A5985, 0x382A7379, 0x382A8D57, 0x382AA71E, 0x382AC0CE, 0x382ADA69, 0x382AF3EC, 0x382B0D5C, 0x382B26B6, 0x382B3FFA, 0x382B592B, 0x382B7245, 0x382B8B4A, 0x382BA439, 0x382BBD14, 0x382BD5DC, 0x382BEE8E, 0x382C072D, 0x382C1FB6, 0x382C382C, 0x382C508F, 0x382C68DE, 0x382C8117, 0x382C993D, 0x382CB153, 0x382CC952, 0x382CE13E, 0x382CF91A, 0x382D10E0, 0x382D2895, 0x382D4037, 0x382D57C6, 0x382D6F42, 0x382D86AD, 0x382D9E05, 0x382DB54C, 0x382DCC80, 0x382DE3A1, 0x382DFAB1, 0x382E11AE, 0x382E289B, 0x382E3F77, 0x382E5643, 0x382E6CFB, 0x382E83A3, 0x382E9A38, 0x382EB0BF, 0x382EC733, 0x382EDD96, 0x382EF3E9, 0x382F0A2B, 0x382F205C, 0x382F3680, 0x382F4C91, 0x382F6291, 0x382F7884, 0x382F8E63, 0x382FA435, 0x382FB9F6, 0x382FCFA6, 0x382FE549, 0x382FFADB, 0x3830105D, 0x383025D1, 0x38303B35, 0x3830508B, 0x383065D0, 0x38307B05, 0x3830902F, 0x3830A545, 0x3830BA51, 0x3830CF4C, 0x3830E437, 0x3830F916, 0x38310DE5, 0x383122A7, 0x38313758, 0x38314BFE, 0x38316093, 0x3831751B, 0x38318995, 0x38319E01, 0x3831B25F, 0x3831C6B0, 0x3831DAF3, 0x3831EF28, 0x3832034F, 0x38321769, 0x38322B75, 0x38323F73, 0x38325364, 0x38326749, 0x38327B21, 0x38328EEB, 0x3832A2A7, 0x3832B659, 0x3832C9FC, 0x3832DD92, 0x3832F11D, 0x3833049A, 0x38331809, 0x38332B6D, 0x38333EC4, 0x3833520F, 0x3833654D, 0x3833787D, 0x38338BA5, 0x38339EBC, 0x3833B1CB, 0x3833C4CD, 0x3833D7C0, 0x3833EAAC, 0x3833FD89, 0x38341059, 0x3834231E, 0x383435D8, 0x38344887, 0x38345B2B, 0x38346DC1, 0x3834804C, 0x383492CC, 0x3834A541, 0x3834B7AB, 0x3834CA0B, 0x3834DC5C, 0x3834EEA5, 0x383500E1, 0x38351311, 0x38352539, 0x38353754, 0x38354966, 0x38355B6A, 0x38356D67, 0x38357F55, 0x3835913B, 0x3835A316, 0x3835B4E7, 0x3835C6AC, 0x3835D866, 0x3835EA18, 0x3835FBBC, 0x38360D58, 0x38361EE9, 0x38363072, 0x383641ED, 0x38365360, 0x383664CA, 0x38367627, 0x3836877C, 0x383698C8, 0x3836AA07, 0x3836BB40, 0x3836CC6B, 0x3836DD8E, 0x3836EEA6, 0x3836FFB6, 0x383710BD, 0x383721B7, 0x383732AB, 0x38374392, 0x38375473, 0x38376549, 0x38377614, 0x383786D7, 0x38379792, 0x3837A841, 0x3837B8E9, 0x3837C988, 0x3837DA1C, 0x3837EAA8, 0x3837FB29, 0x38380BA1, 0x38381C12, 0x38382C7A, 0x38383CD7, 0x38384D2F, 0x38385D7B, 0x38386DBD, 0x38387DF9, 0x38388E2A, 0x38389E53, 0x3838AE74, 0x3838BE8C, 0x3838CE9C, 0x3838DEA2, 0x3838EEA1, 0x3838FE96, 0x38390E82, 0x38391E67, 0x38392E43, 0x38393E19, 0x38394DE4, 0x38395DA8, 0x38396D63, 0x38397D15, 0x38398CC0, 0x38399C62, 0x3839ABFC, 0x3839BB8E, 0x3839CB17, 0x3839DA98, 0x3839EA14, 0x3839F985, 0x383A08F0, 0x383A1850, 0x383A27AB, 0x383A36FE, 0x383A4648, 0x383A558A, 0x383A64C6, 0x383A73F8, 0x383A8324, 0x383A9248, 0x383AA166, 0x383AB079, 0x383ABF87, 0x383ACE8D, 0xBF800000, 0x00000000, 0x36C1C874, 0x371991D6, 0x3741C897, 0x3760F9D6, 0x377A7647, 0x37880153, 0x3791568D, 0x37999207, 0x37A0EF37, 0x37A79893, 0x37ADAD70, 0x37B345A3, 0x37B8739F, 0x37BD461A, 0x37C1C8E4, 0x37C605A1, 0x37CA045E, 0x37CDCBC4, 0x37D1618F, 0x37D4CA8D, 0x37D80AF0, 0x37DB264D, 0x37DE1FD2, 0x37E0FA3F, 0x37E3B805, 0x37E65B4C, 0x37E8E607, 0x37EB59E9, 0x37EDB882, 0x37F00333, 0x37F23B4C, 0x37F461E4, 0x37F67808, 0x37F87EB7, 0x37FA76C6, 0x37FC6105, 0x37FE3E31, 0x3800077C, 0x3800E9FE, 0x3801C6E7, 0x38029E7D, 0x38037102, 0x38043EAF, 0x380507BE, 0x3805CC60, 0x38068CC7, 0x38074922, 0x3808019A, 0x3808B659, 0x38096781, 0x380A153C, 0x380ABFA6, 0x380B66DF, 0x380C0B09, 0x380CAC3D, 0x380D4A98, 0x380DE630, 0x380E7F1F, 0x380F157D, 0x380FA95D, 0x38103AD6, 0x3810C9FD, 0x381156E2, 0x3811E197, 0x38126A2E, 0x3812F0B8, 0x38137543, 0x3813F7DF, 0x38147898, 0x3814F77F, 0x381574A2, 0x3815F007, 0x381669C2, 0x3816E1D8, 0x38175857, 0x3817CD4B, 0x381840BB, 0x3818B2B3, 0x3819233D, 0x38199261, 0x381A0026, 0x381A6C99, 0x381AD7BF, 0x381B419E, 0x381BAA43, 0x381C11B0, 0x381C77F0, 0x381CDD08, 0x381D40FC, 0x381DA3D8, 0x381E059F, 0x381E6658, 0x381EC609, 0x381F24B5, 0x381F8264, 0x381FDF19, 0x38203ADC, 0x382095B0, 0x3820EF9A, 0x382148A0, 0x3821A0C5, 0x3821F80E, 0x38224E7E, 0x3822A41C, 0x3822F8E7, 0x38234CEA, 0x3823A024, 0x3823F298, 0x3824444E, 0x38249544, 0x3824E581, 0x38253507, 0x382583D9, 0x3825D1FC, 0x38261F72, 0x38266C40, 0x3826B864, 0x382703E2, 0x38274EC2, 0x382798FF, 0x3827E2A2, 0x38282BAB, 0x3828741D, 0x3828BBF8, 0x38290341, 0x382949FB, 0x38299026, 0x3829D5C5, 0x382A1ADB, 0x382A5F6A, 0x382AA375, 0x382AE6F9, 0x382B29FD, 0x382B6C81, 0x382BAE87, 0x382BF015, 0x382C3124, 0x382C71BC, 0x382CB1DF, 0x382CF18E, 0x382D30C7, 0x382D6F8F, 0x382DADE9, 0x382DEBD2, 0x382E294E, 0x382E6661, 0x382EA309, 0x382EDF48, 0x382F1B1F, 0x382F5693, 0x382F919F, 0x382FCC4A, 0x38300692, 0x3830407A, 0x38307A02, 0x3830B330, 0x3830EBFD, 0x3831246F, 0x38315C87, 0x38319444, 0x3831CBA9, 0x383202B8, 0x38323970, 0x38326FD3, 0x3832A5E3, 0x3832DB9E, 0x38331106, 0x3833461F, 0x38337AE8, 0x3833AF61, 0x3833E38B, 0x3834176A, 0x38344AFA, 0x38347E3F, 0x3834B13A, 0x3834E3E8, 0x38351652, 0x38354871, 0x38357A46, 0x3835ABD9, 0x3835DD22, 0x38360E29, 0x38363EEB, 0x38366F69, 0x38369FA2, 0x3836CF9B, 0x3836FF53, 0x38372EC8, 0x38375DFF, 0x38378CF6, 0x3837BBAE, 0x3837EA27, 0x38381863, 0x38384663, 0x38387426, 0x3838A1B0, 0x3838CEFA, 0x3838FC0D, 0x383928E7, 0x38395584, 0x383981EA, 0x3839AE19, 0x3839DA0F, 0x383A05D0, 0x383A315B, 0x383A5CAB, 0x383A87CA, 0x383AB2B2, 0x383ADD66, 0x383B07E9, 0x383B3234, 0x383B5C4E, 0x383B8637, 0x383BAFEB, 0x383BD970, 0x383C02C2, 0x383C2BE4, 0x383C54D8, 0x383C7D9A, 0x383CA62B, 0x383CCE90, 0x383CF6C6, 0x383D1ECE, 0x383D46A9, 0x383D6E53, 0x383D95D4, 0x383DBD29, 0x383DE44F, 0x383E0B4C, 0x383E321D, 0x383E58C1, 0x383E7F3D, 0x383EA58D, 0x383ECBB3, 0x383EF1B0, 0x383F1784, 0x383F3D32, 0x383F62B3, 0x383F880E, 0x383FAD43, 0x383FD24E, 0x383FF733, 0x38401BF1, 0x38404089, 0x384064FA, 0x38408945, 0x3840AD6A, 0x3840D16A, 0x3840F547, 0x384118FE, 0x38413C90, 0x38415FFF, 0x3841834A, 0x3841A672, 0x3841C976, 0x3841EC56, 0x38420F15, 0x384231B0, 0x3842542A, 0x38427684, 0x384298B9, 0x3842BACE, 0x3842DCC2, 0x3842FE97, 0x38432049, 0x384341D9, 0x3843634C, 0x384384A0, 0x3843A5D1, 0x3843C6E6, 0x3843E7DA, 0x384408AD, 0x38442964, 0x384449FB, 0x38446A76, 0x38448AD0, 0x3844AB0E, 0x3844CB2C, 0x3844EB2E, 0x38450B15, 0x38452ADD, 0x38454A87, 0x38456A16, 0x38458989, 0x3845A8E1, 0x3845C81A, 0x3845E738, 0x3846063B, 0x38462522, 0x384643F0, 0x384662A0, 0x38468137, 0x38469FB0, 0x3846BE13, 0x3846DC58, 0x3846FA87, 0x38471897, 0x38473692, 0x38475471, 0x38477238, 0x38478FE2, 0x3847AD77, 0x3847CAF1, 0x3847E851, 0x3848059C, 0x384822CB, 0x38483FE4, 0x38485CE5, 0x384879CD, 0x3848969C, 0x3848B355, 0x3848CFF8, 0x3848EC7F, 0x384908F3, 0x3849254F, 0x38494192, 0x38495DC1, 0x384979D8, 0x384995D9, 0x3849B1C1, 0x3849CD96, 0x3849E955, 0x384A04FB, 0x384A208D, 0x384A3C0A, 0x384A5771, 0x384A72C2, 0x384A8DFD, 0x384AA925, 0x384AC436, 0x384ADF35, 0x384AFA1D, 0x384B14F0, 0x384B2FAF, 0x384B4A5B, 0x384B64F1, 0x384B7F71, 0x384B99E0, 0x384BB43A, 0x384BCE80, 0x384BE8B3, 0x384C02D3, 0x384C1CDF, 0x384C36D6, 0x384C50BC, 0x384C6A8F, 0x384C844C, 0x384C9DF8, 0x384CB791, 0x384CD11A, 0x384CEA8C, 0x384D03EE, 0x384D1D3D, 0x384D3679, 0x384D4FA4, 0x384D68BC, 0x384D81C3, 0x384D9AB8, 0x384DB39B, 0x384DCC6C, 0x384DE52C, 0x384DFDDB, 0x384E1677, 0x384E2F03, 0x384E477B, 0x384E5FE6, 0x384E783E, 0x384E9085, 0x384EA8BB, 0x384EC0E1, 0x384ED8F7, 0x384EF0FC, 0x384F08F0, 0x384F20D4, 0x384F38A8, 0x384F506B, 0x384F681D, 0x384F7FBF, 0x384F9754, 0x384FAED8, 0x384FC64B, 0x384FDDAE, 0x384FF503, 0x38500C47, 0x3850237B, 0x38503AA2, 0x385051B8, 0x385068C0, 0x38507FB8, 0x385096A1, 0x3850AD7B, 0x3850C446, 0x3850DB04, 0x3850F1B2, 0x3851084F, 0x38511EE1, 0x38513562, 0x38514BD6, 0x3851623C, 0x38517891, 0x38518ED9, 0x3851A513, 0x3851BB3F, 0x3851D15E, 0x3851E76E, 0x3851FD71, 0x38521367, 0x3852294B, 0x38523F25, 0x385254F1, 0x38526AAF, 0x38528060, 0x38529603, 0x3852AB98, 0x3852C11F, 0x3852D69B, 0x3852EC07, 0x38530168, 0x385316BE, 0x38532C03, 0x3853413E, 0x3853566A, 0x38536B89, 0x3853809D, 0x385395A6, 0x3853AA9E, 0x3853BF8B, 0x3853D46E, 0x3853E942, 0x3853FE09, 0x385412C5, 0x38542776, 0x38543C19, 0x385450AF, 0x3854653C, 0x385479BB, 0x38548E2D, 0x3854A294, 0x3854B6EF, 0x3854CB40, 0x3854DF83, 0x3854F3BB, 0x385507E8, 0x38551C07, 0x3855301B, 0x38554427, 0x38555825, 0x38556C16, 0x38557FFE, 0x385593DB, 0x3855A7AB, 0x3855BB6F, 0x3855CF2C, 0x3855E2DA, 0x3855F67E, 0x38560A16, 0x38561DA6, 0x38563129, 0x385644A1, 0x38565810, 0x38566B71, 0x38567ECB, 0x38569216, 0x3856A55A, 0x3856B892, 0x3856CBBF, 0x3856DEE4, 0x3856F1FC, 0x3857050B, 0x3857180F, 0x38572B08, 0x38573DF6, 0x385750DC, 0x385763B7, 0x38577687, 0x3857894E, 0x38579C0B, 0x3857AEBC, 0x3857C166, 0x3857D404, 0x3857E69A, 0x3857F923, 0x38580BA6, 0x38581E1D, 0x3858308A, 0x385842EC, 0x38585549, 0x38586797, 0x385879DE, 0x38588C1C, 0x38589E4F, 0x3858B07A, 0x3858C29D, 0x3858D4B4, 0x3858E6C1, 0x3858F8C6, 0x38590AC2, 0x38591CB6, 0x38592E9F, 0x3859407F, 0x38595255, 0x38596423, 0x385975E8, 0x385987A5, 0x38599957, 0x3859AB01, 0x3859BCA2, 0x3859CE3B, 0x3859DFCA, 0x3859F150, 0xBF800000, 0x00000000, 0x36E88A61, 0x373848D3, 0x37688A91, 0x3786FC78, 0x37964729, 0x37A334FE, 0x37AE6819, 0x37B8490F, 0x37C11F4E, 0x37C91DC0, 0x37D06A04, 0x37D720AB, 0x37DD57DE, 0x37E3213F, 0x37E88AFF, 0x37EDA0B7, 0x37F26BFB, 0x37F6F4E3, 0x37FB423F, 0x37FF59DA, 0x3801A05B, 0x38037D95, 0x3805467D, 0x3806FCC0, 0x3808A1D1, 0x380A36FE, 0x380BBD6D, 0x380D3629, 0x380EA220, 0x38100227, 0x38115700, 0x3812A15C, 0x3813E1DC, 0x38151910, 0x38164781, 0x38176DA8, 0x38188BF8, 0x3819A2D5, 0x381AB2A6, 0x381BBBBE, 0x381CBE74, 0x381DBB12, 0x381EB1E2, 0x381FA327, 0x38208F1E, 0x38217601, 0x38225807, 0x38233566, 0x38240E49, 0x3824E2E3, 0x3825B35D, 0x38267FDB, 0x3827488A, 0x38280D87, 0x3828CEF9, 0x38298CFE, 0x382A47B8, 0x382AFF3E, 0x382BB3AF, 0x382C6524, 0x382D13B6, 0x382DBF7D, 0x382E688F, 0x382F0F02, 0x382FB2EB, 0x3830545D, 0x3830F36B, 0x38319027, 0x38322AA1, 0x3832C2EB, 0x38335912, 0x3833ED27, 0x38347F39, 0x38350F54, 0x38359D89, 0x383629E0, 0x3836B469, 0x38373D2C, 0x3837C437, 0x38384996, 0x3838CD50, 0x38394F73, 0x3839D008, 0x383A4F13, 0x383ACCA6, 0x383B48C3, 0x383BC376, 0x383C3CC5, 0x383CB4BB, 0x383D2B5B, 0x383DA0B2, 0x383E14C1, 0x383E8795, 0x383EF932, 0x383F699D, 0x383FD8DD, 0x384046FA, 0x3840B3F9, 0x38411FE0, 0x38418AB3, 0x3841F479, 0x38425D38, 0x3842C4F4, 0x38432BB0, 0x38439175, 0x3843F642, 0x38445A21, 0x3844BD16, 0x38451F21, 0x38458048, 0x3845E093, 0x38464002, 0x38469E98, 0x3846FC5D, 0x38475951, 0x3847B577, 0x384810D7, 0x38486B71, 0x3848C548, 0x38491E5F, 0x384976BE, 0x3849CE61, 0x384A254F, 0x384A7B8B, 0x384AD116, 0x384B25F7, 0x384B7A2B, 0x384BCDB7, 0x384C209F, 0x384C72E4, 0x384CC487, 0x384D1590, 0x384D65FA, 0x384DB5CC, 0x384E0507, 0x384E53AE, 0x384EA1C3, 0x384EEF49, 0x384F3C3E, 0x384F88A9, 0x384FD488, 0x38501FE0, 0x38506AAF, 0x3850B4FC, 0x3850FEC6, 0x3851480E, 0x385190D8, 0x3851D924, 0x385220F4, 0x3852684A, 0x3852AF28, 0x3852F58D, 0x38533B7F, 0x385380FD, 0x3853C608, 0x38540AA2, 0x38544ECB, 0x38549286, 0x3854D5D6, 0x385518BB, 0x38555B35, 0x38559D46, 0x3855DEF2, 0x38562035, 0x38566112, 0x3856A18F, 0x3856E1A7, 0x3857215E, 0x385760B5, 0x38579FAC, 0x3857DE48, 0x38581C84, 0x38585A65, 0x385897EC, 0x3858D517, 0x385911EB, 0x38594E67, 0x38598A8E, 0x3859C65C, 0x385A01D9, 0x385A3CFD, 0x385A77D2, 0x385AB254, 0x385AEC86, 0x385B2666, 0x385B5FF6, 0x385B9939, 0x385BD22D, 0x385C0AD3, 0x385C4330, 0x385C7B3F, 0x385CB307, 0x385CEA82, 0x385D21B6, 0x385D589F, 0x385D8F41, 0x385DC59E, 0x385DFBB3, 0x385E3184, 0x385E6710, 0x385E9C58, 0x385ED15D, 0x385F061E, 0x385F3A9F, 0x385F6EDC, 0x385FA2DA, 0x385FD698, 0x38600A15, 0x38603D55, 0x38607055, 0x3860A319, 0x3860D59E, 0x386107E7, 0x386139F6, 0x38616BC5, 0x38619D5E, 0x3861CEBA, 0x3861FFDD, 0x386230C5, 0x38626177, 0x386291EF, 0x3862C230, 0x3862F23A, 0x3863220A, 0x386351A6, 0x3863810E, 0x3863B03F, 0x3863DF3C, 0x38640E01, 0x38643C96, 0x38646AF6, 0x38649924, 0x3864C71E, 0x3864F4E7, 0x3865227F, 0x38654FE4, 0x38657D19, 0x3865AA1C, 0x3865D6F0, 0x38660392, 0x38663006, 0x38665C4E, 0x38668865, 0x3866B44D, 0x3866E008, 0x38670B98, 0x386736F7, 0x3867622C, 0x38678D35, 0x3867B80F, 0x3867E2C0, 0x38680D45, 0x3868379F, 0x386861CF, 0x38688BD3, 0x3868B5AD, 0x3868DF5F, 0x386908E7, 0x38693246, 0x38695B7F, 0x3869848B, 0x3869AD71, 0x3869D631, 0x3869FEC7, 0x386A2737, 0x386A4F81, 0x386A77A4, 0x386A9FA0, 0x386AC776, 0x386AEF25, 0x386B16B1, 0x386B3E19, 0x386B6558, 0x386B8C76, 0x386BB36D, 0x386BDA41, 0x386C00F3, 0x386C277F, 0x386C4DE8, 0x386C742F, 0x386C9A53, 0x386CC053, 0x386CE632, 0x386D0BF0, 0x386D318A, 0x386D5703, 0x386D7C5B, 0x386DA190, 0x386DC6A6, 0x386DEB9C, 0x386E1070, 0x386E3526, 0x386E59B8, 0x386E7E2F, 0x386EA282, 0x386EC6B7, 0x386EEACE, 0x386F0EC6, 0x386F32A0, 0x386F565A, 0x386F79F5, 0x386F9D74, 0x386FC0D2, 0x386FE415, 0x3870073A, 0x38702A41, 0x38704D2C, 0x38706FF9, 0x387092A7, 0x3870B53D, 0x3870D7B2, 0x3870FA0E, 0x38711C4E, 0x38713E71, 0x38716078, 0x38718263, 0x3871A433, 0x3871C5EA, 0x3871E783, 0x38720903, 0x38722A68, 0x38724BB1, 0x38726CE2, 0x38728DF7, 0x3872AEF3, 0x3872CFD6, 0x3872F09E, 0x3873114E, 0x387331E2, 0x3873525D, 0x387372C2, 0x3873930B, 0x3873B33C, 0x3873D354, 0x3873F354, 0x3874133D, 0x3874330B, 0x387452C3, 0x38747262, 0x387491EB, 0x3874B15B, 0x3874D0B3, 0x3874EFF5, 0x38750F1E, 0x38752E31, 0x38754D2E, 0x38756C12, 0x38758AE3, 0x3875A998, 0x3875C83B, 0x3875E6C7, 0x3876053B, 0x3876239B, 0x387641E2, 0x38766017, 0x38767E35, 0x38769C3D, 0x3876BA30, 0x3876D80C, 0x3876F5D2, 0x38771386, 0x38773125, 0x38774EAD, 0x38776C23, 0x38778981, 0x3877A6CC, 0x3877C403, 0x3877E127, 0x3877FE36, 0x38781B2E, 0x38783816, 0x387854E7, 0x387871A6, 0x38788E51, 0x3878AAE9, 0x3878C76B, 0x3878E3DC, 0x3879003B, 0x38791C86, 0x387938BB, 0x387954DF, 0x387970F1, 0x38798CF2, 0x3879A8DC, 0x3879C4B7, 0x3879E07E, 0x3879FC32, 0x387A17D5, 0x387A3365, 0x387A4EE2, 0x387A6A4E, 0x387A85AA, 0x387AA0F3, 0x387ABC28, 0x387AD750, 0x387AF262, 0x387B0D66, 0x387B2856, 0x387B4336, 0x387B5E03, 0x387B78C3, 0x387B936F, 0x387BAE0A, 0x387BC895, 0x387BE310, 0x387BFD77, 0x387C17D0, 0x387C3219, 0x387C4C4F, 0x387C6677, 0x387C808F, 0x387C9A96, 0x387CB48C, 0x387CCE72, 0x387CE84B, 0x387D0210, 0x387D1BC7, 0x387D3571, 0x387D4F07, 0x387D688F, 0x387D8208, 0x387D9B72, 0x387DB4CC, 0x387DCE15, 0x387DE751, 0x387E007C, 0x387E1999, 0x387E32A9, 0x387E4BA8, 0x387E6497, 0x387E7D7A, 0x387E964B, 0x387EAF10, 0x387EC7C5, 0x387EE06C, 0x387EF906, 0x387F118F, 0x387F2A0A, 0x387F4278, 0x387F5AD7, 0x387F7329, 0x387F8B6E, 0x387FA3A1, 0x387FBBCA, 0x387FD3E2, 0x387FEBED, 0x388001F6, 0x38800DEE, 0x388019E0, 0x388025C9, 0x388031AE, 0x38803D8A, 0x38804960, 0x38805530, 0x388060F9, 0x38806CBC, 0x38807877, 0x3880842D, 0x38808FDB, 0x38809B83, 0x3880A725, 0x3880B2C1, 0x3880BE55, 0x3880C9E4, 0x3880D56D, 0x3880E0EE, 0x3880EC6A, 0x3880F7DF, 0x3881034E, 0x38810EB7, 0x38811A18, 0x38812576, 0x388130CB, 0x38813C1B, 0x38814766, 0x388152AA, 0x38815DE8, 0x3881691F, 0x38817452, 0x38817F7D, 0x38818AA4, 0x388195C4, 0x3881A0DE, 0x3881ABF2, 0x3881B702, 0x3881C20A, 0x3881CD0D, 0x3881D80A, 0x3881E301, 0x3881EDF3, 0x3881F8DF, 0x388203C5, 0x38820EA7, 0x38821982, 0x38822456, 0x38822F26, 0x388239F0, 0x388244B5, 0x38824F75, 0x38825A2E, 0x388264E2, 0x38826F91, 0x38827A3B, 0x388284DF, 0x38828F7D, 0x38829A16, 0x3882A4AA, 0x3882AF39, 0x3882B9C2, 0x3882C446, 0xBF800000, 0x00000000, 0x3904CF18, 0x3952814E, 0x3984D142, 0x399A3308, 0x39ABAB9C, 0x39BA713C, 0x39C73D1D, 0x39D286B3, 0x39DC9F96, 0x39E5C1F1, 0x39EE18BA, 0x39F5C48F, 0x39FCDED2, 0x3A01BDCD, 0x3A04D58F, 0x3A07BD4E, 0x3A0A7A8A, 0x3A0D11DA, 0x3A0F8725, 0x3A11DDBA, 0x3A141878, 0x3A1639D6, 0x3A1843FF, 0x3A1A38D8, 0x3A1C1A0A, 0x3A1DE916, 0x3A1FA749, 0x3A2155D6, 0x3A22F5C8, 0x3A24881A, 0x3A260DA4, 0x3A278732, 0x3A28F57B, 0x3A2A5927, 0x3A2BB2CD, 0x3A2D02FC, 0x3A2E4A33, 0x3A2F88EC, 0x3A30BF93, 0x3A31EE8D, 0x3A33163C, 0x3A3436F4, 0x3A35510C, 0x3A3664CA, 0x3A37727B, 0x3A387A60, 0x3A397CB5, 0x3A3A79B7, 0x3A3B719E, 0x3A3C649B, 0x3A3D52E0, 0x3A3E3C9D, 0x3A3F21FB, 0x3A400323, 0x3A40E03D, 0x3A41B96C, 0x3A428ED6, 0x3A43609B, 0x3A442ED8, 0x3A44F9AD, 0x3A45C136, 0x3A46858D, 0x3A4746CC, 0x3A48050D, 0x3A48C067, 0x3A4978EF, 0x3A4A2EBB, 0x3A4AE1E1, 0x3A4B9273, 0x3A4C4084, 0x3A4CEC26, 0x3A4D9569, 0x3A4E3C5E, 0x3A4EE116, 0x3A4F83A0, 0x3A50240B, 0x3A50C263, 0x3A515EB7, 0x3A51F914, 0x3A529186, 0x3A532819, 0x3A53BCD8, 0x3A544FD0, 0x3A54E10B, 0x3A557093, 0x3A55FE73, 0x3A568AB3, 0x3A57155E, 0x3A579E7C, 0x3A582615, 0x3A58AC35, 0x3A5930E0, 0x3A59B420, 0x3A5A35FD, 0x3A5AB67F, 0x3A5B35AB, 0x3A5BB389, 0x3A5C3021, 0x3A5CAB78, 0x3A5D2595, 0x3A5D9E7C, 0x3A5E1638, 0x3A5E8CCA, 0x3A5F023B, 0x3A5F768E, 0x3A5FE9CA, 0x3A605BF2, 0x3A60CD0F, 0x3A613D23, 0x3A61AC32, 0x3A621A45, 0x3A62875A, 0x3A62F37B, 0x3A635EAA, 0x3A63C8EB, 0x3A643244, 0x3A649AB7, 0x3A650247, 0x3A6568FB, 0x3A65CED3, 0x3A6633D6, 0x3A669804, 0x3A66FB64, 0x3A675DF8, 0x3A67BFC2, 0x3A6820C7, 0x3A688108, 0x3A68E08B, 0x3A693F50, 0x3A699D5C, 0x3A69FAB0, 0x3A6A5750, 0x3A6AB33E, 0x3A6B0E7E, 0x3A6B6910, 0x3A6BC2F9, 0x3A6C1C3C, 0x3A6C74D9, 0x3A6CCCD3, 0x3A6D242D, 0x3A6D7AEA, 0x3A6DD109, 0x3A6E2690, 0x3A6E7B7F, 0x3A6ECFD9, 0x3A6F23A0, 0x3A6F76D4, 0x3A6FC97A, 0x3A701B92, 0x3A706D1F, 0x3A70BE21, 0x3A710E9B, 0x3A715E91, 0x3A71AE01, 0x3A71FCEE, 0x3A724B5B, 0x3A729948, 0x3A72E6B6, 0x3A7333A8, 0x3A738021, 0x3A73CC1F, 0x3A7417A7, 0x3A7462B7, 0x3A74AD54, 0x3A74F77B, 0x3A754133, 0x3A758A78, 0x3A75D34F, 0x3A761BB9, 0x3A7663B4, 0x3A76AB44, 0x3A76F26C, 0x3A773929, 0x3A777F7E, 0x3A77C56D, 0x3A780AF7, 0x3A78501D, 0x3A7894DF, 0x3A78D940, 0x3A791D3F, 0x3A7960DD, 0x3A79A41F, 0x3A79E702, 0x3A7A2987, 0x3A7A6BB2, 0x3A7AAD81, 0x3A7AEEF6, 0x3A7B3013, 0x3A7B70D8, 0x3A7BB144, 0x3A7BF15D, 0x3A7C311F, 0x3A7C708C, 0x3A7CAFA8, 0x3A7CEE70, 0x3A7D2CE5, 0x3A7D6B0B, 0x3A7DA8DF, 0x3A7DE666, 0x3A7E239D, 0x3A7E6086, 0x3A7E9D23, 0x3A7ED972, 0x3A7F1578, 0x3A7F5132, 0x3A7F8CA0, 0x3A7FC7C8, 0x3A800153, 0x3A801E9E, 0x3A803BC5, 0x3A8058CA, 0x3A8075AA, 0x3A809269, 0x3A80AF05, 0x3A80CB7F, 0x3A80E7D8, 0x3A81040F, 0x3A812026, 0x3A813C1B, 0x3A8157F1, 0x3A8173A5, 0x3A818F3A, 0x3A81AAAF, 0x3A81C606, 0x3A81E13D, 0x3A81FC55, 0x3A82174F, 0x3A82322A, 0x3A824CE8, 0x3A826787, 0x3A82820A, 0x3A829C70, 0x3A82B6B8, 0x3A82D0E4, 0x3A82EAF3, 0x3A8304E6, 0x3A831EBF, 0x3A83387C, 0x3A835216, 0x3A836B9F, 0x3A838505, 0x3A839E52, 0x3A83B785, 0x3A83D0A7, 0x3A83E9A6, 0x3A84028C, 0x3A841B58, 0x3A84340A, 0x3A844CA3, 0x3A846521, 0x3A847D86, 0x3A8495D1, 0x3A84AE0B, 0x3A84C62B, 0x3A84DE29, 0x3A84F616, 0x3A850DF1, 0x3A8525AA, 0x3A853D52, 0x3A8554E0, 0x3A856C5D, 0x3A8583B8, 0x3A859B0A, 0x3A85B23A, 0x3A85C958, 0x3A85E05D, 0x3A85F750, 0x3A860E2A, 0x3A8624F3, 0x3A863BA1, 0x3A86523F, 0x3A8668C3, 0x3A867F36, 0x3A86958E, 0x3A86ABD6, 0x3A86C204, 0x3A86D821, 0x3A86EE2C, 0x3A870427, 0x3A871A08, 0x3A872FCE, 0x3A87458D, 0x3A875B31, 0x3A8770C5, 0x3A878647, 0x3A879BAF, 0x3A87B106, 0x3A87C64C, 0x3A87DB81, 0x3A87F0A5, 0x3A8805AF, 0x3A881AA7, 0x3A882F97, 0x3A88446E, 0x3A885933, 0x3A886DDE, 0x3A888281, 0x3A889713, 0x3A88AB93, 0x3A88BFFA, 0x3A88D458, 0x3A88E8A5, 0x3A88FCD8, 0x3A891103, 0x3A89251C, 0x3A89391C, 0x3A894D13, 0x3A8960F8, 0x3A8974CD, 0x3A898891, 0x3A899C43, 0x3A89AFED, 0x3A89C37D, 0x3A89D704, 0x3A89EA71, 0x3A89FDD6, 0x3A8A112A, 0x3A8A2475, 0x3A8A37A7, 0x3A8A4AD0, 0x3A8A5DE7, 0x3A8A70EE, 0x3A8A83E3, 0x3A8A96D0, 0x3A8AA9AB, 0x3A8ABC76, 0x3A8ACF38, 0x3A8AE1E8, 0x3A8AF488, 0x3A8B0716, 0x3A8B199B, 0x3A8B2C10, 0x3A8B3E73, 0x3A8B50CE, 0x3A8B6317, 0x3A8B7558, 0x3A8B8788, 0x3A8B99A7, 0x3A8BABBD, 0x3A8BBDC1, 0x3A8BCFBE, 0x3A8BE1A9, 0x3A8BF383, 0x3A8C0554, 0x3A8C171C, 0x3A8C28D4, 0x3A8C3A7A, 0x3A8C4C18, 0x3A8C5DA4, 0x3A8C6F28, 0x3A8C809B, 0x3A8C9205, 0x3A8CA367, 0x3A8CB4B7, 0x3A8CC5F7, 0x3A8CD72D, 0x3A8CE85B, 0x3A8CF978, 0x3A8D0A8C, 0x3A8D1B90, 0x3A8D2C8A, 0x3A8D3D7C, 0x3A8D4E5D, 0x3A8D5F35, 0x3A8D6FFC, 0x3A8D80BA, 0x3A8D9170, 0x3A8DA215, 0x3A8DB2B9, 0x3A8DC344, 0x3A8DD3CF, 0x3A8DE449, 0x3A8DF4B1, 0x3A8E0519, 0x3A8E1571, 0x3A8E25BF, 0x3A8E35FD, 0x3A8E4632, 0x3A8E565E, 0x3A8E6682, 0x3A8E769D, 0x3A8E86A7, 0x3A8E96A9, 0x3A8EA6A1, 0x3A8EB689, 0x3A8EC668, 0x3A8ED63F, 0x3A8EE60C, 0x3A8EF5D2, 0x3A8F0586, 0x3A8F1531, 0x3A8F24D4, 0x3A8F346E, 0x3A8F4400, 0x3A8F5381, 0x3A8F6301, 0x3A8F7271, 0x3A8F81D7, 0x3A8F9136, 0x3A8FA083, 0x3A8FAFD0, 0x3A8FBF14, 0x3A8FCE47, 0x3A8FDD72, 0x3A8FEC94, 0x3A8FFBAE, 0x3A900ABE, 0x3A9019C7, 0x3A9028BE, 0x3A9037B5, 0x3A9046A3, 0x3A905581, 0x3A906456, 0x3A90732A, 0x3A9081EE, 0x3A9090A9, 0x3A909F5B, 0x3A90AE05, 0x3A90BCA6, 0x3A90CB3F, 0x3A90D9CF, 0x3A90E856, 0x3A90F6D5, 0x3A91054B, 0x3A9113B9, 0x3A91221E, 0x3A91307B, 0x3A913ECF, 0x3A914D11, 0x3A915B54, 0x3A91698E, 0x3A9177C0, 0x3A9185E9, 0x3A919409, 0x3A91A221, 0x3A91B030, 0x3A91BE37, 0x3A91CC35, 0x3A91DA33, 0x3A91E81F, 0x3A91F604, 0x3A9203E8, 0x3A9211BB, 0x3A921F8E, 0x3A922D50, 0x3A923B12, 0x3A9248CB, 0x3A925673, 0x3A92641B, 0x3A9271BB, 0x3A927F52, 0x3A928CE9, 0x3A929A6E, 0x3A92A7F4, 0x3A92B569, 0x3A92C2DD, 0x3A92D049, 0x3A92DDAD, 0x3A92EB07, 0x3A92F85A, 0x3A9305A3, 0x3A9312ED, 0x3A932025, 0x3A932D5E, 0x3A933A8D, 0x3A9347B5, 0x3A9354DC, 0x3A9361F2, 0x3A936F08, 0x3A937C0D, 0x3A938912, 0x3A93960E, 0x3A93A30B, 0x3A93AFF6, 0x3A93BCE1, 0x3A93C9C3, 0x3A93D69D, 0x3A93E36F, 0x3A93F040, 0x3A93FD00, 0x3A9409C0, 0x3A941678, 0x3A94232F, 0x3A942FD6, 0x3A943C7C, 0x3A94491A, 0x3A9455AF, 0x3A946245, 0x3A946EC9, 0x3A947B4D, 0x3A9487D1, 0x3A949444, 0x3A94A0B6, 0x3A94AD21, 0x3A94B982, 0x3A94C5DB, 0x3A94D235, 0x3A94DE85, 0x3A94EACD, 0x3A94F70C, 0x3A95034C, 0x3A950F82, 0x3A951BB9, 0x3A9527DF, 0x3A953404, 0x3A954021, 0x3A954C3E, 0x3A95584A, 0x3A956456, 0x3A957062, 0xBF800000, 0x00000000, 0x391AC8FE, 0x397556DD, 0x399ACBEF, 0x39B3B7B1, 0x39C8148F, 0x39D94C26, 0x39E83648, 0x39F55E35, 0x3A00917F, 0x3A05E437, 0x3A0AC050, 0x3A0F38C9, 0x3A135C6E, 0x3A1736F1, 0x3A1AD1C7, 0x3A1E34AA, 0x3A2165FD, 0x3A246B1F, 0x3A27489A, 0x3A2A024B, 0x3A2C9B88, 0x3A2F1731, 0x3A3177CF, 0x3A33BF93, 0x3A35F073, 0x3A380C29, 0x3A3A143F, 0x3A3C0A15, 0x3A3DEEE9, 0x3A3FC3D7, 0x3A4189E1, 0x3A4341F3, 0x3A44ECE4, 0x3A468B73, 0x3A481E56, 0x3A49A62F, 0x3A4B2396, 0x3A4C9714, 0x3A4E012C, 0x3A4F6253, 0x3A50BAF8, 0x3A520B80, 0x3A53544D, 0x3A5495B6, 0x3A55D010, 0x3A5703A6, 0x3A5830C4, 0x3A5957AC, 0x3A5A789F, 0x3A5B93D9, 0x3A5CA994, 0x3A5DBA05, 0x3A5EC55E, 0x3A5FCBCF, 0x3A60CD87, 0x3A61CAAF, 0x3A62C371, 0x3A63B7F1, 0x3A64A856, 0x3A6594C1, 0x3A667D56, 0x3A676230, 0x3A684371, 0x3A692134, 0x3A69FB95, 0x3A6AD2AC, 0x3A6BA695, 0x3A6C7765, 0x3A6D4535, 0x3A6E1019, 0x3A6ED826, 0x3A6F9D73, 0x3A70600F, 0x3A71200E, 0x3A71DD84, 0x3A72987F, 0x3A735111, 0x3A740749, 0x3A74BB36, 0x3A756CE7, 0x3A761C69, 0x3A76C9CB, 0x3A77751A, 0x3A781E63, 0x3A78C5B0, 0x3A796B0F, 0x3A7A0E8B, 0x3A7AB02C, 0x3A7B5000, 0x3A7BEE10, 0x3A7C8A64, 0x3A7D2509, 0x3A7DBE06, 0x3A7E5565, 0x3A7EEB2F, 0x3A7F7F6B, 0x3A800911, 0x3A8051AE, 0x3A809990, 0x3A80E0BB, 0x3A812733, 0x3A816CFA, 0x3A81B215, 0x3A81F687, 0x3A823A53, 0x3A827D7C, 0x3A82C005, 0x3A8301F1, 0x3A834341, 0x3A8383FB, 0x3A83C423, 0x3A8403B9, 0x3A8442BD, 0x3A848137, 0x3A84BF20, 0x3A84FC87, 0x3A853965, 0x3A8575C3, 0x3A85B19F, 0x3A85ECFB, 0x3A8627D5, 0x3A866238, 0x3A869C22, 0x3A86D59D, 0x3A870E96, 0x3A874720, 0x3A877F3B, 0x3A87B6E5, 0x3A87EE21, 0x3A8824F4, 0x3A885B59, 0x3A889156, 0x3A88C6E3, 0x3A88FC13, 0x3A8930DB, 0x3A896544, 0x3A899946, 0x3A89CCF3, 0x3A8A0038, 0x3A8A331F, 0x3A8A65A8, 0x3A8A97DA, 0x3A8AC9B7, 0x3A8AFB35, 0x3A8B2C5D, 0x3A8B5D30, 0x3A8B8DB5, 0x3A8BBDDB, 0x3A8BEDB4, 0x3A8C1D40, 0x3A8C4C76, 0x3A8C7B5F, 0x3A8CA9F2, 0x3A8CD840, 0x3A8D0641, 0x3A8D33F4, 0x3A8D6163, 0x3A8D8E85, 0x3A8DBB59, 0x3A8DE7E8, 0x3A8E1433, 0x3A8E4039, 0x3A8E6BFA, 0x3A8E9777, 0x3A8EC2AF, 0x3A8EEDAA, 0x3A8F1859, 0x3A8F42CB, 0x3A8F6D01, 0x3A8F96F3, 0x3A8FC0A8, 0x3A8FEA21, 0x3A90135E, 0x3A903C5F, 0x3A90651B, 0x3A908DA4, 0x3A90B5F0, 0x3A90DE09, 0x3A9105DD, 0x3A912D7E, 0x3A9154EB, 0x3A917C1C, 0x3A91A31A, 0x3A91C9DB, 0x3A91F069, 0x3A9216CC, 0x3A923CF3, 0x3A9262DD, 0x3A92889D, 0x3A92AE32, 0x3A92D38A, 0x3A92F8AF, 0x3A931DAA, 0x3A934270, 0x3A93670C, 0x3A938B6B, 0x3A93AFA8, 0x3A93D3B2, 0x3A93F791, 0x3A941B3C, 0x3A943EBC, 0x3A946211, 0x3A948533, 0x3A94A832, 0x3A94CAFE, 0x3A94EDA7, 0x3A95101D, 0x3A953268, 0x3A955490, 0x3A95768E, 0x3A959861, 0x3A95BA08, 0x3A95DB8E, 0x3A95FCE8, 0x3A961E18, 0x3A963F25, 0x3A966007, 0x3A9680BE, 0x3A96A15B, 0x3A96C1CE, 0x3A96E215, 0x3A97023B, 0x3A97223D, 0x3A97421E, 0x3A9761D3, 0x3A978166, 0x3A97A0E0, 0x3A97C02E, 0x3A97DF52, 0x3A97FE5B, 0x3A981D43, 0x3A983C08, 0x3A985AAA, 0x3A98792B, 0x3A989791, 0x3A98B5CD, 0x3A98D3EE, 0x3A98F1EE, 0x3A990FCB, 0x3A992D85, 0x3A994B26, 0x3A9968A5, 0x3A99860A, 0x3A99A34C, 0x3A99C06C, 0x3A99DD72, 0x3A99FA5F, 0x3A9A1729, 0x3A9A33D1, 0x3A9A505F, 0x3A9A6CD3, 0x3A9A8925, 0x3A9AA55D, 0x3A9AC17C, 0x3A9ADD78, 0x3A9AF962, 0x3A9B152B, 0x3A9B30D1, 0x3A9B4C66, 0x3A9B67D9, 0x3A9B833A, 0x3A9B9E79, 0x3A9BB99E, 0x3A9BD4AA, 0x3A9BEF9B, 0x3A9C0A73, 0x3A9C2532, 0x3A9C3FD6, 0x3A9C5A61, 0x3A9C74D1, 0x3A9C8F31, 0x3A9CA96E, 0x3A9CC39B, 0x3A9CDDA4, 0x3A9CF79D, 0x3A9D117C, 0x3A9D2B41, 0x3A9D44F5, 0x3A9D5E8F, 0x3A9D780F, 0x3A9D9176, 0x3A9DAACB, 0x3A9DC407, 0x3A9DDD29, 0x3A9DF639, 0x3A9E0F30, 0x3A9E2816, 0x3A9E40E2, 0x3A9E5994, 0x3A9E7235, 0x3A9E8AC5, 0x3A9EA33B, 0x3A9EBB97, 0x3A9ED3E3, 0x3A9EEC1C, 0x3A9F043D, 0x3A9F1C43, 0x3A9F3441, 0x3A9F4C1C, 0x3A9F63EF, 0x3A9F7BA8, 0x3A9F9350, 0x3A9FAADE, 0x3A9FC264, 0x3A9FD9C7, 0x3A9FF122, 0x3AA00862, 0x3AA01F9B, 0x3AA036B1, 0x3AA04DBE, 0x3AA064BA, 0x3AA07B9C, 0x3AA0926D, 0x3AA0A92D, 0x3AA0BFDC, 0x3AA0D671, 0x3AA0ECFE, 0x3AA10370, 0x3AA119D2, 0x3AA1302B, 0x3AA1466A, 0x3AA15C98, 0x3AA172B5, 0x3AA188C0, 0x3AA19EBB, 0x3AA1B4A4, 0x3AA1CA7C, 0x3AA1E043, 0x3AA1F5F8, 0x3AA20B9D, 0x3AA22139, 0x3AA236BB, 0x3AA24C2C, 0x3AA26194, 0x3AA276E3, 0x3AA28C29, 0x3AA2A155, 0x3AA2B679, 0x3AA2CB8B, 0x3AA2E08D, 0x3AA2F585, 0x3AA30A64, 0x3AA31F3B, 0x3AA33400, 0x3AA348B4, 0x3AA35D57, 0x3AA371F1, 0x3AA3867A, 0x3AA39AF2, 0x3AA3AF58, 0x3AA3C3B6, 0x3AA3D803, 0x3AA3EC3F, 0x3AA4006A, 0x3AA4148C, 0x3AA4289C, 0x3AA43C9C, 0x3AA45093, 0x3AA46479, 0x3AA47856, 0x3AA48C1A, 0x3AA49FDD, 0x3AA4B387, 0x3AA4C728, 0x3AA4DAB8, 0x3AA4EE3F, 0x3AA501B5, 0x3AA51523, 0x3AA5287F, 0x3AA53BD3, 0x3AA54F0D, 0x3AA56247, 0x3AA57570, 0x3AA58888, 0x3AA59B97, 0x3AA5AE95, 0x3AA5C18A, 0x3AA5D46E, 0x3AA5E74A, 0x3AA5FA1D, 0x3AA60CD6, 0x3AA61F8F, 0x3AA63237, 0x3AA644CE, 0x3AA6575C, 0x3AA669E2, 0x3AA67C56, 0x3AA68EC2, 0x3AA6A125, 0x3AA6B377, 0x3AA6C5B8, 0x3AA6D7F1, 0x3AA6EA20, 0x3AA6FC47, 0x3AA70E5D, 0x3AA7206B, 0x3AA73267, 0x3AA7445B, 0x3AA75646, 0x3AA76820, 0x3AA779F1, 0x3AA78BB9, 0x3AA79D71, 0x3AA7AF28, 0x3AA7C0C6, 0x3AA7D264, 0x3AA7E3F0, 0x3AA7F574, 0x3AA806F0, 0x3AA8185A, 0x3AA829BB, 0x3AA83B14, 0x3AA84C65, 0x3AA85DA4, 0x3AA86EDB, 0x3AA88009, 0x3AA8912E, 0x3AA8A24B, 0x3AA8B357, 0x3AA8C45A, 0x3AA8D554, 0x3AA8E63E, 0x3AA8F727, 0x3AA907FF, 0x3AA918CF, 0x3AA92996, 0x3AA93A54, 0x3AA94B0A, 0x3AA95BAE, 0x3AA96C4B, 0x3AA97CDE, 0x3AA98D69, 0x3AA99DEB, 0x3AA9AE65, 0x3AA9BED6, 0x3AA9CF36, 0x3AA9DF96, 0x3AA9EFE4, 0x3AAA002A, 0x3AAA1068, 0x3AAA209D, 0x3AAA30C9, 0x3AAA40ED, 0x3AAA50FF, 0x3AAA6112, 0x3AAA7113, 0x3AAA8115, 0x3AAA9105, 0x3AAAA0F5, 0x3AAAB0D4, 0x3AAAC0AB, 0x3AAAD079, 0x3AAAE047, 0x3AAAF003, 0x3AAAFFB7, 0x3AAB0F63, 0x3AAB1F06, 0x3AAB2EA0, 0x3AAB3E32, 0x3AAB4DBB, 0x3AAB5D3B, 0x3AAB6CB3, 0x3AAB7C23, 0x3AAB8B8A, 0x3AAB9AE8, 0x3AABAA3D, 0x3AABB993, 0x3AABC8D7, 0x3AABD813, 0x3AABE746, 0x3AABF671, 0x3AAC059C, 0x3AAC14B5, 0x3AAC23C6, 0x3AAC32D7, 0x3AAC41D7, 0x3AAC50D6, 0x3AAC5FC5, 0x3AAC6EB3, 0x3AAC7D99, 0x3AAC8C77, 0x3AAC9B4B, 0x3AACAA18, 0x3AACB8DB, 0x3AACC796, 0x3AACD649, 0x3AACE4F2, 0x3AACF39C, 0x3AAD023D, 0x3AAD10CD, 0x3AAD1F5D, 0x3AAD2DE5, 0x3AAD3C64, 0x3AAD4ADA, 0x3AAD5950, 0x3AAD67B5, 0x3AAD761A, 0x3AAD846E, 0x3AAD92C2, 0x3AADA10E, 0x3AADAF59, 0x3AADBD93, 0x3AADCBC4, 0x3AADD9F6, 0x3AADE81F, 0x3AADF63F, 0x3AAE0457, 0x3AAE1266, 0x3AAE2075, 0x3AAE2E7C, 0xBF800000, 0x00000000, 0x39396DD5, 0x3992F4E5, 0x39B97208, 0x39D74D35, 0x39EFB277, 0x3A02297E, 0x3A0B18AB, 0x3A12FA2B, 0x3A1A06EF, 0x3A206796, 0x3A263A1D, 0x3A2B954B, 0x3A308AD7, 0x3A3528C6, 0x3A397A6C, 0x3A3D890A, 0x3A415C47, 0x3A44FA95, 0x3A48695D, 0x3A4BAD47, 0x3A4ECA4E, 0x3A51C3E9, 0x3A549D18, 0x3A575886, 0x3A59F886, 0x3A5C7F2A, 0x3A5EEE4A, 0x3A61478D, 0x3A638C6F, 0x3A65BE47, 0x3A67DE46, 0x3A69ED8B, 0x3A6BED12, 0x3A6DDDC7, 0x3A6FC07E, 0x3A7195FB, 0x3A735EF3, 0x3A751C0E, 0x3A76CDE5, 0x3A787506, 0x3A7A11F5, 0x3A7BA52D, 0x3A7D2F20, 0x3A7EB039, 0x3A80146E, 0x3A80CCB3, 0x3A818117, 0x3A8231C3, 0x3A82DEDE, 0x3A83888B, 0x3A842EF1, 0x3A84D226, 0x3A85724E, 0x3A860F8A, 0x3A86A9ED, 0x3A874197, 0x3A87D69B, 0x3A886912, 0x3A88F916, 0x3A8986B8, 0x3A8A1212, 0x3A8A9B2D, 0x3A8B2221, 0x3A8BA6F9, 0x3A8C29CD, 0x3A8CAAA6, 0x3A8D299F, 0x3A8DA6B6, 0x3A8E21FD, 0x3A8E9B8F, 0x3A8F136A, 0x3A8F8998, 0x3A8FFE32, 0x3A907138, 0x3A90E2B3, 0x3A9152BD, 0x3A91C14D, 0x3A922E7C, 0x3A929A43, 0x3A9304BB, 0x3A936DDB, 0x3A93D5BE, 0x3A943C5A, 0x3A94A1C9, 0x3A950603, 0x3A956911, 0x3A95CB03, 0x3A962BDA, 0x3A968B9D, 0x3A96EA4E, 0x3A9747F4, 0x3A97A499, 0x3A980045, 0x3A985AEF, 0x3A98B4B1, 0x3A990D7A, 0x3A996564, 0x3A99BC65, 0x3A9A1288, 0x3A9A67CB, 0x3A9ABC37, 0x3A9B0FD5, 0x3A9B62A5, 0x3A9BB4A7, 0x3A9C05E3, 0x3A9C565A, 0x3A9CA613, 0x3A9CF510, 0x3A9D4350, 0x3A9D90E4, 0x3A9DDDBB, 0x3A9E29EF, 0x3A9E756E, 0x3A9EC04A, 0x3A9F0A7A, 0x3A9F5410, 0x3A9F9CFA, 0x3A9FE552, 0x3AA02D07, 0x3AA07429, 0x3AA0BAB1, 0x3AA100A7, 0x3AA1460B, 0x3AA18AE6, 0x3AA1CF2E, 0x3AA212ED, 0x3AA25623, 0x3AA298D8, 0x3AA2DB03, 0x3AA31CAE, 0x3AA35DE0, 0x3AA39E91, 0x3AA3DEC2, 0x3AA41E7A, 0x3AA45DBA, 0x3AA49C82, 0x3AA4DADA, 0x3AA518BA, 0x3AA5562A, 0x3AA5932B, 0x3AA5CFBB, 0x3AA60BE5, 0x3AA6479F, 0x3AA682EA, 0x3AA6BDD6, 0x3AA6F852, 0x3AA73270, 0x3AA76C26, 0x3AA7A57F, 0x3AA7DE70, 0x3AA81702, 0x3AA84F36, 0x3AA8870C, 0x3AA8BE83, 0x3AA8F5A4, 0x3AA92C67, 0x3AA962D4, 0x3AA998E3, 0x3AA9CEA4, 0x3AAA0406, 0x3AAA391B, 0x3AAA6DDB, 0x3AAAA244, 0x3AAAD660, 0x3AAB0A27, 0x3AAB3DA0, 0x3AAB70CB, 0x3AABA3AA, 0x3AABD63B, 0x3AAC087E, 0x3AAC3A7D, 0x3AAC6C2F, 0x3AAC9D94, 0x3AACCEB3, 0x3AACFF86, 0x3AAD301C, 0x3AAD6065, 0x3AAD9069, 0x3AADC028, 0x3AADEFA3, 0x3AAE1ED9, 0x3AAE4DD3, 0x3AAE7C88, 0x3AAEAB01, 0x3AAED936, 0x3AAF0725, 0x3AAF34E1, 0x3AAF6259, 0x3AAF8F94, 0x3AAFBC93, 0x3AAFE956, 0x3AB015DD, 0x3AB04228, 0x3AB06E36, 0x3AB09A11, 0x3AB0C5B0, 0x3AB0F113, 0x3AB11C42, 0x3AB14735, 0x3AB171F5, 0x3AB19C81, 0x3AB1C6D9, 0x3AB1F0F6, 0x3AB21ADF, 0x3AB24494, 0x3AB26E16, 0x3AB29764, 0x3AB2C07F, 0x3AB2E96E, 0x3AB31222, 0x3AB33AAA, 0x3AB36300, 0x3AB38B2A, 0x3AB3B320, 0x3AB3DAE3, 0x3AB4027C, 0x3AB429E0, 0x3AB45122, 0x3AB47828, 0x3AB49F0C, 0x3AB4C5BC, 0x3AB4EC42, 0x3AB5129C, 0x3AB538CB, 0x3AB55ED0, 0x3AB584A9, 0x3AB5AA58, 0x3AB5CFDB, 0x3AB5F534, 0x3AB61A61, 0x3AB63F6D, 0x3AB66444, 0x3AB688FA, 0x3AB6AD8D, 0x3AB6D1EC, 0x3AB6F632, 0x3AB71A44, 0x3AB73E34, 0x3AB76201, 0x3AB785A4, 0x3AB7A924, 0x3AB7CC79, 0x3AB7EFB5, 0x3AB812BD, 0x3AB835AB, 0x3AB8586E, 0x3AB87B0F, 0x3AB89D96, 0x3AB8BFE9, 0x3AB8E223, 0x3AB9043A, 0x3AB9262F, 0x3AB947FA, 0x3AB969AA, 0x3AB98B38, 0x3AB9ACA3, 0x3AB9CDED, 0x3AB9EF13, 0x3ABA1020, 0x3ABA310B, 0x3ABA51CB, 0x3ABA727A, 0x3ABA92FD, 0x3ABAB367, 0x3ABAD3AF, 0x3ABAF3DC, 0x3ABB13E8, 0x3ABB33D1, 0x3ABB53A0, 0x3ABB7356, 0x3ABB92E9, 0x3ABBB259, 0x3ABBD1B0, 0x3ABBF0EE, 0x3ABC1009, 0x3ABC2F0A, 0x3ABC4DF1, 0x3ABC6CB6, 0x3ABC8B61, 0x3ABCA9F3, 0x3ABCC862, 0x3ABCE6C0, 0x3ABD04FB, 0x3ABD231D, 0x3ABD411C, 0x3ABD5F0A, 0x3ABD7CDF, 0x3ABD9A91, 0x3ABDB832, 0x3ABDD5B0, 0x3ABDF31E, 0x3ABE1069, 0x3ABE2D9A, 0x3ABE4ABA, 0x3ABE67B8, 0x3ABE84A4, 0x3ABEA177, 0x3ABEBE30, 0x3ABEDACF, 0x3ABEF755, 0x3ABF13C0, 0x3ABF301B, 0x3ABF4C53, 0x3ABF687A, 0x3ABF8490, 0x3ABFA083, 0x3ABFBC65, 0x3ABFD82E, 0x3ABFF3E5, 0x3AC00F7A, 0x3AC02B06, 0x3AC04670, 0x3AC061C9, 0x3AC07D08, 0x3AC09836, 0x3AC0B34A, 0x3AC0CE4D, 0x3AC0E936, 0x3AC1040E, 0x3AC11ECC, 0x3AC13971, 0x3AC1540D, 0x3AC16E86, 0x3AC188F7, 0x3AC1A34E, 0x3AC1BD8B, 0x3AC1D7B7, 0x3AC1F1D2, 0x3AC20BD4, 0x3AC225C4, 0x3AC23FA2, 0x3AC25968, 0x3AC2731B, 0x3AC28CBE, 0x3AC2A650, 0x3AC2BFC7, 0x3AC2D92E, 0x3AC2F27B, 0x3AC30BBF, 0x3AC324E9, 0x3AC33E03, 0x3AC3570B, 0x3AC37002, 0x3AC388E8, 0x3AC3A1B3, 0x3AC3BA77, 0x3AC3D320, 0x3AC3EBB9, 0x3AC40440, 0x3AC41CB6, 0x3AC4351B, 0x3AC44D66, 0x3AC465A9, 0x3AC47DDA, 0x3AC495F2, 0x3AC4AE01, 0x3AC4C5FE, 0x3AC4DDE2, 0x3AC4F5BE, 0x3AC50D88, 0x3AC52539, 0x3AC53CE1, 0x3AC55477, 0x3AC56BFD, 0x3AC58371, 0x3AC59AD4, 0x3AC5B226, 0x3AC5C970, 0x3AC5E09F, 0x3AC5F7C6, 0x3AC60ED4, 0x3AC625D8, 0x3AC63CCC, 0x3AC653B7, 0x3AC66A88, 0x3AC68151, 0x3AC697FF, 0x3AC6AEA6, 0x3AC6C543, 0x3AC6DBC7, 0x3AC6F242, 0x3AC708AC, 0x3AC71F05, 0x3AC7354D, 0x3AC74B8C, 0x3AC761BA, 0x3AC777D7, 0x3AC78DEB, 0x3AC7A3EE, 0x3AC7B9E0, 0x3AC7CFC9, 0x3AC7E5A1, 0x3AC7FB68, 0x3AC81126, 0x3AC826D3, 0x3AC83C6F, 0x3AC85203, 0x3AC86785, 0x3AC87CF6, 0x3AC8925E, 0x3AC8A7BE, 0x3AC8BD0C, 0x3AC8D24A, 0x3AC8E776, 0x3AC8FC9A, 0x3AC911B5, 0x3AC926BF, 0x3AC93BB7, 0x3AC950A8, 0x3AC9658F, 0x3AC97A65, 0x3AC98F2B, 0x3AC9A3E7, 0x3AC9B893, 0x3AC9CD35, 0x3AC9E1D0, 0x3AC9F659, 0x3ACA0AD1, 0x3ACA1F40, 0x3ACA33A7, 0x3ACA47FC, 0x3ACA5C49, 0x3ACA7085, 0x3ACA84B8, 0x3ACA98DA, 0x3ACAACF3, 0x3ACAC104, 0x3ACAD504, 0x3ACAE8FB, 0x3ACAFCE9, 0x3ACB10C6, 0x3ACB2492, 0x3ACB385E, 0x3ACB4C19, 0x3ACB5FC3, 0x3ACB736D, 0x3ACB8705, 0x3ACB9A8C, 0x3ACBAE14, 0x3ACBC18A, 0x3ACBD4F8, 0x3ACBE854, 0x3ACBFBA8, 0x3ACC0EF3, 0x3ACC222D, 0x3ACC3567, 0x3ACC4890, 0x3ACC5BA8, 0x3ACC6EBF, 0x3ACC81C6, 0x3ACC94C4, 0x3ACCA7B0, 0x3ACCBA9D, 0x3ACCCD79, 0x3ACCE04C, 0x3ACCF30D, 0x3ACD05CF, 0x3ACD1880, 0x3ACD2B28, 0x3ACD3DC7, 0x3ACD505E, 0x3ACD62E4, 0x3ACD7561, 0x3ACD87D5, 0x3ACD9A41, 0x3ACDACA4, 0x3ACDBEFF, 0x3ACDD148, 0x3ACDE389, 0x3ACDF5C2, 0x3ACE07F1, 0x3ACE1A19, 0x3ACE2C2F, 0x3ACE3E45, 0x3ACE5049, 0x3ACE6246, 0x3ACE7439, 0x3ACE8624, 0x3ACE9807, 0x3ACEA9E0, 0x3ACEBBB2, 0x3ACECD72, 0x3ACEDF32, 0x3ACEF0E1, 0x3ACF0287, 0x3ACF142D, 0x3ACF25C3, 0x3ACF374F, 0x3ACF48D3, 0x3ACF5A4E, 0x3ACF6BB9, 0x3ACF7D23, 0x3ACF8E84, 0x3ACF9FDD, 0x3ACFB125, 0x3ACFC26D, 0x3ACFD3A4, 0x3ACFE4DA, 0x3ACFF608, 0x3AD00725, 0x3AD01842, 0x3AD0294E, 0x3AD03A51, 0x3AD04B54, 0x3AD05C46, 0x3AD06D38, 0x3AD07E18, 0x3AD08EF9, 0x3AD09FC9, 0x3AD0B098, 0xBF800000, 0x00000000, 0x3967339A, 0x39B73C13, 0x39E73A1D, 0x3A063A58, 0x3A15701D, 0x3A224C6B, 0x3A2D707C, 0x3A374447, 0x3A400ED0, 0x3A4802BE, 0x3A4F4571, 0x3A55F356, 0x3A5C227B, 0x3A61E465, 0x3A67472C, 0x3A6C565C, 0x3A711B86, 0x3A759EAA, 0x3A79E68F, 0x3A7DF8FD, 0x3A80ED77, 0x3A82C859, 0x3A848F02, 0x3A864326, 0x3A87E624, 0x3A89795D, 0x3A8AFDE4, 0x3A8C74D4, 0x3A8DDF04, 0x3A8F3D5B, 0x3A90908F, 0x3A91D953, 0x3A93184B, 0x3A944E09, 0x3A957B05, 0x3A969FC8, 0x3A97BCB9, 0x3A98D241, 0x3A99E0C5, 0x3A9AE89C, 0x3A9BEA1B, 0x3A9CE587, 0x3A9DDB2E, 0x3A9ECB54, 0x3A9FB62D, 0x3AA09BFE, 0x3AA17CF0, 0x3AA2594B, 0x3AA3312E, 0x3AA404C6, 0x3AA4D446, 0x3AA59FD1, 0x3AA66791, 0x3AA72BA8, 0x3AA7EC32, 0x3AA8A957, 0x3AA96333, 0x3AAA19DE, 0x3AAACD7C, 0x3AAB7E1E, 0x3AAC2BE5, 0x3AACD6E3, 0x3AAD7F2A, 0x3AAE24DB, 0x3AAEC808, 0x3AAF68B9, 0x3AB00711, 0x3AB0A30F, 0x3AB13CD7, 0x3AB1D470, 0x3AB269E4, 0x3AB2FD54, 0x3AB38EB8, 0x3AB41E2A, 0x3AB4ABBB, 0x3AB5376B, 0x3AB5C154, 0x3AB6497E, 0x3AB6CFE9, 0x3AB754AF, 0x3AB7D7D1, 0x3AB8595E, 0x3AB8D958, 0x3AB957D9, 0x3AB9D4D6, 0x3ABA506B, 0x3ABACA8E, 0x3ABB4351, 0x3ABBBABD, 0x3ABC30D9, 0x3ABCA5A7, 0x3ABD192E, 0x3ABD8B80, 0x3ABDFC9D, 0x3ABE6C84, 0x3ABEDB48, 0x3ABF48E7, 0x3ABFB56B, 0x3AC020D3, 0x3AC08B31, 0x3AC0F47C, 0x3AC15CC6, 0x3AC1C405, 0x3AC22A4B, 0x3AC28FA1, 0x3AC2F3FD, 0x3AC35769, 0x3AC3B9ED, 0x3AC41B8A, 0x3AC47C46, 0x3AC4DC24, 0x3AC53B22, 0x3AC59952, 0x3AC5F6AB, 0x3AC65336, 0x3AC6AEF3, 0x3AC709EA, 0x3AC7641C, 0x3AC7BD91, 0x3AC81649, 0x3AC86E3B, 0x3AC8C581, 0x3AC91C0B, 0x3AC971E8, 0x3AC9C711, 0x3ACA1B98, 0x3ACA6F69, 0x3ACAC298, 0x3ACB1523, 0x3ACB670B, 0x3ACBB858, 0x3ACC0903, 0x3ACC5912, 0x3ACCA890, 0x3ACCF773, 0x3ACD45BB, 0x3ACD937A, 0x3ACDE0A7, 0x3ACE2D4A, 0x3ACE795B, 0x3ACEC4EC, 0x3ACF0FEA, 0x3ACF5A68, 0x3ACFA465, 0x3ACFEDE1, 0x3AD036D3, 0x3AD07F4E, 0x3AD0C747, 0x3AD10EC8, 0x3AD155D1, 0x3AD19C62, 0x3AD1E27A, 0x3AD2281A, 0x3AD26D4B, 0x3AD2B20B, 0x3AD2F65D, 0x3AD33A35, 0x3AD37DA7, 0x3AD3C0B2, 0x3AD4034D, 0x3AD44578, 0x3AD48745, 0x3AD4C8A2, 0x3AD509A1, 0x3AD54A39, 0x3AD58A69, 0x3AD5CA3B, 0x3AD609AF, 0x3AD648C4, 0x3AD68772, 0x3AD6C5CA, 0x3AD703C4, 0x3AD7415F, 0x3AD77EA4, 0x3AD7BB8B, 0x3AD7F81B, 0x3AD83456, 0x3AD8703B, 0x3AD8ABCB, 0x3AD8E704, 0x3AD921E7, 0x3AD95C7D, 0x3AD996BD, 0x3AD9D0B0, 0x3ADA0A4D, 0x3ADA43A5, 0x3ADA7CA8, 0x3ADAB55D, 0x3ADAEDC4, 0x3ADB25E7, 0x3ADB5DB4, 0x3ADB953D, 0x3ADBCC80, 0x3ADC0377, 0x3ADC3A28, 0x3ADC708C, 0x3ADCA6AC, 0x3ADCDC87, 0x3ADD121D, 0x3ADD476E, 0x3ADD7C7B, 0x3ADDB14C, 0x3ADDE5CF, 0x3ADE1A16, 0x3ADE4E21, 0x3ADE81E7, 0x3ADEB569, 0x3ADEE8AE, 0x3ADF1BB7, 0x3ADF4E85, 0x3ADF810D, 0x3ADFB359, 0x3ADFE572, 0x3AE01746, 0x3AE048E7, 0x3AE07A43, 0x3AE0AB6B, 0x3AE0DC57, 0x3AE10D0F, 0x3AE13D8C, 0x3AE16DCC, 0x3AE19DD9, 0x3AE1CDB2, 0x3AE1FD4F, 0x3AE22CB9, 0x3AE25BEF, 0x3AE28AE9, 0x3AE2B9AF, 0x3AE2E84B, 0x3AE316AA, 0x3AE344D6, 0x3AE372D7, 0x3AE3A09B, 0x3AE3CE35, 0x3AE3FB9B, 0x3AE428CE, 0x3AE455D5, 0x3AE482AA, 0x3AE4AF4A, 0x3AE4DBC0, 0x3AE50802, 0x3AE53419, 0x3AE56005, 0x3AE58BBE, 0x3AE5B74C, 0x3AE5E2A6, 0x3AE60DDE, 0x3AE638E2, 0x3AE663BC, 0x3AE68E6A, 0x3AE6B8ED, 0x3AE6E346, 0x3AE70D73, 0x3AE73776, 0x3AE7614E, 0x3AE78AFA, 0x3AE7B47C, 0x3AE7DDDB, 0x3AE80710, 0x3AE83019, 0x3AE858F8, 0x3AE881B4, 0x3AE8AA45, 0x3AE8D2B4, 0x3AE8FAF8, 0x3AE9231A, 0x3AE94B10, 0x3AE972E5, 0x3AE99A8E, 0x3AE9C215, 0x3AE9E971, 0x3AEA10B3, 0x3AEA37CA, 0x3AEA5EBF, 0x3AEA8589, 0x3AEAAC39, 0x3AEAD2BF, 0x3AEAF922, 0x3AEB1F62, 0x3AEB4580, 0x3AEB6B7C, 0x3AEB9155, 0x3AEBB70D, 0x3AEBDCA1, 0x3AEC0214, 0x3AEC2764, 0x3AEC4C91, 0x3AEC71A5, 0x3AEC968E, 0x3AECBB5D, 0x3AECE00A, 0x3AED049D, 0x3AED2905, 0x3AED4D53, 0x3AED7188, 0x3AED9592, 0x3AEDB981, 0x3AEDDD57, 0x3AEE010B, 0x3AEE249C, 0x3AEE4814, 0x3AEE6B69, 0x3AEE8EA5, 0x3AEEB1C6, 0x3AEED4C6, 0x3AEEF7A3, 0x3AEF1A6E, 0x3AEF3D18, 0x3AEF5F9F, 0x3AEF820C, 0x3AEFA460, 0x3AEFC699, 0x3AEFE8B1, 0x3AF00AB7, 0x3AF02C9B, 0x3AF04E5C, 0x3AF0700C, 0x3AF0919A, 0x3AF0B317, 0x3AF0D472, 0x3AF0F5B2, 0x3AF116D9, 0x3AF137E6, 0x3AF158D9, 0x3AF179B3, 0x3AF19A73, 0x3AF1BB19, 0x3AF1DBA5, 0x3AF1FC17, 0x3AF21C70, 0x3AF23CB8, 0x3AF25CDD, 0x3AF27CE8, 0x3AF29CE2, 0x3AF2BCC3, 0x3AF2DC8A, 0x3AF2FC36, 0x3AF31BCA, 0x3AF33B4C, 0x3AF35AB4, 0x3AF37A02, 0x3AF39937, 0x3AF3B85A, 0x3AF3D764, 0x3AF3F654, 0x3AF41533, 0x3AF433F8, 0x3AF452A3, 0x3AF4713D, 0x3AF48FBD, 0x3AF4AE2C, 0x3AF4CC81, 0x3AF4EABD, 0x3AF508E7, 0x3AF52700, 0x3AF544F7, 0x3AF562E5, 0x3AF580BA, 0x3AF59E75, 0x3AF5BC1E, 0x3AF5D9B6, 0x3AF5F735, 0x3AF6149A, 0x3AF631F6, 0x3AF64F30, 0x3AF66C61, 0x3AF68978, 0x3AF6A67F, 0x3AF6C36B, 0x3AF6E047, 0x3AF6FD11, 0x3AF719CA, 0x3AF73669, 0x3AF752F7, 0x3AF76F6B, 0x3AF78BD7, 0x3AF7A829, 0x3AF7C46A, 0x3AF7E091, 0x3AF7FCAF, 0x3AF818B4, 0x3AF834A7, 0x3AF85089, 0x3AF86C5A, 0x3AF8881A, 0x3AF8A3C0, 0x3AF8BF5E, 0x3AF8DAE1, 0x3AF8F654, 0x3AF911B5, 0x3AF92D06, 0x3AF94845, 0x3AF96373, 0x3AF97E8F, 0x3AF99992, 0x3AF9B48C, 0x3AF9CF76, 0x3AF9EA45, 0x3AFA050C, 0x3AFA1FC1, 0x3AFA3A5D, 0x3AFA54F0, 0x3AFA6F72, 0x3AFA89E3, 0x3AFAA443, 0x3AFABE91, 0x3AFAD8CF, 0x3AFAF2FB, 0x3AFB0D16, 0x3AFB2720, 0x3AFB4121, 0x3AFB5B08, 0x3AFB74E7, 0x3AFB8EB5, 0x3AFBA871, 0x3AFBC21D, 0x3AFBDBB7, 0x3AFBF548, 0x3AFC0EC0, 0x3AFC282F, 0x3AFC418D, 0x3AFC5ADA, 0x3AFC741E, 0x3AFC8D51, 0x3AFCA673, 0x3AFCBF84, 0x3AFCD883, 0x3AFCF17A, 0x3AFD0A60, 0x3AFD2334, 0x3AFD3C00, 0x3AFD54BB, 0x3AFD6D65, 0x3AFD85FD, 0x3AFD9E8D, 0x3AFDB70C, 0x3AFDCF79, 0x3AFDE7DE, 0x3AFE0032, 0x3AFE187D, 0x3AFE30B7, 0x3AFE48E0, 0x3AFE60F7, 0x3AFE7906, 0x3AFE910C, 0x3AFEA8F9, 0x3AFEC0E6, 0x3AFED8B9, 0x3AFEF083, 0x3AFF083C, 0x3AFF1FEC, 0x3AFF3794, 0x3AFF4F22, 0x3AFF66A8, 0x3AFF7E25, 0x3AFF9591, 0x3AFFACF4, 0x3AFFC446, 0x3AFFDB87, 0x3AFFF2BF, 0x3B0004F7, 0x3B001087, 0x3B001C11, 0x3B002794, 0x3B00330E, 0x3B003E83, 0x3B0049F4, 0x3B00555D, 0x3B0060C1, 0x3B006C21, 0x3B007774, 0x3B0082C7, 0x3B008E12, 0x3B009958, 0x3B00A496, 0x3B00AFCF, 0x3B00BB00, 0x3B00C62C, 0x3B00D154, 0x3B00DC74, 0x3B00E78F, 0x3B00F2A2, 0x3B00FDB0, 0x3B0108BA, 0x3B0113C0, 0x3B011EBD, 0x3B0129B2, 0x3B0134A7, 0x3B013F93, 0x3B014A7A, 0x3B015559, 0x3B016034, 0x3B016B0B, 0x3B0175D9, 0x3B0180A7, 0x3B018B68, 0x3B019629, 0x3B01A0E1, 0x3B01AB96, 0x3B01B645, 0x3B01C0F1, 0x3B01CB94, 0x3B01D633, 0x3B01E0CD, 0x3B01EB5F, 0x3B01F5ED, 0x3B020076, 0x3B020AFB, 0x3B021577, 0x3B021FF3, 0xBF800000, 0x00000000, 0x3B8E43B4, 0x3BE1C520, 0x3C0E92C4, 0x3C25A35D, 0x3C3881DC, 0x3C487A58, 0x3C565313, 0x3C628C3C, 0x3C6D7D51, 0x3C7764C6, 0x3C803864, 0x3C84623A, 0x3C883D81, 0x3C8BD50B, 0x3C8F3191, 0x3C925A3B, 0x3C9554F1, 0x3C9826A8, 0x3C9AD391, 0x3C9D5F41, 0x3C9FCCCF, 0x3CA21EE4, 0x3CA457D9, 0x3CA679B2, 0x3CA8864C, 0x3CAA7F30, 0x3CAC65DA, 0x3CAE3B87, 0x3CB00160, 0x3CB1B86F, 0x3CB361A7, 0x3CB4FDD9, 0x3CB68DD1, 0x3CB81245, 0x3CB98BD8, 0x3CBAFB23, 0x3CBC60AE, 0x3CBDBCFF, 0x3CBF1091, 0x3CC05BCB, 0x3CC19F17, 0x3CC2DAD1, 0x3CC40F54, 0x3CC53CF6, 0x3CC663FD, 0x3CC784B9, 0x3CC89F6C, 0x3CC9B454, 0x3CCAC3A8, 0x3CCBCDA9, 0x3CCCD286, 0x3CCDD271, 0x3CCECD9E, 0x3CCFC433, 0x3CD0B661, 0x3CD1A44D, 0x3CD28E1D, 0x3CD373F0, 0x3CD455EE, 0x3CD53435, 0x3CD60EE5, 0x3CD6E61B, 0x3CD7B9F0, 0x3CD88A86, 0x3CD957F0, 0x3CDA224B, 0x3CDAE9A6, 0x3CDBAE1C, 0x3CDC6FC8, 0x3CDD2EB5, 0x3CDDEAFD, 0x3CDEA4B1, 0x3CDF5BE0, 0x3CE0109C, 0x3CE0C2F9, 0x3CE17307, 0x3CE220D2, 0x3CE2CC68, 0x3CE375DC, 0x3CE41D36, 0x3CE4C282, 0x3CE565D6, 0x3CE60736, 0x3CE6A6AD, 0x3CE74452, 0x3CE7E01E, 0x3CE87A2D, 0x3CE9127E, 0x3CE9A91C, 0x3CEA3E12, 0x3CEAD16A, 0x3CEB6330, 0x3CEBF369, 0x3CEC821F, 0x3CED0F52, 0x3CED9B19, 0x3CEE256D, 0x3CEEAE5E, 0x3CEF35F3, 0x3CEFBC2B, 0x3CF0411B, 0x3CF0C4B9, 0x3CF1471A, 0x3CF1C83A, 0x3CF24821, 0x3CF2C6D7, 0x3CF34466, 0x3CF3C0C7, 0x3CF43C0D, 0x3CF4B635, 0x3CF52F47, 0x3CF5A747, 0x3CF61E3A, 0x3CF69426, 0x3CF7090B, 0x3CF77CF4, 0x3CF7EFE1, 0x3CF861D6, 0x3CF8D2DA, 0x3CF942ED, 0x3CF9B218, 0x3CFA205D, 0x3CFA8DBB, 0x3CFAFA3C, 0x3CFB65E2, 0x3CFBD0AB, 0x3CFC3AA4, 0x3CFCA3CA, 0x3CFD0C20, 0x3CFD73A9, 0x3CFDDA6C, 0x3CFE406D, 0x3CFEA5A8, 0x3CFF0A21, 0x3CFF6DE4, 0x3CFFD0E6, 0x3D00199B, 0x3D004A68, 0x3D007ADA, 0x3D00AAF6, 0x3D00DABC, 0x3D010A2C, 0x3D013948, 0x3D016812, 0x3D019688, 0x3D01C4AE, 0x3D01F286, 0x3D022010, 0x3D024D4A, 0x3D027A39, 0x3D02A6DC, 0x3D02D334, 0x3D02FF44, 0x3D032B0B, 0x3D035689, 0x3D0381C2, 0x3D03ACB3, 0x3D03D760, 0x3D0401CA, 0x3D042BF1, 0x3D0455D5, 0x3D047F76, 0x3D04A8D9, 0x3D04D1FA, 0x3D04FADC, 0x3D052380, 0x3D054BE7, 0x3D057410, 0x3D059BFC, 0x3D05C3AC, 0x3D05EB24, 0x3D061261, 0x3D063962, 0x3D06602C, 0x3D0686BD, 0x3D06AD18, 0x3D06D33B, 0x3D06F926, 0x3D071EDE, 0x3D074460, 0x3D0769AC, 0x3D078EC5, 0x3D07B3AB, 0x3D07D85E, 0x3D07FCDF, 0x3D08212C, 0x3D08454C, 0x3D086938, 0x3D088CF4, 0x3D08B080, 0x3D08D3DF, 0x3D08F70D, 0x3D091A0D, 0x3D093CE0, 0x3D095F85, 0x3D0981FC, 0x3D09A449, 0x3D09C66B, 0x3D09E85E, 0x3D0A0A27, 0x3D0A2BC8, 0x3D0A4D3B, 0x3D0A6E86, 0x3D0A8FA9, 0x3D0AB0A0, 0x3D0AD170, 0x3D0AF217, 0x3D0B1298, 0x3D0B32EF, 0x3D0B5320, 0x3D0B732B, 0x3D0B930E, 0x3D0BB2CE, 0x3D0BD266, 0x3D0BF1D9, 0x3D0C1128, 0x3D0C3052, 0x3D0C4F56, 0x3D0C6E38, 0x3D0C8CF6, 0x3D0CAB8F, 0x3D0CCA08, 0x3D0CE85B, 0x3D0D068E, 0x3D0D249E, 0x3D0D428E, 0x3D0D605B, 0x3D0D7E05, 0x3D0D9B92, 0x3D0DB8FB, 0x3D0DD645, 0x3D0DF370, 0x3D0E1079, 0x3D0E2D65, 0x3D0E4A30, 0x3D0E66DB, 0x3D0E8369, 0x3D0E9FD9, 0x3D0EBC2B, 0x3D0ED85D, 0x3D0EF472, 0x3D0F106C, 0x3D0F2C46, 0x3D0F4804, 0x3D0F63A6, 0x3D0F7F29, 0x3D0F9A92, 0x3D0FB5DE, 0x3D0FD10E, 0x3D0FEC24, 0x3D10071C, 0x3D1021F9, 0x3D103CBE, 0x3D105766, 0x3D1071F3, 0x3D108C68, 0x3D10A6C1, 0x3D10C100, 0x3D10DB27, 0x3D10F533, 0x3D110F24, 0x3D112900, 0x3D1142C0, 0x3D115C69, 0x3D1175F7, 0x3D118F6F, 0x3D11A8CD, 0x3D11C215, 0x3D11DB42, 0x3D11F459, 0x3D120D59, 0x3D122643, 0x3D123F15, 0x3D1257CE, 0x3D127070, 0x3D1288FF, 0x3D12A175, 0x3D12B9D4, 0x3D12D21D, 0x3D12EA50, 0x3D13026E, 0x3D131A77, 0x3D13326A, 0x3D134A47, 0x3D136210, 0x3D1379C2, 0x3D13915F, 0x3D13A8E7, 0x3D13C05C, 0x3D13D7BB, 0x3D13EF08, 0x3D14063F, 0x3D141D61, 0x3D143470, 0x3D144B6C, 0x3D146253, 0x3D147926, 0x3D148FE7, 0x3D14A693, 0x3D14BD2E, 0x3D14D3B4, 0x3D14EA28, 0x3D150088, 0x3D1516D6, 0x3D152D13, 0x3D15433B, 0x3D155953, 0x3D156F58, 0x3D15854B, 0x3D159B2A, 0x3D15B0FA, 0x3D15C6B6, 0x3D15DC60, 0x3D15F1FA, 0x3D160784, 0x3D161CFB, 0x3D163261, 0x3D1647B5, 0x3D165CF9, 0x3D16722D, 0x3D16874E, 0x3D169C5F, 0x3D16B160, 0x3D16C650, 0x3D16DB31, 0x3D16F001, 0x3D1704C2, 0x3D17196F, 0x3D172E0F, 0x3D17429F, 0x3D17571F, 0x3D176B8F, 0x3D177FF1, 0x3D179441, 0x3D17A883, 0x3D17BCB5, 0x3D17D0DA, 0x3D17E4EE, 0x3D17F8F3, 0x3D180CE7, 0x3D1820D1, 0x3D1834A7, 0x3D184871, 0x3D185C2D, 0x3D186FD9, 0x3D188377, 0x3D189708, 0x3D18AA89, 0x3D18BDFC, 0x3D18D163, 0x3D18E4B8, 0x3D18F801, 0x3D190B3C, 0x3D191E6A, 0x3D19318A, 0x3D19449D, 0x3D1957A2, 0x3D196A98, 0x3D197D82, 0x3D19905F, 0x3D19A32C, 0x3D19B5EF, 0x3D19C8A4, 0x3D19DB4B, 0x3D19EDE5, 0x3D1A0074, 0x3D1A12F4, 0x3D1A2568, 0x3D1A37CF, 0x3D1A4A2B, 0x3D1A5C7A, 0x3D1A6EBC, 0x3D1A80F0, 0x3D1A9319, 0x3D1AA535, 0x3D1AB746, 0x3D1AC94A, 0x3D1ADB43, 0x3D1AED2E, 0x3D1AFF0F, 0x3D1B10E3, 0x3D1B22AB, 0x3D1B3467, 0x3D1B461A, 0x3D1B57BD, 0x3D1B6958, 0x3D1B7AE5, 0x3D1B8C68, 0x3D1B9DDE, 0x3D1BAF4B, 0x3D1BC0AB, 0x3D1BD200, 0x3D1BE348, 0x3D1BF488, 0x3D1C05BA, 0x3D1C16E5, 0x3D1C2801, 0x3D1C3914, 0x3D1C4A1B, 0x3D1C5B18, 0x3D1C6C0C, 0x3D1C7CF3, 0x3D1C8DD0, 0x3D1C9EA2, 0x3D1CAF69, 0x3D1CC027, 0x3D1CD0D9, 0x3D1CE182, 0x3D1CF21E, 0x3D1D02B2, 0x3D1D133C, 0x3D1D23BD, 0x3D1D3431, 0x3D1D449C, 0x3D1D54FD, 0x3D1D6553, 0x3D1D75A2, 0x3D1D85E2, 0x3D1D961E, 0x3D1DA64C, 0x3D1DB672, 0x3D1DC68D, 0x3D1DD6A0, 0x3D1DE6A8, 0x3D1DF6A6, 0x3D1E069B, 0x3D1E1689, 0x3D1E266C, 0x3D1E3644, 0x3D1E4614, 0x3D1E55D9, 0x3D1E6596, 0x3D1E754C, 0x3D1E84F6, 0x3D1E9498, 0x3D1EA430, 0x3D1EB3C0, 0x3D1EC344, 0x3D1ED2C4, 0x3D1EE236, 0x3D1EF1A3, 0x3D1F0105, 0x3D1F105E, 0x3D1F1FB0, 0x3D1F2EF7, 0x3D1F3E39, 0x3D1F4D6D, 0x3D1F5C9C, 0x3D1F6BC3, 0x3D1F7ADF, 0x3D1F89F4, 0x3D1F9900, 0x3D1FA804, 0x3D1FB700, 0x3D1FC5F3, 0x3D1FD4DD, 0x3D1FE3C0, 0x3D1FF299, 0x3D20016A, 0x3D201033, 0x3D201EF7, 0x3D202DB0, 0x3D203C61, 0x3D204B09, 0x3D2059AA, 0x3D206845, 0x3D2076D6, 0x3D20855E, 0x3D2093E1, 0x3D20A25A, 0x3D20B0CD, 0x3D20BF35, 0x3D20CD98, 0x3D20DBF3, 0x3D20EA46, 0x3D20F891, 0x3D2106D3, 0x3D211511, 0x3D212346, 0x3D213173, 0x3D213F98, 0x3D214DB6, 0x3D215BCD, 0x3D2169DA, 0x3D2177E5, 0x3D2185E4, 0x3D2193DF, 0x3D21A1CE, 0x3D21AFBB, 0x3D21BD9D, 0x3D21CB7A, 0x3D21D94E, 0x3D21E71E, 0x3D21F4E5, 0x3D2202A4, 0x3D22105B, 0x3D221E0D, 0x3D222BB9, 0x3D22395E, 0x3D2246FA, 0x3D22548E, 0x3D226220, 0x3D226FA7, 0x3D227D28, 0x3D228AA2, 0x3D229816, 0x3D22A584, 0x3D22B2EB, 0x3D22C049, 0x3D22CDA3, 0xBF800000, 0x00000000, 0x3BB1ED50, 0x3C0D3A42, 0x3C3268FE, 0x3C4F4F08, 0x3C66F537, 0x3C7AFABD, 0x3C862BCE, 0x3C8DD617, 0x3C94B2EA, 0x3C9AE96B, 0x3CA09678, 0x3CA5D003, 0x3CAAA723, 0x3CAF295E, 0x3CB361A7, 0x3CB758E7, 0x3CBB1692, 0x3CBEA0D5, 0x3CC1FCF0, 0x3CC52F6A, 0x3CC83C14, 0x3CCB264F, 0x3CCDF104, 0x3CD09EC4, 0x3CD331D6, 0x3CD5AC34, 0x3CD80FAC, 0x3CDA5DDA, 0x3CDC982C, 0x3CDEBFF4, 0x3CE0D654, 0x3CE2DC63, 0x3CE4D319, 0x3CE6BB5B, 0x3CE895F6, 0x3CEA63A6, 0x3CEC2522, 0x3CEDDB0A, 0x3CEF85EF, 0x3CF1265E, 0x3CF2BCD6, 0x3CF449D4, 0x3CF5CDBD, 0x3CF74907, 0x3CF8BC09, 0x3CFA271E, 0x3CFB8AA0, 0x3CFCE6D6, 0x3CFE3C16, 0x3CFF8A9F, 0x3D00695C, 0x3D010A4F, 0x3D01A846, 0x3D02435C, 0x3D02DBAA, 0x3D03714F, 0x3D04045C, 0x3D0494ED, 0x3D052312, 0x3D05AEE4, 0x3D063874, 0x3D06BFD5, 0x3D074519, 0x3D07C84E, 0x3D084988, 0x3D08C8D4, 0x3D094642, 0x3D09C1DE, 0x3D0A3BB6, 0x3D0AB3D6, 0x3D0B2A4E, 0x3D0B9F23, 0x3D0C1268, 0x3D0C8422, 0x3D0CF45D, 0x3D0D6322, 0x3D0DD080, 0x3D0E3C79, 0x3D0EA71A, 0x3D0F106C, 0x3D0F7873, 0x3D0FDF3B, 0x3D1044C9, 0x3D10A928, 0x3D110C5D, 0x3D116E6D, 0x3D11CF60, 0x3D122F3F, 0x3D128E0D, 0x3D12EBD0, 0x3D13488F, 0x3D13A44F, 0x3D13FF16, 0x3D1458E8, 0x3D14B1CE, 0x3D1509C8, 0x3D1560DD, 0x3D15B711, 0x3D160C69, 0x3D1660EA, 0x3D16B498, 0x3D170773, 0x3D175986, 0x3D17AAD2, 0x3D17FB59, 0x3D184B20, 0x3D189A2B, 0x3D18E87C, 0x3D193617, 0x3D198301, 0x3D19CF3C, 0x3D1A1AC9, 0x3D1A65AF, 0x3D1AAFEF, 0x3D1AF989, 0x3D1B4284, 0x3D1B8AE3, 0x3D1BD2A4, 0x3D1C19CF, 0x3D1C6061, 0x3D1CA661, 0x3D1CEBD1, 0x3D1D30B0, 0x3D1D7506, 0x3D1DB8CE, 0x3D1DFC0F, 0x3D1E3ECA, 0x3D1E8102, 0x3D1EC2B9, 0x3D1F03EC, 0x3D1F44A4, 0x3D1F84E0, 0x3D1FC4A1, 0x3D2003EC, 0x3D2042BE, 0x3D20811A, 0x3D20BF05, 0x3D20FC7D, 0x3D213986, 0x3D21761F, 0x3D21B24D, 0x3D21EE11, 0x3D222968, 0x3D226459, 0x3D229EE1, 0x3D22D906, 0x3D2312C4, 0x3D234C23, 0x3D23851D, 0x3D23BDBA, 0x3D23F5F6, 0x3D242DD5, 0x3D246558, 0x3D249C7D, 0x3D24D34C, 0x3D2509C0, 0x3D253FDB, 0x3D2575A0, 0x3D25AB10, 0x3D25E02C, 0x3D2614F2, 0x3D264968, 0x3D267D8B, 0x3D26B160, 0x3D26E4E4, 0x3D271817, 0x3D274B00, 0x3D277D9B, 0x3D27AFE8, 0x3D27E1EC, 0x3D2813A5, 0x3D284516, 0x3D28763E, 0x3D28A721, 0x3D28D7BB, 0x3D29080F, 0x3D29381D, 0x3D2967E6, 0x3D29976E, 0x3D29C6B3, 0x3D29F5B2, 0x3D2A2474, 0x3D2A52F2, 0x3D2A8133, 0x3D2AAF33, 0x3D2ADCF6, 0x3D2B0A78, 0x3D2B37BF, 0x3D2B64C8, 0x3D2B9196, 0x3D2BBE2A, 0x3D2BEA7F, 0x3D2C169C, 0x3D2C4281, 0x3D2C6E2B, 0x3D2C999C, 0x3D2CC4D7, 0x3D2CEFDB, 0x3D2D1AA5, 0x3D2D453D, 0x3D2D6F9D, 0x3D2D99C7, 0x3D2DC3BD, 0x3D2DED81, 0x3D2E170F, 0x3D2E406A, 0x3D2E6992, 0x3D2E928A, 0x3D2EBB4F, 0x3D2EE3E3, 0x3D2F0C48, 0x3D2F3479, 0x3D2F5C7C, 0x3D2F844F, 0x3D2FABF5, 0x3D2FD36A, 0x3D2FFAB4, 0x3D3021CE, 0x3D3048BB, 0x3D306F7C, 0x3D309610, 0x3D30BC79, 0x3D30E2B4, 0x3D3108C4, 0x3D312EAC, 0x3D315466, 0x3D3179F8, 0x3D319F5F, 0x3D31C49E, 0x3D31E9B2, 0x3D320EA0, 0x3D323364, 0x3D325801, 0x3D327C74, 0x3D32A0C2, 0x3D32C4E9, 0x3D32E8E9, 0x3D330CC2, 0x3D333074, 0x3D335403, 0x3D33776C, 0x3D339AAF, 0x3D33BDCD, 0x3D33E0C5, 0x3D34039B, 0x3D34264D, 0x3D3448DD, 0x3D346B47, 0x3D348D8E, 0x3D34AFB2, 0x3D34D1B6, 0x3D34F398, 0x3D351556, 0x3D3536F1, 0x3D35586C, 0x3D3579C7, 0x3D359AFF, 0x3D35BC1A, 0x3D35DD11, 0x3D35FDE9, 0x3D361EA3, 0x3D363F3A, 0x3D365FB3, 0x3D36800C, 0x3D36A048, 0x3D36C064, 0x3D36E061, 0x3D370042, 0x3D372002, 0x3D373FA8, 0x3D375F2D, 0x3D377E94, 0x3D379DE1, 0x3D37BD0E, 0x3D37DC1F, 0x3D37FB16, 0x3D3819F0, 0x3D3838AC, 0x3D38574D, 0x3D3875D3, 0x3D38943B, 0x3D38B289, 0x3D38D0BC, 0x3D38EED4, 0x3D390CD1, 0x3D392AB4, 0x3D39487B, 0x3D39662B, 0x3D3983BF, 0x3D39A139, 0x3D39BE9B, 0x3D39DBE1, 0x3D39F90D, 0x3D3A1624, 0x3D3A331F, 0x3D3A5000, 0x3D3A6CCB, 0x3D3A897C, 0x3D3AA616, 0x3D3AC297, 0x3D3ADEFE, 0x3D3AFB51, 0x3D3B178B, 0x3D3B33AB, 0x3D3B4FB7, 0x3D3B6BA9, 0x3D3B8785, 0x3D3BA34C, 0x3D3BBEF8, 0x3D3BDA92, 0x3D3BF613, 0x3D3C117E, 0x3D3C2CD2, 0x3D3C4810, 0x3D3C633B, 0x3D3C7E4E, 0x3D3C9949, 0x3D3CB431, 0x3D3CCF03, 0x3D3CE9C0, 0x3D3D0468, 0x3D3D1EFD, 0x3D3D3979, 0x3D3D53E3, 0x3D3D6E38, 0x3D3D8879, 0x3D3DA2A3, 0x3D3DBCBC, 0x3D3DD6C0, 0x3D3DF0AE, 0x3D3E0A8A, 0x3D3E2453, 0x3D3E3E06, 0x3D3E57A7, 0x3D3E7135, 0x3D3E8AB0, 0x3D3EA415, 0x3D3EBD6B, 0x3D3ED6AA, 0x3D3EEFDA, 0x3D3F08F5, 0x3D3F21FC, 0x3D3F3AF4, 0x3D3F53D8, 0x3D3F6CA7, 0x3D3F8569, 0x3D3F9E15, 0x3D3FB6B2, 0x3D3FCF38, 0x3D3FE7B2, 0x3D400018, 0x3D40186C, 0x3D4030AF, 0x3D4048E0, 0x3D406101, 0x3D40790F, 0x3D40910D, 0x3D40A8FA, 0x3D40C0D5, 0x3D40D8A0, 0x3D40F05B, 0x3D410805, 0x3D411F9D, 0x3D413728, 0x3D414E9F, 0x3D416609, 0x3D417D61, 0x3D4194A8, 0x3D41ABDF, 0x3D41C309, 0x3D41DA20, 0x3D41F129, 0x3D420823, 0x3D421F09, 0x3D4235E5, 0x3D424CAE, 0x3D42636A, 0x3D427A16, 0x3D4290B1, 0x3D42A73F, 0x3D42BDBD, 0x3D42D42E, 0x3D42EA8E, 0x3D4300E1, 0x3D431724, 0x3D432D57, 0x3D43437C, 0x3D435994, 0x3D436F9E, 0x3D438599, 0x3D439B86, 0x3D43B163, 0x3D43C732, 0x3D43DCF4, 0x3D43F2A9, 0x3D440850, 0x3D441DE7, 0x3D443373, 0x3D4448F0, 0x3D445E5F, 0x3D4473C0, 0x3D448917, 0x3D449E5D, 0x3D44B396, 0x3D44C8C2, 0x3D44DDE0, 0x3D44F2F4, 0x3D4507F7, 0x3D451CF0, 0x3D4531D9, 0x3D4546B6, 0x3D455B8A, 0x3D45704D, 0x3D458505, 0x3D4599B0, 0x3D45AE4D, 0x3D45C2DD, 0x3D45D762, 0x3D45EBDD, 0x3D460047, 0x3D4614A7, 0x3D4628FC, 0x3D463D44, 0x3D465180, 0x3D4665B0, 0x3D4679D2, 0x3D468DE9, 0x3D46A1F6, 0x3D46B5F5, 0x3D46C9E9, 0x3D46DDD0, 0x3D46F1AC, 0x3D47057D, 0x3D471941, 0x3D472CFD, 0x3D4740A9, 0x3D47544D, 0x3D4767E3, 0x3D477B6F, 0x3D478EF0, 0x3D47A266, 0x3D47B5D2, 0x3D47C930, 0x3D47DC85, 0x3D47EFCE, 0x3D48030C, 0x3D48163F, 0x3D482967, 0x3D483C85, 0x3D484F98, 0x3D4862A0, 0x3D48759D, 0x3D488890, 0x3D489B78, 0x3D48AE55, 0x3D48C12A, 0x3D48D3F2, 0x3D48E6AE, 0x3D48F963, 0x3D490C0D, 0x3D491EAD, 0x3D493142, 0x3D4943CC, 0x3D49564D, 0x3D4968C5, 0x3D497B31, 0x3D498D93, 0x3D499FEC, 0x3D49B23B, 0x3D49C47F, 0x3D49D6B9, 0x3D49E8EA, 0x3D49FB13, 0x3D4A0D2F, 0x3D4A1F43, 0x3D4A314F, 0x3D4A4350, 0x3D4A5546, 0x3D4A6734, 0x3D4A7918, 0x3D4A8AF3, 0x3D4A9CC4, 0x3D4AAE8D, 0x3D4AC04B, 0x3D4AD201, 0x3D4AE3AE, 0x3D4AF54F, 0x3D4B06EA, 0x3D4B187A, 0x3D4B2A02, 0x3D4B3B80, 0x3D4B4CF5, 0x3D4B5E63, 0x3D4B6FC5, 0x3D4B8120, 0x3D4B9273, 0x3D4BA3BA, 0x3D4BB4FD, 0x3D4BC632, 0x3D4BD761, 0x3D4BE886, 0x3D4BF9A6, 0x3D4C0AB8, 0x3D4C1BC5, 0x3D4C2CCA, 0x3D4C3DC4, 0x3D4C4EB5, 0x3D4C5F9F, 0x3D4C7081, 0x3D4C815B, 0xBF800000, 0x00000000, 0x3BED734F, 0x3C3C92CE, 0x3C6E4F89, 0x3C8A7F15, 0x3C9A5526, 0x3CA7BED1, 0x3CB361A7, 0x3CBDA89D, 0x3CC6DCD4, 0x3CCF3283, 0x3CD6D046, 0x3CDDD36A, 0x3CE452D0, 0x3CEA608C, 0x3CF00B40, 0x3CF55ED7, 0x3CFA6547, 0x3CFF26D7, 0x3D01D548, 0x3D03FB3D, 0x3D0607DA, 0x3D07FD65, 0x3D09DDCD, 0x3D0BAAC9, 0x3D0D65E2, 0x3D0F106C, 0x3D10AB99, 0x3D123882, 0x3D13B816, 0x3D152B38, 0x3D1692AE, 0x3D17EF35, 0x3D19416D, 0x3D1A89F2, 0x3D1BC94C, 0x3D1D0001, 0x3D1E2E7F, 0x3D1F5538, 0x3D20748D, 0x3D218CDB, 0x3D229E7B, 0x3D23A9BB, 0x3D24AEE9, 0x3D25AE45, 0x3D26A813, 0x3D279C92, 0x3D288BF5, 0x3D297679, 0x3D2A5C4A, 0x3D2B3D9B, 0x3D2C1A98, 0x3D2CF36B, 0x3D2DC83A, 0x3D2E992D, 0x3D2F6665, 0x3D303004, 0x3D30F62A, 0x3D31B8F8, 0x3D327888, 0x3D3334F6, 0x3D33EE5A, 0x3D34A4D0, 0x3D35586C, 0x3D360949, 0x3D36B77A, 0x3D376311, 0x3D380C26, 0x3D38B2C7, 0x3D39570C, 0x3D39F900, 0x3D3A98B8, 0x3D3B363F, 0x3D3BD1AB, 0x3D3C6B03, 0x3D3D025A, 0x3D3D97BB, 0x3D3E2B34, 0x3D3EBCD2, 0x3D3F4C9F, 0x3D3FDAA6, 0x3D4066F6, 0x3D40F195, 0x3D417A91, 0x3D4201F3, 0x3D4287C2, 0x3D430C09, 0x3D438ED3, 0x3D441025, 0x3D449008, 0x3D450E88, 0x3D458BA8, 0x3D460771, 0x3D4681EA, 0x3D46FB1C, 0x3D47730C, 0x3D47E9C1, 0x3D485F42, 0x3D48D394, 0x3D4946BE, 0x3D49B8C6, 0x3D4A29B2, 0x3D4A9984, 0x3D4B0847, 0x3D4B75FD, 0x3D4BE2AD, 0x3D4C4E57, 0x3D4CB906, 0x3D4D22BB, 0x3D4D8B7C, 0x3D4DF34B, 0x3D4E5A30, 0x3D4EC02D, 0x3D4F2544, 0x3D4F8980, 0x3D4FECDD, 0x3D504F61, 0x3D50B113, 0x3D5111F3, 0x3D517206, 0x3D51D14E, 0x3D522FD0, 0x3D528D8E, 0x3D52EA8E, 0x3D5346CF, 0x3D53A257, 0x3D53FD25, 0x3D545740, 0x3D54B0A9, 0x3D550964, 0x3D556174, 0x3D55B8D7, 0x3D560F94, 0x3D5665AD, 0x3D56BB25, 0x3D570FFA, 0x3D576435, 0x3D57B7D2, 0x3D580AD9, 0x3D585D47, 0x3D58AF21, 0x3D590067, 0x3D59511F, 0x3D59A147, 0x3D59F0E2, 0x3D5A3FF5, 0x3D5A8E7C, 0x3D5ADC80, 0x3D5B29FA, 0x3D5B76F4, 0x3D5BC36D, 0x3D5C0F63, 0x3D5C5ADD, 0x3D5CA5DB, 0x3D5CF05B, 0x3D5D3A66, 0x3D5D83F7, 0x3D5DCD10, 0x3D5E15B5, 0x3D5E5DE9, 0x3D5EA5A8, 0x3D5EECF8, 0x3D5F33DA, 0x3D5F7A4C, 0x3D5FC052, 0x3D6005ED, 0x3D604B1F, 0x3D608FE5, 0x3D60D449, 0x3D611843, 0x3D615BD8, 0x3D619F09, 0x3D61E1DA, 0x3D622448, 0x3D626654, 0x3D62A803, 0x3D62E951, 0x3D632A44, 0x3D636ADC, 0x3D63AB15, 0x3D63EAF7, 0x3D642A7F, 0x3D6469AF, 0x3D64A886, 0x3D64E70A, 0x3D652536, 0x3D65630E, 0x3D65A093, 0x3D65DDC5, 0x3D661AA7, 0x3D665735, 0x3D669375, 0x3D66CF65, 0x3D670B04, 0x3D674658, 0x3D678161, 0x3D67BC19, 0x3D67F689, 0x3D6830AE, 0x3D686A8A, 0x3D68A41B, 0x3D68DD64, 0x3D691667, 0x3D694F21, 0x3D698796, 0x3D69BFC5, 0x3D69F7B0, 0x3D6A2F56, 0x3D6A66B9, 0x3D6A9DD6, 0x3D6AD4B2, 0x3D6B0B4F, 0x3D6B41AA, 0x3D6B77C3, 0x3D6BAD9B, 0x3D6BE335, 0x3D6C1892, 0x3D6C4DAE, 0x3D6C8290, 0x3D6CB733, 0x3D6CEB99, 0x3D6D1FC3, 0x3D6D53B3, 0x3D6D8768, 0x3D6DBAE1, 0x3D6DEE20, 0x3D6E2128, 0x3D6E53F6, 0x3D6E868B, 0x3D6EB8E8, 0x3D6EEB10, 0x3D6F1CFE, 0x3D6F4EB8, 0x3D6F803B, 0x3D6FB189, 0x3D6FE2A1, 0x3D701384, 0x3D704436, 0x3D7074AF, 0x3D70A4F9, 0x3D70D50F, 0x3D7104F3, 0x3D7134A3, 0x3D716423, 0x3D719373, 0x3D71C290, 0x3D71F17F, 0x3D72203B, 0x3D724ECA, 0x3D727D28, 0x3D72AB59, 0x3D72D959, 0x3D73072C, 0x3D7334D1, 0x3D736248, 0x3D738F92, 0x3D73BCB0, 0x3D73E9A2, 0x3D741668, 0x3D744300, 0x3D746F71, 0x3D749BB3, 0x3D74C7CB, 0x3D74F3BA, 0x3D751F7F, 0x3D754B19, 0x3D75768A, 0x3D75A1D0, 0x3D75CCF1, 0x3D75F7E7, 0x3D7622B4, 0x3D764D59, 0x3D7677D9, 0x3D76A231, 0x3D76CC60, 0x3D76F669, 0x3D77204D, 0x3D774A09, 0x3D77739F, 0x3D779D10, 0x3D77C65B, 0x3D77EF83, 0x3D781883, 0x3D784160, 0x3D786A1A, 0x3D7892AE, 0x3D78BB1D, 0x3D78E369, 0x3D790B95, 0x3D79339B, 0x3D795B7E, 0x3D79833F, 0x3D79AADC, 0x3D79D257, 0x3D79F9B1, 0x3D7A20EB, 0x3D7A4800, 0x3D7A6EF7, 0x3D7A95CB, 0x3D7ABC7F, 0x3D7AE313, 0x3D7B0984, 0x3D7B2FD7, 0x3D7B560A, 0x3D7B7C1A, 0x3D7BA210, 0x3D7BC7E2, 0x3D7BED97, 0x3D7C132C, 0x3D7C38A3, 0x3D7C5DFA, 0x3D7C8333, 0x3D7CA84F, 0x3D7CCD4E, 0x3D7CF22F, 0x3D7D16EF, 0x3D7D3B95, 0x3D7D601D, 0x3D7D8488, 0x3D7DA8D5, 0x3D7DCD05, 0x3D7DF11A, 0x3D7E1511, 0x3D7E38EE, 0x3D7E5CAD, 0x3D7E8051, 0x3D7EA3DA, 0x3D7EC748, 0x3D7EEA99, 0x3D7F0DCF, 0x3D7F30EB, 0x3D7F53EB, 0x3D7F76D1, 0x3D7F999E, 0x3D7FBC4E, 0x3D7FDEE5, 0x3D8000B1, 0x3D8011E2, 0x3D802307, 0x3D80341F, 0x3D80452A, 0x3D805629, 0x3D80671B, 0x3D807800, 0x3D8088DA, 0x3D8099A6, 0x3D80AA66, 0x3D80BB1A, 0x3D80CBC2, 0x3D80DC5E, 0x3D80ECEE, 0x3D80FD72, 0x3D810DEA, 0x3D811E57, 0x3D812EB7, 0x3D813F0C, 0x3D814F56, 0x3D815F92, 0x3D816FC6, 0x3D817FEC, 0x3D819008, 0x3D81A019, 0x3D81B01D, 0x3D81C017, 0x3D81D005, 0x3D81DFEA, 0x3D81EFC2, 0x3D81FF90, 0x3D820F53, 0x3D821F0B, 0x3D822EB8, 0x3D823E5A, 0x3D824DF3, 0x3D825D80, 0x3D826D04, 0x3D827C7C, 0x3D828BEA, 0x3D829B4E, 0x3D82AAA8, 0x3D82B9F7, 0x3D82C93B, 0x3D82D876, 0x3D82E7A6, 0x3D82F6CD, 0x3D8305E9, 0x3D8314FC, 0x3D832406, 0x3D833306, 0x3D8341FB, 0x3D8350E5, 0x3D835FC8, 0x3D836E9F, 0x3D837D6F, 0x3D838C34, 0x3D839AF0, 0x3D83A9A2, 0x3D83B84A, 0x3D83C6EA, 0x3D83D580, 0x3D83E40E, 0x3D83F291, 0x3D84010C, 0x3D840F7D, 0x3D841DE6, 0x3D842C45, 0x3D843A9C, 0x3D8448E9, 0x3D84572D, 0x3D846569, 0x3D84739C, 0x3D8481C6, 0x3D848FE7, 0x3D849E01, 0x3D84AC10, 0x3D84BA18, 0x3D84C818, 0x3D84D60E, 0x3D84E3FC, 0x3D84F1E1, 0x3D84FFBF, 0x3D850D93, 0x3D851B60, 0x3D852923, 0x3D8536E0, 0x3D854494, 0x3D85523F, 0x3D855FE2, 0x3D856D7F, 0x3D857B11, 0x3D85889E, 0x3D859620, 0x3D85A39C, 0x3D85B10F, 0x3D85BE7B, 0x3D85CBDF, 0x3D85D93B, 0x3D85E690, 0x3D85F3DC, 0x3D860121, 0x3D860E5E, 0x3D861B94, 0x3D8628C2, 0x3D8635E9, 0x3D864308, 0x3D86501F, 0x3D865D30, 0x3D866A39, 0x3D867739, 0x3D868433, 0x3D869127, 0x3D869E12, 0x3D86AAF6, 0x3D86B7D2, 0x3D86C4A8, 0x3D86D177, 0x3D86DE3F, 0x3D86EAFF, 0x3D86F7B9, 0x3D87046A, 0x3D871116, 0x3D871DBA, 0x3D872A58, 0x3D8736EE, 0x3D87437E, 0x3D875006, 0x3D875C88, 0x3D876904, 0x3D877578, 0x3D8781E6, 0x3D878E4C, 0x3D879AAD, 0x3D87A706, 0x3D87B359, 0x3D87BFA6, 0x3D87CBEB, 0x3D87D82A, 0x3D87E463, 0x3D87F096, 0x3D87FCC1, 0x3D8808E7, 0x3D881506, 0x3D88211F, 0x3D882D30, 0x3D88393D, 0x3D884542, 0x3D885141, 0x3D885D3B, 0x3D88692D, 0x3D88751B, 0x3D888100, 0x3D888CE2, 0x3D8898BB, 0x3D88A490, 0x3D88B05E, 0x3D88BC25, 0x3D88C7E8, 0x3D88D3A4, 0x3D88DF5A, 0x3D88EB0A, 0x3D88F6B4, 0x3D890258, 0x3D890DF6, 0x3D89198F, 0x3D892522, 0x3D8930AF, 0x3D893C35, 0x3D8947B7, 0x3D895333, 0x3D895EA9, 0x3D896A18, 0x3D897583, 0x00010203, 0x04000102, 0x03040001, 0x02030400, 0x01020304, 0x00010203, 0x04050607, 0x08050607, 0x08050607, 0x08050607, 0x08050607, 0x08090A0B, 0x090A0B09, 0x0A0B090A, 0x0B090A0B, 0x00000000, 0x00010101, 0x01010202, 0x02020203, 0x03030303, 0x04040404, 0x04000000, 0x00010101, 0x01020202, 0x02030303, 0x03040404, 0x04000000, 0x01010102, 0x02020303, 0x03040404, 0x00000000, 0x00000000 + +glabel D_8007EFE0 +.word 0x00000003, 0x0000000B, 0x00000000, 0x00000009, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000007, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00001388, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000 + +glabel D_8007F048 +.word 0x00000004, 0x0000000E, 0x00000000, 0x00000009, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000006, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000009, 0x0000000C, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000D, 0x00001770, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000, 0x00000004, 0x00000011, 0x00000000, 0x0000000B, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000004, 0x00000009, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x0000000B, 0x0000000F, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0x00001F40, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000 + +glabel D_8007F158 +.word 0x00000001, 0x0000000E, 0x00000000, 0x0000000D, 0x00004E20, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00007FFF + +glabel D_8007F180 +.word 0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00004000, 0x00000000, 0x00007FFF, 0x00001DB0, 0x000002BC, 0x00000000 + +glabel D_8007F1A8 +.word 0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00000000, 0x00005FFF, 0x00007FFF, 0x0000017C, 0x000001F4, 0x00000000 + +glabel D_8007F1D0 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F1F8 +.word 0x8007F1D0 + +glabel D_8007F1FC +.word 0x8007F1D0 + +glabel D_8007F200 +.word 0x8007F1D0 + +glabel D_8007F204 +.word 0x8007F1D0, 0x00000000, 0x00000000 + +glabel D_8007F210 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F228 +.word 0xE0002000, 0x003278F0, 0x00328110, 0xE0002000, 0x00326410, 0x003278F0 + +glabel D_8007F240 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F258 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F270 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F288 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F2A0 +.word 0xE000C160, 0x00328110, 0x00328EA0, 0xE000C000, 0x00328EA0, 0x0032C110 + +glabel D_8007F2B8 +.word 0xE000E000, 0x0032C110, 0x0032C7A0, 0xE000E000, 0x00328EA0, 0x0032C110 + +glabel D_8007F2D0 +.word 0xE00101E8, 0x0032C7A0, 0x0032CEC0, 0xE0010000, 0x0032CEC0, 0x0032DD10 + +glabel D_8007F2E8 +.word 0xE0012204, 0x0032DD10, 0x0032E490, 0xE0012000, 0x0032CEC0, 0x0032DD10 + +glabel D_8007F300 +.word 0xE0014000, 0x0032E490, 0x0032EC50, 0xE0014000, 0x0032EC50, 0x0032EE30 + +glabel D_8007F318 +.word 0xE0016000, 0x0032EE30, 0x0032F580, 0xE0016000, 0x0032EC50, 0x0032EE30 + +glabel D_8007F330 +.word 0xE0018078, 0x0032F580, 0x0032FB50, 0xE0018000, 0x0032FB50, 0x0032FE30 + +glabel D_8007F348 +.word 0xE001A000, 0x0032FE30, 0x00330460, 0xE001A000, 0x00330460, 0x00330910 + +glabel D_8007F360 +.word 0xE001C000, 0x00330910, 0x00330F00, 0xE001C000, 0x00330F00, 0x00331940 + +glabel D_8007F378 +.word 0xE001E000, 0x00331940, 0x003326A0, 0xE001E000, 0x003326A0, 0x00333EC0 + +glabel D_8007F390 +.word 0xE00202CC, 0x00333EC0, 0x00334C70, 0xE0020000, 0x00334C70, 0x00337240 + +glabel D_8007F3A8 +.word 0xE0022000, 0x00337240, 0x00337FC0, 0xE0022000, 0x00337FC0, 0x00339250 + +glabel D_8007F3C0 +.word 0xE0024000, 0x00339250, 0x00339F60, 0xE0024000, 0x00339F60, 0x0033B180 + +glabel D_8007F3D8 +.word 0xE0026000, 0x0033B180, 0x0033BBD0, 0xE0026000, 0x0033BBD0, 0x0033CDF0 + +glabel D_8007F3F0 +.word 0xE0028000, 0x0033CDF0, 0x0033D610, 0xE0028000, 0x0033D610, 0x0033E8C0 + +glabel D_8007F408 +.word 0xE002A000, 0x0033E8C0, 0x0033F000, 0xE002A000, 0x0033F000, 0x0033FE80 + +glabel D_8007F420 +.word 0xE002C000, 0x0033FE80, 0x00340880, 0xE002C000, 0x00340880, 0x003419E0 + +glabel D_8007F438 +.word 0xE002E000, 0x003419E0, 0x00342140, 0xE002E000, 0x00328EA0, 0x0032C110 + +glabel D_8007F450 +.word 0xE0030000, 0x00342140, 0x00343040, 0xE0030000, 0x00343040, 0x00343680 + +glabel D_8007F468 +.word 0xE0032000, 0x00343680, 0x00343F70, 0xE0032000, 0x00343F70, 0x00344A10 + +glabel D_8007F480 +.word 0xE0034000, 0x00344A10, 0x003451E0, 0xE0034000, 0x003451E0, 0x003454E0 + +glabel D_8007F498 +.word 0xE0036000, 0x003454E0, 0x00345B40, 0xE0036000, 0x00345B40, 0x0034DD20 + +glabel D_8007F4B0 +.word 0xE0038000, 0x0034DD20, 0x0034E770, 0xE0038000, 0x0034E770, 0x0034EC80 + +glabel D_8007F4C8 +.word 0xE003A000, 0x0034EC80, 0x0034F4C0, 0xE003A000, 0x00328EA0, 0x0032C110 + +glabel D_8007F4E0 +.word 0xE003C000, 0x0034F4C0, 0x00350220, 0xE003C000, 0x00350220, 0x00352440 + +glabel D_8007F4F8 +.word 0xE003E000, 0x00352440, 0x00352CE0, 0xE003E000, 0x00352CE0, 0x00353300 + +glabel D_8007F510 +.word 0xE0040000, 0x00353300, 0x00353BB0, 0xE0040000, 0x00353BB0, 0x003547A0 + +glabel D_8007F528 +.word 0xE0042000, 0x003547A0, 0x00354F60, 0xE0042000, 0x00343040, 0x00343680 + +glabel D_8007F540 +.word 0xE0044000, 0x00354F60, 0x00355EE0, 0xE0044000, 0x00337FC0, 0x00339250 + +glabel D_8007F558 +.word 0xE0046000, 0x00355EE0, 0x00356530, 0xE0046000, 0x00356530, 0x00356980 + +glabel D_8007F570 +.word 0xE0048000, 0x00356980, 0x003573A0, 0xE0048000, 0x003573A0, 0x003584C0 + +glabel D_8007F588 +.word 0xE004A000, 0x003584C0, 0x003593B0, 0xE004A000, 0x003593B0, 0x00359F20 + +glabel D_8007F5A0 +.word 0xE004C000, 0x00359F20, 0x0035A5E0, 0xE004C000, 0x0035A5E0, 0x0035B9D0 + +glabel D_8007F5B8 +.word 0xE004E000, 0x0035B9D0, 0x0035BFD0, 0xE004E000, 0x00328EA0, 0x0032C110 + +glabel D_8007F5D0 +.word 0xE0050000, 0x0035BFD0, 0x0035C550, 0xE0050000, 0x0035C550, 0x0035CA80 + +glabel D_8007F5E8 +.word 0xE0052000, 0x0035CA80, 0x0035D510, 0xE0052000, 0x0035D510, 0x0035DA00 + +glabel D_8007F600 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F618 +.word 0xE0056000, 0x0035DA00, 0x0035E920, 0xE0056000, 0x0033D610, 0x0033E8C0 + +glabel D_8007F630 +.word 0xE0058000, 0x0035E920, 0x0035F0E0, 0xE0058000, 0x0035F0E0, 0x003602C0 + +glabel D_8007F648 +.word 0xE005A000, 0x003602C0, 0x00360A30, 0xE005A000, 0x00360A30, 0x00360F40 + +glabel D_8007F660 +.word 0xE005C000, 0x00360F40, 0x00361670, 0xE005C000, 0x00361670, 0x003625C0 + +glabel D_8007F678 +.word 0xE005E000, 0x003625C0, 0x00362C50, 0xE005E000, 0x00362C50, 0x00363160 + +glabel D_8007F690 +.word 0xE0060000, 0x00363160, 0x003638C0, 0xE0060000, 0x003638C0, 0x00364300 + +glabel D_8007F6A8 +.word 0xE0062000, 0x00364300, 0x00364C00, 0xE0062000, 0x00364C00, 0x00364F10 + +glabel D_8007F6C0 +.word 0xE0064000, 0x00364F10, 0x003659B0, 0xE0064000, 0x003659B0, 0x00366030 + +glabel D_8007F6D8 +.word 0xE0066000, 0x00366030, 0x00366D60, 0xE0066000, 0x00366D60, 0x0036A8D0 + +glabel D_8007F6F0 +.word 0xE0068000, 0x0036A8D0, 0x0036AEE0, 0xE0068000, 0x0036AEE0, 0x0036D020 + +glabel D_8007F708 +.word 0xE006A1E8, 0x0036D020, 0x0036DF90, 0xE006A000, 0x0036DF90, 0x0036E1D0 + +glabel D_8007F720 +.word 0xE006C000, 0x0036E1D0, 0x0036ED60, 0xE006C000, 0x0036ED60, 0x00372790 + +glabel D_8007F738 +.word 0xE006E000, 0x00372790, 0x003733E0, 0xE006E000, 0x003733E0, 0x003740B0 + +glabel D_8007F750 +.word 0xE0070000, 0x003740B0, 0x00374E50, 0xE0070000, 0x00337FC0, 0x00339250 + +glabel D_8007F768 +.word 0xE0072000, 0x00374E50, 0x00375510, 0xE0072000, 0x00375510, 0x00376460 + +glabel D_8007F780 +.word 0xE0074000, 0x00376460, 0x00377070, 0xE0074000, 0x00337FC0, 0x00339250 + +glabel D_8007F798 +.word 0xE0076000, 0x00377070, 0x00377F80, 0xE0076000, 0x00377F80, 0x0037A3F0 + +glabel D_8007F7B0 +.word 0xE0078000, 0x0037A3F0, 0x0037ADD0, 0xE0078000, 0x0037ADD0, 0x0037C540 + +glabel D_8007F7C8 +.word 0xE007A000, 0x0037C540, 0x0037D180, 0xE007A000, 0x0037D180, 0x0037D490 + +glabel D_8007F7E0 +.word 0xE007C000, 0x0037D490, 0x0037D9D0, 0xE007C000, 0x0037D9D0, 0x0037F720 + +glabel D_8007F7F8 +.word 0xE007E000, 0x0037F720, 0x003803A0, 0xE007E000, 0x003803A0, 0x003812C0 + +glabel D_8007F810 +.word 0xE0080000, 0x003812C0, 0x00381E00, 0xE0080000, 0x00381E00, 0x00385640 + +glabel D_8007F828 +.word 0xE0082000, 0x00385640, 0x003863B0, 0xE0082000, 0x003863B0, 0x003889D0 + +glabel D_8007F840 +.word 0xE0084084, 0x003889D0, 0x00389850, 0xE0084000, 0x0037D9D0, 0x0037F720 + +glabel D_8007F858 +.word 0xE0086000, 0x00389850, 0x0038A350, 0xE0086000, 0x0038A350, 0x0038ADF0 + +glabel D_8007F870 +.word 0xE008817C, 0x0038ADF0, 0x0038BBA0, 0xE0088000, 0x0038BBA0, 0x0038C5F0 + +glabel D_8007F888 +.word 0xE008A188, 0x0038C5F0, 0x0038D070, 0xE008A000, 0x0038D070, 0x0038DE00 + +glabel D_8007F8A0 +.word 0xE008C000, 0x0038DE00, 0x0038E990, 0xE008C000, 0x0038E990, 0x0038EE60 + +glabel D_8007F8B8 +.word 0xE008E000, 0x0038EE60, 0x0038F710, 0xE008E000, 0x0038F710, 0x0038F900 + +glabel D_8007F8D0 +.word 0xE0090000, 0x0038F900, 0x003903D0, 0xE0090000, 0x003903D0, 0x00391D30 + +glabel D_8007F8E8 +.word 0xE0092000, 0x00391D30, 0x00392440, 0xE0092000, 0x00392440, 0x003928D0 + +glabel D_8007F900 +.word 0xE0094000, 0x003928D0, 0x003930A0, 0xE0094000, 0x003930A0, 0x00394280 + +glabel D_8007F918 +.word 0xE0096000, 0x00394280, 0x00394670, 0xE0096000, 0x00394670, 0x00395BB0 + +glabel D_8007F930 +.word 0xE0098000, 0x00395BB0, 0x003960F0, 0xE0098000, 0x003960F0, 0x003965B0 + +glabel D_8007F948 +.word 0xE009A000, 0x003965B0, 0x00397040, 0xE009A000, 0x00397040, 0x003981F0 + +glabel D_8007F960 +.word 0xE009C000, 0x003981F0, 0x00398BC0, 0xE009C000, 0x00398BC0, 0x0039FF20 + +glabel D_8007F978 +.word 0xE009E000, 0x0039FF20, 0x003A0D60, 0xE009E000, 0x003A0D60, 0x003A2290 + +glabel D_8007F990 +.word 0xE00A0000, 0x003A2290, 0x003A2440, 0xE00A0000, 0x003A2440, 0x003A2990 + +glabel D_8007F9A8 +.word 0xE00A2000, 0x003A2990, 0x003A33D0, 0xE00A2000, 0x003A33D0, 0x003A37E0 + +glabel D_8007F9C0 +.word 0xE00A4000, 0x003A37E0, 0x003A4320, 0xE00A4000, 0x003A4320, 0x003A5550 + +glabel D_8007F9D8 +.word 0xE00A6000, 0x003A5550, 0x003A5BE0, 0xE00A6000, 0x003A5BE0, 0x003A70F0 + +glabel D_8007F9F0 +.word 0xE00A8000, 0x003A70F0, 0x003A77A0, 0xE00A8000, 0x003A77A0, 0x003AA920 + +glabel D_8007FA08 +.word 0xE00AA000, 0x003AA920, 0x003AB030, 0xE00AA000, 0x003AB030, 0x003AEE20 + +glabel D_8007FA20 +.word 0xE00AC000, 0x003AEE20, 0x003AF700, 0xE00AC000, 0x003AF700, 0x003B2350 + +glabel D_8007FA38 +.word 0xE00AE000, 0x003B2350, 0x003B2D90, 0xE00AE000, 0x003B2D90, 0x003B3EB0 + +glabel D_8007FA50 +.word 0xE00B0000, 0x003B3EB0, 0x003B46A0, 0xE00B0000, 0x003B46A0, 0x003B4790 + +glabel D_8007FA68 +.word 0xE00B2000, 0x003B4790, 0x003B5340, 0xE00B2000, 0x003B5340, 0x003B5CF0 + +glabel D_8007FA80 +.word 0xE00B4000, 0x003B5CF0, 0x003B6BF0, 0xE00B4000, 0x003B6BF0, 0x003B7160 + +glabel D_8007FA98 +.word 0xE00B6000, 0x003B7160, 0x003B78D0, 0xE00B6000, 0x003B78D0, 0x003B7B80 + +glabel D_8007FAB0 +.word 0xE00B8000, 0x003B7B80, 0x003B8860, 0xE00B8000, 0x003B8860, 0x003B8BD0 + +glabel D_8007FAC8 +.word 0xE00BA000, 0x003B8BD0, 0x003B9A70, 0xE00BA000, 0x003B9A70, 0x003BA030 + +glabel D_8007FAE0 +.word 0xE00BC000, 0x003BA030, 0x003BAEA0, 0xE00BC000, 0x003BAEA0, 0x003BBF60 + +glabel D_8007FAF8 +.word 0xE00BE000, 0x003BBF60, 0x003BCA90, 0xE00BE000, 0x003BCA90, 0x003BCD60 + +glabel D_8007FB10 +.word 0xE00C0000, 0x003BCD60, 0x003BD9A0, 0xE00C0000, 0x003BD9A0, 0x003C11D0 + +glabel D_8007FB28 +.word 0xE00C2000, 0x003C11D0, 0x003C1BA0, 0xE00C2000, 0x003C1BA0, 0x003CADF0 + +glabel D_8007FB40 +.word 0xE00C4000, 0x003CADF0, 0x003CB890, 0xE00C4000, 0x003CB890, 0x003CC9E0 + +glabel D_8007FB58 +.word 0xE00C6000, 0x003CC9E0, 0x003CD6E0, 0xE00C6000, 0x003CD6E0, 0x003CF3A0 + +glabel D_8007FB70 +.word 0xE00C8000, 0x003CF3A0, 0x003CFAF0, 0xE00C8000, 0x003CFAF0, 0x003D0500 + +glabel D_8007FB88 +.word 0xE00CA000, 0x003D0500, 0x003D11E0, 0xE00CA000, 0x003D11E0, 0x003D1690 + +glabel D_8007FBA0 +.word 0xE00CC000, 0x003D1690, 0x003D2580, 0xE00CC000, 0x003D2580, 0x003D2AC0 + +glabel D_8007FBB8 +.word 0xE00CE000, 0x003D2AC0, 0x003D3930, 0xE00CE000, 0x003D3930, 0x003D3E20 + +glabel D_8007FBD0 +.word 0xE00D0000, 0x003D3E20, 0x003D4970, 0xE00D0000, 0x003593B0, 0x00359F20 + +glabel D_8007FBE8 +.word 0xE00D2000, 0x003D4970, 0x003D4E90, 0xE00D2000, 0x003D4E90, 0x003D5020 + +glabel D_8007FC00 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007FC18 +.word 0xE00D6000, 0x003D5020, 0x003D5F30, 0xE00D6000, 0x003D5F30, 0x003D67C0 + +glabel D_8007FC30 +.word 0xE00D8000, 0x003D67C0, 0x003D7040, 0xE00D8000, 0x003D7040, 0x003D7240 + +glabel D_8007FC48 +.word 0xE00DA000, 0x003D7240, 0x003D7770, 0xE00DA000, 0x003D7770, 0x003D7A70 + +glabel D_8007FC60 +.word 0xE00DC000, 0x003D7A70, 0x003D80C0, 0xE00DC000, 0x003D80C0, 0x003D8720 + +glabel D_8007FC78 +.word 0xE00DE000, 0x003D8720, 0x003D9100, 0xE00DE000, 0x003D9100, 0x003DB460 + +glabel D_8007FC90 +.word 0xE00E0000, 0x003DB460, 0x003DBF40, 0xE00E0000, 0x003DBF40, 0x003DC310 + +glabel D_8007FCA8 +.word 0xE00E2000, 0x003DC310, 0x003DCD50, 0xE00E2000, 0x003DCD50, 0x003DE000 + +glabel D_8007FCC0 +.word 0xE00E4000, 0x003DE000, 0x003DEE60, 0xE00E4000, 0x003DEE60, 0x003E0930 + +glabel D_8007FCD8 +.word 0xE00E6000, 0x003E0930, 0x003E12D0, 0xE00E6000, 0x003E12D0, 0x003E1690 + +glabel D_8007FCF0 +.word 0xE00E8000, 0x003E1690, 0x003E1CD0, 0xE00E8000, 0x003E1CD0, 0x003E1EE0 + +glabel D_8007FD08 +.word 0xE00EA000, 0x003E1EE0, 0x003E2960, 0xE00EA000, 0x003E2960, 0x003E43A0 + +glabel D_8007FD20 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007FD38 +.word 0xE010A000, 0x003E43A0, 0x003E5350, 0xE010A000, 0x003E5350, 0x003E54C0 + +glabel D_8007FD50 +.word 0xE010C000, 0x003E54C0, 0x003E5F30, 0xE010C000, 0x003E5F30, 0x003EB4E0 + +glabel D_8007FD68 +.word 0xE010E32C, 0x003EB4E0, 0x003EBE60, 0xE010E000, 0x003EBE60, 0x003F83F0 + +glabel D_8007FD80 +.word 0xE0110000, 0x003F83F0, 0x003F8CC0, 0xE0110000, 0x003F8CC0, 0x003F9E50 + +glabel D_8007FD98 +.word 0xE0112000, 0x003F9E50, 0x003FA4B0, 0xE0112000, 0x003FA4B0, 0x003FEAE0 + +glabel D_8007FDB0 +.word 0xE0114000, 0x003FEAE0, 0x003FF250, 0xE0114000, 0x003FF250, 0x00402640 + +glabel D_8007FDC8 +.word 0xE0116000, 0x00402640, 0x00403400, 0xE0116000, 0x003FA4B0, 0x003FEAE0 + +glabel D_8007FDE0 +.word 0xE0118000, 0x00403400, 0x00403BF0, 0xE0118000, 0x00403BF0, 0x00404220 + +glabel D_8007FDF8 +.word 0xE011A000, 0x00404220, 0x00404F40, 0xE011A000, 0x00404F40, 0x00406B40 + +glabel D_8007FE10 +.word 0xE011C000, 0x00406B40, 0x00407080, 0xE011C000, 0x00407080, 0x00409990 + +glabel D_8007FE28 +.word 0xE011E000, 0x00409990, 0x0040A1C0, 0xE011E000, 0x0040A1C0, 0x0040B3F0 + +glabel D_8007FE40 +.word 0xE0120000, 0x0040B3F0, 0x0040BBA0, 0xE0120000, 0x0040BBA0, 0x0040C5A0 + +glabel D_8007FE58 +.word 0xE0122000, 0x0040C5A0, 0x0040D290, 0xE0122000, 0x0040D290, 0x00412730 + +glabel D_8007FE70 +.word 0xE0124000, 0x00412730, 0x00413360, 0xE0124000, 0x00337FC0, 0x00339250 + +glabel D_8007FE88 +.word 0xE0126000, 0x00413360, 0x00413FA0, 0xE0126000, 0x00413FA0, 0x00414BA0 + +glabel D_8007FEA0 +.word 0xE0128000, 0x00414BA0, 0x00415060, 0xE0128000, 0x00415060, 0x00415D90, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CA40, 0x0002CB60, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000004, 0x0002CB80, 0x0002CCA0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0x00000004, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000003, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x0000000E, 0x0002CCC0, 0x0002CDE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CA40, 0x0002CB60, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000004, 0x0002CB80, 0x0002CCA0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0x00000004, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000003, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000002, 0x0002CCC0, 0x0002CDE0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002D080, 0x0002D1A0, 0x00000000, 0x00000000, 0x0000000C, 0x00000001, 0xFFFFFFFD, 0x0000000D, 0x00000004, 0x0002D1C0, 0x0002D2E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000001, 0x0000000D, 0x0000000E, 0x0002D300, 0x0002D420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002D080, 0x0002D1A0, 0x00000000, 0x00000000, 0x0000000C, 0x00000001, 0xFFFFFFFD, 0x0000000D, 0x00000004, 0x0002D1C0, 0x0002D2E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000001, 0x0000000D, 0x00000002, 0x0002D300, 0x0002D420, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x00000004, 0x0000000D, 0x0000003C, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000003C, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x00000003, 0x00000000 + +glabel D_800804F0 +.word 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000220, 0x00000420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000440, 0x00000640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000660, 0x00000860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000880, 0x00000A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000AA0, 0x00000CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000CC0, 0x00000EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000EE0, 0x000010E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001100, 0x00001300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002D940, 0x0002DB40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002DB80, 0x0002DD80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002DDC0, 0x0002DFC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E000, 0x0002E200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E240, 0x0002E440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E480, 0x0002E680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E6C0, 0x0002E8C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000003C, 0x00030CE0, 0x00030E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000000A, 0x00030A60, 0x00030B80, 0x00000000, 0x00000000, 0x0000000D, 0x00000006, 0x00030BA0, 0x00030CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x00000015, 0x00000000, 0x0000000D, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000014, 0x00000064, 0x00000046, 0x00000015, 0x00000001, 0x0000000D, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002F840, 0x0002F960, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002F980, 0x0002FAA0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x0000000C, 0xFFFFFFF8, 0x00000000, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0x00000008, 0x00000008, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0xFFFFFFFC, 0x00000008, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0x00000006, 0xFFFFFFFA, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0x00000001, 0xFFFFFFF8, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000005, 0x00000000, 0x00000017, 0x00000005, 0x80080A4C, 0x80080B64, 0x80080C7C, 0x80080D94, 0x80080EAC, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x00000002, 0x00030E20, 0x00030F40, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00030F60, 0x00031080, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000310A0, 0x000311C0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000311E0, 0x00031300, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031320, 0x00031440, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031460, 0x00031580, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000315A0, 0x000316C0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000316E0, 0x00031800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000000, 0x00000004, 0x0000000D, 0x00000002, 0x00031CA0, 0x00031CC0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031CE0, 0x00031D00, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031D20, 0x00031D40, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031D60, 0x00031D80, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031DA0, 0x00031DC0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031DE0, 0x00031E00, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031E20, 0x00031E40, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031E60, 0x00031E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x00000008, 0x0002E900, 0x0002EB00, 0x00000000, 0x00000000, 0x0000000D, 0x00000005, 0x0002EB20, 0x0002ED20, 0x00000000, 0x00000000, 0x0000000D, 0x00000008, 0x0002ED40, 0x0002EF40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x00000008, 0x0002EF60, 0x0002F160, 0x00000000, 0x00000000, 0x0000000D, 0x00000005, 0x0002F180, 0x0002F380, 0x00000000, 0x00000000, 0x0000000D, 0x00000008, 0x0002F3A0, 0x0002F5A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000000C, 0x00030400, 0x00030600, 0x00000000, 0x00000000, 0x0000000D, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x0000000D, 0x0000000C, 0x00030840, 0x00030A40, 0x00000000, 0x00000000, 0x0000000D, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001320, 0x00001520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001540, 0x00001740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001760, 0x00001960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001980, 0x00001B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001BA0, 0x00001DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001DC0, 0x00001FC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001FE0, 0x000021E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002200, 0x00002400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009020, 0x00009220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009240, 0x00009440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009460, 0x00009660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009680, 0x00009880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000098A0, 0x00009AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009AC0, 0x00009CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009CE0, 0x00009EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009F00, 0x0000A100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A120, 0x0000A320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A340, 0x0000A540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A560, 0x0000A760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A780, 0x0000A980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A9A0, 0x0000ABA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000ABC0, 0x0000ADC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000ADE0, 0x0000AFE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B000, 0x0000B200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B220, 0x0000B420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B440, 0x0000B640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B660, 0x0000B860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B880, 0x0000BA80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000BAA0, 0x0000BCA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000BCC0, 0x0000BEC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000BEE0, 0x0000C0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C100, 0x0000C300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C320, 0x0000C520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C540, 0x0000C740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C760, 0x0000C960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C980, 0x0000CB80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000CBA0, 0x0000CDA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000CDC0, 0x0000CFC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000CFE0, 0x0000D1E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D200, 0x0000D400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D420, 0x0000D620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D640, 0x0000D840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D860, 0x0000DA60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000DAA0, 0x0000DCA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000DCC0, 0x0000DEC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000DEE0, 0x0000E0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E100, 0x0000E300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E320, 0x0000E520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E540, 0x0000E740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E760, 0x0000E960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E980, 0x0000EB80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000EBC0, 0x0000EDC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000EDE0, 0x0000EFE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F000, 0x0000F200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F220, 0x0000F420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F440, 0x0000F640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F660, 0x0000F860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F880, 0x0000FA80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000FAA0, 0x0000FCA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000FCE0, 0x0000FEE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000FF00, 0x00010100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010120, 0x00010320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010340, 0x00010540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010560, 0x00010760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010780, 0x00010980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000109A0, 0x00010BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010BC0, 0x00010DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010E00, 0x00011000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011020, 0x00011220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011240, 0x00011440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011460, 0x00011660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011680, 0x00011880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000118A0, 0x00011AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011AC0, 0x00011CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011CE0, 0x00011EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011F20, 0x00012120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012140, 0x00012340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012360, 0x00012560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012580, 0x00012780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000127A0, 0x000129A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000129C0, 0x00012BC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000129C0, 0x00012BE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012C00, 0x00012E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012C00, 0x00012E20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012E40, 0x00013040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012E40, 0x00013060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013080, 0x00013280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013080, 0x000132A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000132C0, 0x000134C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000132C0, 0x000134E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013500, 0x00013700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013500, 0x00013720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013740, 0x00013940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013740, 0x00013960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013980, 0x00013B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013980, 0x00013BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013BC0, 0x00013DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013BC0, 0x00013DE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013E00, 0x00014000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013E00, 0x00014020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014040, 0x00014240, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014040, 0x00014260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014280, 0x00014480, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014280, 0x000144A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000144C0, 0x000146C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000144C0, 0x000146E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014700, 0x00014900, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014700, 0x00014920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014940, 0x00014B40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014940, 0x00014B60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014B80, 0x00014D80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014B80, 0x00014DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002420, 0x00002620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002420, 0x00002640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002660, 0x00002860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002660, 0x00002880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000028A0, 0x00002AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000028A0, 0x00002AC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002AE0, 0x00002CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002AE0, 0x00002D00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002D20, 0x00002F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002D20, 0x00002F40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002F60, 0x00003160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002F60, 0x00003180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000031A0, 0x000033A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000031A0, 0x000033C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000033E0, 0x000035E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000033E0, 0x00003600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003620, 0x00003820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003620, 0x00003840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003860, 0x00003A60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003860, 0x00003A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003AA0, 0x00003CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003AA0, 0x00003CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003CE0, 0x00003EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003CE0, 0x00003F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003F20, 0x00004120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003F20, 0x00004140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004160, 0x00004360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004160, 0x00004380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000043A0, 0x000045A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000043A0, 0x000045C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000045E0, 0x000047E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000045E0, 0x00004800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004820, 0x00004A20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004820, 0x00004A40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004A60, 0x00004C60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004A60, 0x00004C80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004CA0, 0x00004EA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004CA0, 0x00004EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004EE0, 0x000050E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004EE0, 0x00005100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005120, 0x00005320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005120, 0x00005340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005360, 0x00005560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005360, 0x00005580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000055A0, 0x000057A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000055A0, 0x000057C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000057E0, 0x000059E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000057E0, 0x00005A00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005A20, 0x00005C20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005A20, 0x00005C40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005C60, 0x00005E60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005C60, 0x00005E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005EA0, 0x000060A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005EA0, 0x000060C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000060E0, 0x000062E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000060E0, 0x00006300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006320, 0x00006520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006320, 0x00006540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006560, 0x00006760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006560, 0x00006780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000067A0, 0x000069A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000067A0, 0x000069C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000069E0, 0x00006BE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000069E0, 0x00006C00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006C20, 0x00006E20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006C20, 0x00006E40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006E60, 0x00007060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006E60, 0x00007080, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000070A0, 0x000072A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000070A0, 0x000072C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000072E0, 0x000074E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000072E0, 0x00007500, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007520, 0x00007720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007520, 0x00007740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007760, 0x00007960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007760, 0x00007980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000079A0, 0x00007BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000079A0, 0x00007BC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007BE0, 0x00007DE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007BE0, 0x00007E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007E20, 0x00008020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007E20, 0x00008040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008060, 0x00008260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008060, 0x00008280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000082A0, 0x000084A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000082A0, 0x000084C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000084E0, 0x000086E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000084E0, 0x00008700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008720, 0x00008920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008720, 0x00008940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008960, 0x00008B60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008960, 0x00008B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008BA0, 0x00008DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008BA0, 0x00008DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008DE0, 0x00008FE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008DE0, 0x00009000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014DC0, 0x00014FC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014DC0, 0x00014FE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015000, 0x00015200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015000, 0x00015220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015240, 0x00015440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015240, 0x00015460, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015480, 0x00015680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015480, 0x000156A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000156C0, 0x000158C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000156C0, 0x000158E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015900, 0x00015B00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015900, 0x00015B20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015B40, 0x00015D40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015B40, 0x00015D60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015D80, 0x00015F80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015D80, 0x00015FA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015FC0, 0x000161C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015FC0, 0x000161E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016200, 0x00016400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016200, 0x00016420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016440, 0x00016640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016440, 0x00016660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016680, 0x00016880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016680, 0x000168A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000168C0, 0x00016AC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000168C0, 0x00016AE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016B00, 0x00016D00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016B00, 0x00016D20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016D40, 0x00016F40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016D40, 0x00016F60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016F80, 0x00017180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016F80, 0x000171A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000171C0, 0x000173C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000171C0, 0x000173E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017400, 0x00017600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017400, 0x00017620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017640, 0x00017840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017640, 0x00017860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017880, 0x00017A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017880, 0x00017AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017AC0, 0x00017CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017AC0, 0x00017CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017D00, 0x00017F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017D00, 0x00017F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017F40, 0x00018140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017F40, 0x00018160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018180, 0x00018380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018180, 0x000183A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000183C0, 0x000185C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000183C0, 0x000185E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018600, 0x00018800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018600, 0x00018820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018840, 0x00018A40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018840, 0x00018A60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018A80, 0x00018C80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018A80, 0x00018CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018CC0, 0x00018EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018CC0, 0x00018EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018F00, 0x00019100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018F00, 0x00019120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019140, 0x00019340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019140, 0x00019360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019380, 0x00019580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019380, 0x000195A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000195C0, 0x000197C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000195C0, 0x000197E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019800, 0x00019A00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019800, 0x00019A20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019A40, 0x00019C40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019A40, 0x00019C60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019C80, 0x00019E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019C80, 0x00019EA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019EC0, 0x0001A0C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019EC0, 0x0001A0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A100, 0x0001A300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A100, 0x0001A320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A340, 0x0001A540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A340, 0x0001A560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A580, 0x0001A780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A580, 0x0001A7A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A7C0, 0x0001A9C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A7C0, 0x0001A9E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AA00, 0x0001AC00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AA00, 0x0001AC20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AC40, 0x0001AE40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AC40, 0x0001AE60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AE80, 0x0001B080, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AE80, 0x0001B0A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B0C0, 0x0001B2C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B0C0, 0x0001B2E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B300, 0x0001B500, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B300, 0x0001B520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B540, 0x0001B740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B540, 0x0001B760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B780, 0x0001B980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B780, 0x0001B9A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B9C0, 0x0001BBC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B9C0, 0x0001BBE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BC00, 0x0001BE00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BC00, 0x0001BE20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BE40, 0x0001C040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BE40, 0x0001C060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C080, 0x0001C280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C080, 0x0001C2A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C2C0, 0x0001C4C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C2C0, 0x0001C4E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C500, 0x0001C700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C500, 0x0001C720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C740, 0x0001C940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C740, 0x0001C960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C980, 0x0001CB80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C980, 0x0001CBA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CBC0, 0x0001CDC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CBC0, 0x0001CDE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CE00, 0x0001D000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CE00, 0x0001D020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D040, 0x0001D240, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D040, 0x0001D260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D280, 0x0001D480, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D280, 0x0001D4A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D4C0, 0x0001D6C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D4C0, 0x0001D6E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D700, 0x0001D900, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D700, 0x0001D920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D940, 0x0001DB40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D940, 0x0001DB60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DB80, 0x0001DD80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DB80, 0x0001DDA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DDC0, 0x0001DFC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DDC0, 0x0001DFE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E000, 0x0001E200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E000, 0x0001E220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E240, 0x0001E440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E240, 0x0001E460, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E480, 0x0001E680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E480, 0x0001E6A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E6C0, 0x0001E8C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E6C0, 0x0001E8E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E900, 0x0001EB00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E900, 0x0001EB20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EB40, 0x0001ED40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EB40, 0x0001ED60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001ED80, 0x0001EF80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001ED80, 0x0001EFA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EFC0, 0x0001F1C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EFC0, 0x0001F1E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F200, 0x0001F400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F200, 0x0001F420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F440, 0x0001F640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F440, 0x0001F660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F680, 0x0001F880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F680, 0x0001F8A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F8C0, 0x0001FAC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F8C0, 0x0001FAE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FB00, 0x0001FD00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FB00, 0x0001FD20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FD40, 0x0001FF40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FD40, 0x0001FF60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FF80, 0x00020180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FF80, 0x000201A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000201C0, 0x000203C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000201C0, 0x000203E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020400, 0x00020600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020400, 0x00020620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020640, 0x00020840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020640, 0x00020860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020880, 0x00020A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020880, 0x00020AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020AC0, 0x00020CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020AC0, 0x00020CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020D00, 0x00020F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020D00, 0x00020F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020F40, 0x00021140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020F40, 0x00021160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021180, 0x00021380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021180, 0x000213A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000213C0, 0x000215C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000213C0, 0x000215E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021600, 0x00021800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021600, 0x00021820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021840, 0x00021A40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021840, 0x00021A60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021A80, 0x00021C80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021A80, 0x00021CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021CC0, 0x00021EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021CC0, 0x00021EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021F00, 0x00022100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021F00, 0x00022120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022140, 0x00022340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022140, 0x00022360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022380, 0x00022580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022380, 0x000225A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000225C0, 0x000227C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000225C0, 0x000227E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022800, 0x00022A00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022800, 0x00022A20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022A40, 0x00022C40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022A40, 0x00022C60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022C80, 0x00022E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022C80, 0x00022EA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022EC0, 0x000230C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022EC0, 0x000230E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023100, 0x00023300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023100, 0x00023320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023340, 0x00023540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023340, 0x00023560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023580, 0x00023780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023580, 0x000237A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A3C0, 0x0002A5C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A3C0, 0x0002A5E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A600, 0x0002A800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A600, 0x0002A820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A840, 0x0002AA40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A840, 0x0002AA60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AA80, 0x0002AC80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AA80, 0x0002ACA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002ACC0, 0x0002AEC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002ACC0, 0x0002AEE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AF00, 0x0002B100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AF00, 0x0002B120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B140, 0x0002B340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B140, 0x0002B360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B380, 0x0002B580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B380, 0x0002B5A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B5C0, 0x0002B7C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B5C0, 0x0002B7E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B800, 0x0002BA00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B800, 0x0002BA20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BA40, 0x0002BC40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BA40, 0x0002BC60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BC80, 0x0002BE80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BC80, 0x0002BEA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BEC0, 0x0002C0C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BEC0, 0x0002C0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C100, 0x0002C300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C100, 0x0002C320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C340, 0x0002C540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C340, 0x0002C560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C580, 0x0002C780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C580, 0x0002C7A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000237C0, 0x000239C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000237C0, 0x000239E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023A00, 0x00023C00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023A00, 0x00023C20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023C40, 0x00023E40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023C40, 0x00023E60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023E80, 0x00024080, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023E80, 0x000240A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000240C0, 0x000242C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000240C0, 0x000242E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024300, 0x00024500, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024300, 0x00024520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024540, 0x00024740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024540, 0x00024760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024780, 0x00024980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024780, 0x000249A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000249C0, 0x00024BC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000249C0, 0x00024BE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024C00, 0x00024E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024C00, 0x00024E20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024E40, 0x00025040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024E40, 0x00025060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025080, 0x00025280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025080, 0x000252A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000252C0, 0x000254C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000252C0, 0x000254E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025500, 0x00025700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025500, 0x00025720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025740, 0x00025940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025740, 0x00025960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025980, 0x00025B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025980, 0x00025BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025BC0, 0x00025DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025BC0, 0x00025DE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025E00, 0x00026000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025E00, 0x00026020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026040, 0x00026240, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026040, 0x00026260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026280, 0x00026480, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026280, 0x000264A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000264C0, 0x000266C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000264C0, 0x000266E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026700, 0x00026900, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026700, 0x00026920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026940, 0x00026B40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026940, 0x00026B60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026B80, 0x00026D80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026B80, 0x00026DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026DC0, 0x00026FC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026DC0, 0x00026FE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027000, 0x00027200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027000, 0x00027220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027240, 0x00027440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027240, 0x00027460, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027480, 0x00027680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027480, 0x000276A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000276C0, 0x000278C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000276C0, 0x000278E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027900, 0x00027B00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027900, 0x00027B20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027B40, 0x00027D40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027B40, 0x00027D60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027D80, 0x00027F80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027D80, 0x00027FA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027FC0, 0x000281C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027FC0, 0x000281E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028200, 0x00028400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028200, 0x00028420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028440, 0x00028640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028440, 0x00028660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028680, 0x00028880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028680, 0x000288A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000288C0, 0x00028AC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000288C0, 0x00028AE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028B00, 0x00028D00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028B00, 0x00028D20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028D40, 0x00028F40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028D40, 0x00028F60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028F80, 0x00029180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028F80, 0x000291A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000291C0, 0x000293C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000291C0, 0x000293E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029400, 0x00029600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029400, 0x00029620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029640, 0x00029840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029640, 0x00029860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029880, 0x00029A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029880, 0x00029AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029AC0, 0x00029CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029AC0, 0x00029CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029D00, 0x00029F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029D00, 0x00029F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029F40, 0x0002A140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029F40, 0x0002A160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A180, 0x0002A380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A180, 0x0002A3A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01400000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x002600A0, 0x00380000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A1, 0x00390000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A2, 0x003A0000, 0x00000001, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A3, 0x003B0000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A4, 0x003C0000, 0x00000001, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A5, 0x003D0000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A6, 0x003E0000, 0x00000002, 0xFFFF0000, 0x002500A6, 0x002300A6, 0x10080000, 0x00000000, 0x00000000, 0x01400000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x00000000, 0x01400000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600E2, 0x00780000, 0x00000002, 0xFFFF0000, 0x002500E2, 0x002300E2, 0x10080000, 0x00000000, 0x002600E3, 0x00790000, 0x00000002, 0xFFFF0000, 0x002500E3, 0x002300E3, 0x10080000, 0x00000000, 0x002600E4, 0x007A0000, 0x00000002, 0xFFFF0000, 0x002500E4, 0x002300E4, 0x10080000, 0x00000000, 0x002600E5, 0x007B0000, 0x00000002, 0xFFFF0000, 0x002500E5, 0x002300E5, 0x10080000, 0x00000000, 0x002600E6, 0x007C0000, 0x00000002, 0xFFFF0000, 0x002500E6, 0x002300E6, 0x10080000, 0x00000000, 0x002600E7, 0x00620000, 0x00000002, 0xFFFF0000, 0x002500E7, 0x002300E7, 0x10080000, 0x00000000, 0x002600A7, 0x00400000, 0x00000008, 0xFFFF0000, 0x002500A7, 0x002300A7, 0x10090000, 0x00000000, 0x002600A8, 0x00410000, 0x00000008, 0xFFFF0000, 0x002500A8, 0x002300A8, 0x10090000, 0x00000000, 0x002600B0, 0x00470000, 0x00000008, 0xFFFF0000, 0x002500B0, 0x002300B0, 0x10090000, 0x00000000, 0x002600A9, 0x00420000, 0x00000008, 0xFFFF0000, 0x002500A9, 0x002300A9, 0x10090000, 0x00000000, 0x002600AA, 0x00430000, 0x00000008, 0xFFFF0000, 0x002500AA, 0x002300AA, 0x10090000, 0x00000000, 0x002600B3, 0x004C0000, 0x00000008, 0xFFFF0000, 0x002500B3, 0x002300B3, 0x10090000, 0x00000000, 0x002600B4, 0x004A0000, 0x00000008, 0xFFFF0000, 0x002500B4, 0x002300B4, 0x10090000, 0x00000000, 0x002600B5, 0x004B0000, 0x00000008, 0xFFFF0000, 0x002500B5, 0x002300B5, 0x10090000, 0x00000000, 0x002600B2, 0x00490000, 0x00000008, 0xFFFF0000, 0x002500B2, 0x002300B2, 0x10090000, 0x00000000, 0x002600AF, 0x00460000, 0x00000008, 0xFFFF0000, 0x002500AF, 0x002300AF, 0x10090000, 0x00000000, 0x002600AB, 0x00440000, 0x00000008, 0xFFFF0000, 0x002500AB, 0x002300AB, 0x10090000, 0x00000000, 0x00000000, 0x004D0000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600B7, 0x00500000, 0x00000008, 0xFFFF0000, 0x002500B7, 0x002300B7, 0x10090000, 0x00000000, 0x002600B8, 0x00510000, 0x00000008, 0xFFFF0000, 0x002500B8, 0x002300B8, 0x10090000, 0x00000000, 0x002600C4, 0x005D0000, 0x00000008, 0xFFFF0000, 0x002500C4, 0x002300C4, 0x10090000, 0x00000000, 0x002600B9, 0x00520000, 0x00000008, 0xFFFF0000, 0x002500B9, 0x002300B9, 0x10090000, 0x00000000, 0x002600BA, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500BA, 0x002300BA, 0x10090000, 0x00000000, 0x002600BB, 0x00540000, 0x00000008, 0xFFFF0000, 0x002500BB, 0x002300BB, 0x10090000, 0x00000000, 0x002600B6, 0x004F0000, 0x00000008, 0xFFFF0000, 0x002500B6, 0x002300B6, 0x10090000, 0x00000000, 0x002600BC, 0x00550000, 0x00000008, 0xFFFF0000, 0x002500BC, 0x002300BC, 0x10090000, 0x00000000, 0x002600BD, 0x00560000, 0x00000008, 0xFFFF0000, 0x002500BD, 0x002300BD, 0x10090000, 0x00000000, 0x002600BE, 0x00570000, 0x00000008, 0xFFFF0000, 0x002500BE, 0x002300BE, 0x10090000, 0x00000000, 0x00000000, 0x00580000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600C9, 0x007D0000, 0x00000008, 0xFFFF0000, 0x002500C9, 0x002300C9, 0x10090000, 0x00000000, 0x00000000, 0x00650000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600CB, 0x00660000, 0x00000008, 0xFFFF0000, 0x002500CB, 0x002300CB, 0x10090000, 0x00000000, 0x002600CC, 0x00670000, 0x00000008, 0xFFFF0000, 0x002500CC, 0x002300CC, 0x10090000, 0x00000000, 0x002600C0, 0x00590000, 0x00000008, 0xFFFF0000, 0x002500C0, 0x002300C0, 0x10090000, 0x00000000, 0x002600C1, 0x005A0000, 0x00000008, 0xFFFF0000, 0x002500C1, 0x002300C1, 0x10090000, 0x00000000, 0x002600C2, 0x005B0000, 0x00000008, 0xFFFF0000, 0x002500C2, 0x002300C2, 0x10090000, 0x00000000, 0x002600C3, 0x005C0000, 0x00000008, 0xFFFF0000, 0x002500C3, 0x002300C3, 0x10090000, 0x00000000, 0x00000000, 0x00630000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600CA, 0x00640000, 0x00000008, 0xFFFF0000, 0x002500CA, 0x002300CA, 0x10090000, 0x00000000, 0x002600CF, 0x00680000, 0x00000008, 0xFFFF0000, 0x002500CF, 0x002300CF, 0x10090000, 0x00000000, 0x002600D0, 0x00690000, 0x00000008, 0xFFFF0000, 0x002500D0, 0x002300D0, 0x10090000, 0x00000000, 0x002600D2, 0x006A0000, 0x00000008, 0xFFFF0000, 0x002500D2, 0x002300D2, 0x10090000, 0x00000000, 0x002600D3, 0x006B0000, 0x00000008, 0xFFFF0000, 0x002500D3, 0x002300D3, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600EB, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EB, 0x002300EB, 0x10090000, 0x00000000, 0x002600EC, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EC, 0x002300EC, 0x10090000, 0x00000000, 0x002600ED, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500ED, 0x002300ED, 0x10090000, 0x00000000, 0x002600EE, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EE, 0x002300EE, 0x10090000, 0x00000000, 0x002600EF, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EF, 0x002300EF, 0x10090000, 0x00000000, 0x002600F0, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F0, 0x002300F0, 0x10090000, 0x00000000, 0x002600F1, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F1, 0x002300F1, 0x10090000, 0x00000000, 0x002600F2, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F2, 0x002300F2, 0x10090000, 0x00000000, 0x002600F3, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F3, 0x002300F3, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600F4, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F4, 0x002300F4, 0x10090000, 0x00000000, 0x002600F5, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F5, 0x002300F5, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600F6, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F6, 0x002300F6, 0x10090000, 0x00000000, 0x002600F7, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F7, 0x002300F7, 0x10090000, 0x00000000, 0x002600F8, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F8, 0x002300F8, 0x10090000, 0x00000000, 0x002600F9, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F9, 0x002300F9, 0x10090000, 0x00000000, 0x002600FA, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FA, 0x002300FA, 0x10090000, 0x00000000, 0x002600FB, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FB, 0x002300FB, 0x10090000, 0x00000000, 0x002600FC, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FC, 0x002300FC, 0x10090000, 0x00000000, 0x002600FD, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FD, 0x002300FD, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600FE, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FE, 0x002300FE, 0x10090000, 0x00000000, 0x002600FF, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FF, 0x002300FF, 0x10090000, 0x00000000, 0x00260100, 0x00880000, 0x00000008, 0xFFFF0000, 0x00250100, 0x00230100, 0x10090000, 0x00000000, 0x00260101, 0x00880000, 0x00000008, 0xFFFF0000, 0x00250101, 0x00230101, 0x10090000, 0x00000000, 0x00260102, 0x00880000, 0x00000008, 0xFFFF0000, 0x00250102, 0x00230102, 0x10090000, 0x00000000, 0x002600B1, 0x00480000, 0x00000008, 0xFFFF0000, 0x002500B1, 0x002300B1, 0x10090000, 0x00000000, 0x002600EA, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EA, 0x002300EA, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600AE, 0x00450000, 0x00000008, 0xFFFF0000, 0x002500AE, 0x002300AE, 0x10090000, 0x00000000, 0x002600C5, 0x005E0000, 0x00000008, 0xFFFF0000, 0x002500C5, 0x002300C5, 0x10090000, 0x00000000, 0x002600C6, 0x005F0000, 0x00000008, 0xFFFF0000, 0x002500C6, 0x002300C6, 0x10090000, 0x00000000, 0x002600C7, 0x00600000, 0x00000008, 0xFFFF0000, 0x002500C7, 0x002300C7, 0x10090000, 0x00000000, 0x002600C8, 0x00610000, 0x00000008, 0xFFFF0000, 0x002500C8, 0x002300C8, 0x10090000, 0x00000000, 0x002600CD, 0x00490000, 0x00000008, 0xFFFF0000, 0x002500CD, 0x002300CD, 0x10090000, 0x00000000, 0x00260104, 0x00810000, 0x00000008, 0xFFFF0000, 0x00250104, 0x00230104, 0x10090000, 0x00000000, 0x002600D8, 0x01160000, 0x00000008, 0xFFFF0000, 0x002500D8, 0x002300D8, 0x10090000, 0x00000000, 0x002600D9, 0x01150000, 0x00000008, 0xFFFF0000, 0x002500D9, 0x002300D9, 0x10090000, 0x00000000, 0x002600DA, 0x01170000, 0x00000008, 0xFFFF0000, 0x002500DA, 0x002300DA, 0x10090000, 0x00000000, 0x002600DB, 0x01180000, 0x00000008, 0xFFFF0000, 0x002500DB, 0x002300DB, 0x10090000, 0x00000000, 0x002600DC, 0x01190000, 0x00000008, 0xFFFF0000, 0x002500DC, 0x002300DC, 0x10090000, 0x00000000, 0x002600DD, 0x011A0000, 0x00000008, 0xFFFF0000, 0x002500DD, 0x002300DD, 0x10090000, 0x00000000, 0x002600DE, 0x011B0000, 0x00000008, 0xFFFF0000, 0x002500DE, 0x002300DE, 0x10090000, 0x00000000, 0x002600DF, 0x011C0000, 0x00000008, 0xFFFF0000, 0x002500DF, 0x002300DF, 0x10090000, 0x00000000, 0x002600E0, 0x011D0000, 0x00000008, 0xFFFF0000, 0x002500E0, 0x002300E0, 0x10090000, 0x00000000, 0x002600E1, 0x011E0000, 0x00000008, 0xFFFF0000, 0x002500E1, 0x002300E1, 0x10090000, 0x00000000, 0x002600D6, 0x006F0000, 0x00000008, 0xFFFF0000, 0x002500D6, 0x002300D6, 0x10090000, 0x00000000, 0x002600D7, 0x006E0000, 0x00000008, 0xFFFF0000, 0x002500D7, 0x002300D7, 0x10090000, 0x00000000, 0x002600BF, 0x00700000, 0x00000008, 0xFFFF0000, 0x002500BF, 0x002300BF, 0x10090000, 0x00000000, 0x002600AC, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500AC, 0x002300AC, 0x10090000, 0x00000000, 0x002600AD, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500AD, 0x002300AD, 0x10090000, 0x00000000, 0x002600D1, 0x00710000, 0x00000008, 0xFFFF0000, 0x002500D1, 0x002300D1, 0x10090000, 0x00000000, 0x002600D4, 0x00720000, 0x00000008, 0xFFFF0000, 0x002500D4, 0x002300D4, 0x10090000, 0x00000000, 0x00260103, 0x00800000, 0x00000008, 0xFFFF0000, 0x00250103, 0x00230103, 0x10090000, 0x00000000, 0x00260105, 0x00820000, 0x00000008, 0xFFFF0000, 0x00250105, 0x00230105, 0x10090000, 0x00000000, 0x00260106, 0x00830000, 0x00000008, 0xFFFF0000, 0x00250106, 0x00230106, 0x10090000, 0x00000000, 0x00260107, 0x00840000, 0x00000008, 0xFFFF0000, 0x00250107, 0x00230107, 0x10090000, 0x00000000, 0x00000000, 0x00850000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x00260108, 0x00860000, 0x00000008, 0xFFFF0000, 0x00250108, 0x00230108, 0x10090000, 0x00000000, 0x00260109, 0x00870000, 0x00000008, 0xFFFF0000, 0x00250109, 0x00230109, 0x10090000, 0x00000000, 0x00000000, 0x00860000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x0026010A, 0x006C0000, 0x00000008, 0xFFFF0000, 0x0025010A, 0x0023010A, 0x10090000, 0x00000000, 0x0026010B, 0x006D0000, 0x00000008, 0xFFFF0000, 0x0025010B, 0x0023010B, 0x10090000, 0x00000000, 0x002600AC, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500AC, 0x002300AC, 0x10090000, 0x00000000, 0x002600CE, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500CE, 0x002300CE, 0x10090000, 0x00000000, 0x002600D5, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x002600E8, 0x007F0000, 0x00000008, 0xFFFF0000, 0x002500E8, 0x002300E8, 0x10090000, 0x00000000, 0x002600E9, 0x007E0000, 0x00000008, 0xFFFF0000, 0x002500E9, 0x002300E9, 0x10090000, 0x00000000, 0x002600D5, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x002600D5, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x002600D5, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x00260000, 0x01200000, 0x00008002, 0x00040000, 0x00250000, 0x00230000, 0x10060003, 0x00000000, 0x00260001, 0x01210000, 0x00008002, 0x00060000, 0x00250001, 0x00230001, 0x10060004, 0x00000000, 0x00260002, 0x01220000, 0x00008002, 0x00080000, 0x00250002, 0x00230002, 0x10060005, 0x00000000, 0x00260004, 0x01240000, 0x00008002, 0x000F0000, 0x00250004, 0x00230004, 0x10060006, 0x00000000, 0x00260003, 0x01230000, 0x00008003, 0x00040000, 0x00250003, 0x00230003, 0x10060005, 0x00000000, 0x00260006, 0x01260000, 0x00008003, 0x00010000, 0x00250006, 0x00230006, 0x10060001, 0x00000000, 0x00260005, 0x01250000, 0x00008003, 0x00010000, 0x00250005, 0x00230005, 0x10060001, 0x00000000, 0x00000000, 0x013D0000, 0x00008003, 0x00010000, 0x00000000, 0x00000000, 0x10060000, 0x00000000, 0x00260007, 0x01280000, 0x00000008, 0x000F0000, 0x00250007, 0x00230007, 0x10060003, 0x00000000, 0x0026000E, 0x00FD0000, 0x00000009, 0x00010000, 0x0025000E, 0x0023000E, 0x11870000, 0x00000000, 0x00260009, 0x00F80000, 0x00000009, 0x00020000, 0x00250009, 0x00230009, 0x10870005, 0x00000000, 0x00260008, 0x01290000, 0x00000008, 0x00070000, 0x00250008, 0x00230008, 0x10860004, 0x00000000, 0x0026000A, 0x00F90000, 0x00000009, 0x00070000, 0x0025000A, 0x0023000A, 0x1087000A, 0x00000000, 0x0026000D, 0x00FC0000, 0x00000009, 0x00010000, 0x0025000D, 0x0023000D, 0x10870001, 0x00000000, 0x0026000B, 0x00FA0000, 0x00000009, 0x00320000, 0x0025000B, 0x0023000B, 0x10870032, 0x00000000, 0x00260026, 0x01300000, 0x00008002, 0x00040000, 0x00250026, 0x00230026, 0x10060003, 0x00000000, 0x00260027, 0x01320000, 0x00008002, 0x00030000, 0x00250027, 0x00230027, 0x10060002, 0x00000000, 0x00000000, 0x01330000, 0x00000008, 0x000A0000, 0x00000000, 0x00000000, 0x11860002, 0x00000000, 0x00260028, 0x01340000, 0x00008002, 0x000A0000, 0x00250028, 0x00230028, 0x10060004, 0x00000000, 0x00260019, 0x01130000, 0x00000009, 0x001E0000, 0x00250019, 0x00230019, 0x10870019, 0x19000000, 0x0026001A, 0x01140000, 0x00000009, 0x00020000, 0x0025001A, 0x0023001A, 0x10870005, 0x00000000, 0x0026000C, 0x00FB0000, 0x00000009, 0x00140000, 0x0025000C, 0x0023000C, 0x1087000A, 0x00000000, 0x0026002B, 0x013B0000, 0x00000008, 0x00010000, 0x0025002B, 0x0023002B, 0x10060000, 0x00000000, 0x0026002C, 0x013C0000, 0x00000008, 0x000F0000, 0x0025002C, 0x0023002C, 0x10060002, 0x00000000, 0x0026002A, 0x013A0000, 0x00008002, 0x00030000, 0x0025002A, 0x0023002A, 0x10060000, 0x00000000, 0x00000000, 0x01380000, 0x00000008, 0x00050000, 0x00000000, 0x00000000, 0x10060000, 0x00000000, 0x00260029, 0x01350000, 0x00008002, 0x00060000, 0x00250029, 0x00230029, 0x10060003, 0x00000000, 0x0026000F, 0x00FE0000, 0x00000009, 0x00030000, 0x0025000F, 0x0023000F, 0x11870000, 0x05000000, 0x00260015, 0x01070000, 0x00000009, 0x00010000, 0x00250015, 0x00230015, 0x10870001, 0x02000000, 0x00260014, 0x01060000, 0x00000009, 0x00010000, 0x00250014, 0x00230014, 0x10870000, 0x03000000, 0x00260010, 0x00FF0000, 0x00000009, 0x00020000, 0x00250010, 0x00230010, 0x10870000, 0x05000000, 0x00260011, 0x01000000, 0x00000009, 0x00020000, 0x00250011, 0x00230011, 0x10870005, 0x00000000, 0x00260012, 0x01010000, 0x00000009, 0x00020000, 0x00250012, 0x00230012, 0x10870003, 0x03000000, 0x00260013, 0x01020000, 0x00000009, 0x00030000, 0x00250013, 0x00230013, 0x10870005, 0x00000000, 0x00260018, 0x01120000, 0x00000009, 0x00320000, 0x00250018, 0x00230018, 0x10870000, 0x32000000, 0x00260017, 0x01110000, 0x00000009, 0x000A0000, 0x00250017, 0x00230017, 0x11870000, 0x0A000000, 0x00260016, 0x01100000, 0x00000009, 0x00030000, 0x00250016, 0x00230016, 0x11870000, 0x05000000, 0x0026001B, 0x01030000, 0x00000009, 0x00020000, 0x0025001B, 0x0023001B, 0x10870000, 0x03000000, 0x0026001C, 0x01040000, 0x00000009, 0x00010000, 0x0025001C, 0x0023001C, 0x10870000, 0x03000000, 0x0026001D, 0x01050000, 0x00000009, 0x00040000, 0x0025001D, 0x0023001D, 0x10870003, 0x02000000, 0x0026001E, 0x01080000, 0x00000009, 0x00050000, 0x0025001E, 0x0023001E, 0x1087000F, 0x00000000, 0x0026001F, 0x01090000, 0x00000009, 0x00020000, 0x0025001F, 0x0023001F, 0x10870000, 0x05000000, 0x00260020, 0x010A0000, 0x00000009, 0x00030000, 0x00250020, 0x00230020, 0x10870000, 0x01000000, 0x00260021, 0x010B0000, 0x00000009, 0x00020000, 0x00250021, 0x00230021, 0x10870005, 0x00000000, 0x00260022, 0x010C0000, 0x00008003, 0x00010000, 0x00250022, 0x00230022, 0x10060003, 0x00000000, 0x00260023, 0x010D0000, 0x00000009, 0x00070000, 0x00250023, 0x00230023, 0x1087000F, 0x00000000, 0x00260024, 0x010E0000, 0x00000009, 0x00010000, 0x00250024, 0x00230024, 0x10870000, 0x05000000, 0x00260025, 0x010F0000, 0x00000009, 0x00030000, 0x00250025, 0x00230025, 0x10870005, 0x00000000, 0x0026002D, 0x00010000, 0x00000009, 0x000A0000, 0x0025002D, 0x0023002D, 0x11870004, 0x04000000, 0x0026002E, 0x00020000, 0x00000009, 0x000A0000, 0x0025002E, 0x0023002E, 0x10870005, 0x0F000000, 0x00260035, 0x00030000, 0x00000009, 0x004B0000, 0x00250035, 0x00230035, 0x10870032, 0x05000000, 0x00260036, 0x00040000, 0x00000009, 0x00640000, 0x00250036, 0x00230036, 0x10870032, 0x0A000000, 0x00260037, 0x00050000, 0x00000009, 0x00960000, 0x00250037, 0x00230037, 0x10870032, 0x32000000, 0x00260038, 0x00060000, 0x00000009, 0x000A0000, 0x00250038, 0x00230038, 0x10870007, 0x07000000, 0x00260039, 0x00070000, 0x00000009, 0x00050000, 0x00250039, 0x00230039, 0x10870006, 0x02000000, 0x0026003C, 0x00080000, 0x00000009, 0x00140000, 0x0025003C, 0x0023003C, 0x1087000A, 0x0A000000, 0x0026003B, 0x00090000, 0x00000009, 0x002D0000, 0x0025003B, 0x0023003B, 0x1087001E, 0x0A000000, 0x0026003A, 0x000A0000, 0x00000009, 0x000F0000, 0x0025003A, 0x0023003A, 0x1087000F, 0x05000000, 0x0026003D, 0x000B0000, 0x00000009, 0x00320000, 0x0025003D, 0x0023003D, 0x1087001E, 0x14000000, 0x0026003F, 0x000E0000, 0x00000009, 0x000F0000, 0x0025003F, 0x0023003F, 0x10870014, 0x14000000, 0x00260042, 0x000C0000, 0x00000009, 0x00190000, 0x00250042, 0x00230042, 0x11870000, 0x28000000, 0x0026003E, 0x000D0000, 0x00000009, 0x000A0000, 0x0025003E, 0x0023003E, 0x1087000A, 0x0A000000, 0x00260040, 0x000F0000, 0x00000009, 0x003C0000, 0x00250040, 0x00230040, 0x10870028, 0x28000000, 0x00260041, 0x00100000, 0x00000009, 0x000A0000, 0x00250041, 0x00230041, 0x11870000, 0x14000000, 0x00260043, 0x00110000, 0x00000009, 0x000A0000, 0x00250043, 0x00230043, 0x10870000, 0x14000000, 0x00260044, 0x00120000, 0x00000009, 0x000A0000, 0x00250044, 0x00230044, 0x10870000, 0x0F000000, 0x00260045, 0x00130000, 0x00000009, 0x00010000, 0x00250045, 0x00230045, 0x10870001, 0x01000000, 0x00260046, 0x00140000, 0x00000009, 0x00030000, 0x00250046, 0x00230046, 0x11870000, 0x07000000, 0x00260032, 0x00150000, 0x00000009, 0x00140000, 0x00250032, 0x00230032, 0x1087000A, 0x05000000, 0x00260033, 0x00160000, 0x00000009, 0x00230000, 0x00250033, 0x00230033, 0x1087000A, 0x0A000000, 0x00260034, 0x00170000, 0x00000009, 0x00640000, 0x00250034, 0x00230034, 0x1087000A, 0x32000000, 0x00260047, 0x00180000, 0x00000009, 0x00070000, 0x00250047, 0x00230047, 0x10870006, 0x04000000, 0x00260048, 0x00190000, 0x00008003, 0x000A0000, 0x00250048, 0x00230048, 0x10060006, 0x00000000, 0x00260049, 0x001A0000, 0x00000009, 0x00070000, 0x00250049, 0x00230049, 0x1087000A, 0x00000000, 0x0026002F, 0x001B0000, 0x00000009, 0x000A0000, 0x0025002F, 0x0023002F, 0x10870005, 0x05000000, 0x0026004A, 0x001C0000, 0x00000009, 0x000F0000, 0x0025004A, 0x0023004A, 0x10870000, 0x14000000, 0x0026004B, 0x001D0000, 0x00000009, 0x00190000, 0x0025004B, 0x0023004B, 0x10870000, 0x0F000000, 0x0026004C, 0x001E0000, 0x00000009, 0x00140000, 0x0025004C, 0x0023004C, 0x108700FF, 0x14000000, 0x0026004D, 0x001F0000, 0x00000009, 0x000F0000, 0x0025004D, 0x0023004D, 0x10870000, 0x14000000, 0x0026004E, 0x00200000, 0x00000009, 0x000C0000, 0x0025004E, 0x0023004E, 0x10870003, 0x0F000000, 0x0026004F, 0x00210000, 0x00000009, 0x000F0000, 0x0025004F, 0x0023004F, 0x10870005, 0x0F000000, 0x00260050, 0x00220000, 0x00000009, 0x00640000, 0x00250050, 0x00230050, 0x10870000, 0x40000000, 0x00260051, 0x00230000, 0x00000009, 0x000A0000, 0x00250051, 0x00230051, 0x10860000, 0x00000000, 0x00260052, 0x00240000, 0x00000009, 0x000C0000, 0x00250052, 0x00230052, 0x10870000, 0x0F000000, 0x00260053, 0x00250000, 0x00000009, 0x000F0000, 0x00250053, 0x00230053, 0x1087000F, 0x00000000, 0x00260054, 0x00260000, 0x00000009, 0x00060000, 0x00250054, 0x00230054, 0x1087000A, 0x00000000, 0x00260055, 0x00270000, 0x00000009, 0x00060000, 0x00250055, 0x00230055, 0x10870000, 0x0A000000, 0x00260030, 0x00280000, 0x00000009, 0x00190000, 0x00250030, 0x00230030, 0x10870005, 0x0A000000, 0x00260056, 0x00290000, 0x00000009, 0x000A0000, 0x00250056, 0x00230056, 0x10870008, 0x08000000, 0x00260057, 0x002A0000, 0x00000009, 0x00140000, 0x00250057, 0x00230057, 0x1087000F, 0x0F000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260068, 0x00900017, 0x00000000, 0x004B0000, 0x00250068, 0x00230068, 0x10400800, 0x00000000, 0x0026005E, 0x00910004, 0x00000000, 0x004B0000, 0x0025005E, 0x0023005E, 0x10401F00, 0x00000000, 0x00260073, 0x00920043, 0x00000000, 0x00FA0000, 0x00250073, 0x00230073, 0x10403B00, 0x00000000, 0x00260080, 0x00930028, 0x00000000, 0x00640000, 0x00250080, 0x00230080, 0x10404C00, 0x00000000, 0x00260061, 0x0094000D, 0x00000000, 0x00640000, 0x00250061, 0x00230061, 0x10402000, 0x00000000, 0x0026007F, 0x0095005C, 0x00000000, 0x00640000, 0x0025007F, 0x0023007F, 0x10404000, 0x00000000, 0x00260087, 0x0096006D, 0x00000000, 0x00640000, 0x00250087, 0x00230087, 0x10404D00, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x0026006A, 0x00980018, 0x00000000, 0x00640000, 0x0025006A, 0x0023006A, 0x10400900, 0x00000000, 0x0026006D, 0x00990021, 0x00000000, 0x00640000, 0x0025006D, 0x0023006D, 0x10403500, 0x00000000, 0x00000000, 0x01400000, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10405300, 0x00000000, 0x0026005C, 0x009C0009, 0x00000000, 0x004B0000, 0x0025005C, 0x0023005C, 0x10402100, 0x00000000, 0x00260097, 0x00A0005B, 0x00000000, 0x004B0000, 0x00250097, 0x00230097, 0x10404100, 0x00000000, 0x00260070, 0x00E30024, 0x00000000, 0x00C80000, 0x00250070, 0x00230070, 0x10403800, 0x00000000, 0x00260069, 0x00A4001D, 0x00000000, 0x004B0000, 0x00250069, 0x00230069, 0x10400A00, 0x00000000, 0x0026005D, 0x00A6000A, 0x00000000, 0x004B0000, 0x0025005D, 0x0023005D, 0x10402200, 0x00000000, 0x00000000, 0x00A80014, 0x00000000, 0x001E0000, 0x00000000, 0x00000000, 0x10400B00, 0x00000000, 0x00260081, 0x00A90055, 0x00000000, 0x00640000, 0x00250081, 0x00230081, 0x10404200, 0x00000000, 0x0026008C, 0x00AA005E, 0x00000000, 0x00640000, 0x0025008C, 0x0023008C, 0x10404300, 0x00000000, 0x0026008D, 0x00AB0070, 0x00000000, 0x001E0000, 0x0025008D, 0x0023008D, 0x10405400, 0x00000000, 0x00260093, 0x00AC0050, 0x00000000, 0x00640000, 0x00250093, 0x00230093, 0x10403C00, 0x00000000, 0x00260078, 0x00AD004F, 0x00000000, 0x00320000, 0x00250078, 0x00230078, 0x10405A00, 0x00000000, 0x00000000, 0x00AE0004, 0x00000000, 0x001E0000, 0x00000000, 0x00000000, 0x10402300, 0x00000000, 0x00260094, 0x00AF006F, 0x00000000, 0x000A0000, 0x00250094, 0x00230094, 0x10404E00, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260086, 0x00B10051, 0x00000000, 0x00320000, 0x00250086, 0x00230086, 0x10405F00, 0x00000000, 0x00260095, 0x00B2005A, 0x00000000, 0x004B0000, 0x00250095, 0x00230095, 0x10403D00, 0x00000000, 0x00260074, 0x00B30046, 0x00000000, 0x00FA0000, 0x00250074, 0x00230074, 0x10404500, 0x00000000, 0x00260096, 0x00B40065, 0x00000000, 0x00320000, 0x00250096, 0x00230096, 0x10406300, 0x00000000, 0x0026009A, 0x00B50065, 0x00000000, 0x00C80000, 0x0025009A, 0x0023009A, 0x10405C00, 0x00000000, 0x00260098, 0x00B60069, 0x00000000, 0x00320000, 0x00250098, 0x00230098, 0x10405D00, 0x00000000, 0x00260079, 0x00B7002A, 0x00000000, 0x00640000, 0x00250079, 0x00230079, 0x10405E00, 0x00000000, 0x00260099, 0x00B8005F, 0x00000000, 0x00640000, 0x00250099, 0x00230099, 0x10404400, 0x00000000, 0x00000000, 0x00B90058, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10406000, 0x00000000, 0x0026009B, 0x00BA0029, 0x00000000, 0x012C0000, 0x0025009B, 0x0023009B, 0x10404F00, 0x00000000, 0x0026009C, 0x00BB0063, 0x00000000, 0x00320000, 0x0025009C, 0x0023009C, 0x10406100, 0x00000000, 0x0026009D, 0x00BC0064, 0x00000000, 0x00320000, 0x0025009D, 0x0023009D, 0x10406E00, 0x00000000, 0x0026007B, 0x00BD003F, 0x00000000, 0x00FA0000, 0x0025007B, 0x0023007B, 0x10406200, 0x00000000, 0x0026006E, 0x00BE0022, 0x00000000, 0x00C80000, 0x0025006E, 0x0023006E, 0x10403600, 0x00000000, 0x00260066, 0x00A7001C, 0x00000000, 0x004B0000, 0x00250066, 0x00230066, 0x10400D00, 0x00000000, 0x0026006C, 0x009B001A, 0x00000000, 0x00C80000, 0x0025006C, 0x0023006C, 0x10400E00, 0x00000000, 0x00260064, 0x009D0015, 0x00000000, 0x00320000, 0x00250064, 0x00230064, 0x10400F00, 0x00000000, 0x0026005A, 0x00A10005, 0x00000000, 0x00320000, 0x0025005A, 0x0023005A, 0x10402500, 0x00000000, 0x00260065, 0x009E0016, 0x00000000, 0x00640000, 0x00250065, 0x00230065, 0x10401100, 0x00000000, 0x0026005B, 0x00A20006, 0x00000000, 0x00640000, 0x0025005B, 0x0023005B, 0x10402700, 0x00000000, 0x00260084, 0x00D10053, 0x00000000, 0x00320000, 0x00250084, 0x00230084, 0x10406400, 0x00000000, 0x00000000, 0x00A3000F, 0x00000000, 0x00320000, 0x00000000, 0x00000000, 0x10402900, 0x00000000, 0x00000000, 0x009F001F, 0x00000000, 0x00320000, 0x00000000, 0x00000000, 0x10401300, 0x00000000, 0x00000000, 0x00D4002D, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10406500, 0x00000000, 0x00260085, 0x00D20052, 0x00000000, 0x00320000, 0x00250085, 0x00230085, 0x10404600, 0x00000000, 0x00260083, 0x00D30054, 0x00000000, 0x00320000, 0x00250083, 0x00230083, 0x10404700, 0x00000000, 0x00260076, 0x00C9004E, 0x00000000, 0x00640000, 0x00250076, 0x00230076, 0x10403E00, 0x00000000, 0x00260082, 0x00C60056, 0x00000000, 0x012C0000, 0x00250082, 0x00230082, 0x10404800, 0x00000000, 0x00000000, 0x00C70057, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10406600, 0x00000000, 0x00260077, 0x00CA004D, 0x00000000, 0x00640000, 0x00250077, 0x00230077, 0x10404900, 0x00000000, 0x0026006B, 0x009A0019, 0x00000000, 0x00960000, 0x0025006B, 0x0023006B, 0x10401400, 0x00000000, 0x00000000, 0x00A5000E, 0x00000000, 0x004B0000, 0x00000000, 0x00000000, 0x10402A00, 0x00000000, 0x00000000, 0x00BF0042, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10406700, 0x00000000, 0x0026007C, 0x00CB0061, 0x00000000, 0x004B0000, 0x0025007C, 0x0023007C, 0x10406800, 0x00000000, 0x0026007D, 0x00CC0062, 0x00000000, 0x004B0000, 0x0025007D, 0x0023007D, 0x10406900, 0x00000000, 0x00260089, 0x00CF006C, 0x00000000, 0x00960000, 0x00250089, 0x00230089, 0x10406A00, 0x00000000, 0x0026008A, 0x00CD006B, 0x00000000, 0x00640000, 0x0025008A, 0x0023008A, 0x10406B00, 0x00000000, 0x0026009E, 0x00D00068, 0x00000000, 0x00C80000, 0x0025009E, 0x0023009E, 0x10406C00, 0x00000000, 0x0026008B, 0x00CE006A, 0x00000000, 0x00320000, 0x0025008B, 0x0023008B, 0x10406D00, 0x00000000, 0x00260088, 0x00C8006E, 0x00000000, 0x00C80000, 0x00250088, 0x00230088, 0x10405000, 0x00000000, 0x00260058, 0x00C00001, 0x00000000, 0x00320000, 0x00250058, 0x00230058, 0x10402B00, 0x00000000, 0x00000000, 0x00C10002, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10402C00, 0x00000000, 0x00260059, 0x00C20003, 0x00000000, 0x00C80000, 0x00250059, 0x00230059, 0x10402D00, 0x00000000, 0x00260062, 0x00C30011, 0x00000000, 0x00320000, 0x00250062, 0x00230062, 0x10401500, 0x00000000, 0x00000000, 0x00C40012, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10401600, 0x00000000, 0x00260063, 0x00C50013, 0x00000000, 0x00C80000, 0x00250063, 0x00230063, 0x10401700, 0x00000000, 0x00260062, 0x01400011, 0x00000000, 0x00320000, 0x00250062, 0x00230062, 0x10401700, 0x00000000, 0x00260062, 0x01400011, 0x00000000, 0x00320000, 0x00250062, 0x00230062, 0x10401700, 0x00000000, 0x0026007E, 0x00E00031, 0x00000000, 0x00320000, 0x0025007E, 0x0023007E, 0x10407100, 0x00000000, 0x00000000, 0x00E10034, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10407200, 0x00000000, 0x00260067, 0x00D8001B, 0x00000000, 0x004B0000, 0x00250067, 0x00230067, 0x10401800, 0x00000000, 0x00000000, 0x0140001E, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10401900, 0x00000000, 0x00000000, 0x00E20027, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10407300, 0x00000000, 0x00260060, 0x00DA000C, 0x00000000, 0x00640000, 0x00250060, 0x00230060, 0x10402E00, 0x00000000, 0x0026005F, 0x00D90008, 0x00000000, 0x004B0000, 0x0025005F, 0x0023005F, 0x10402F00, 0x00000000, 0x00260075, 0x00DB0049, 0x00000000, 0x00960000, 0x00250075, 0x00230075, 0x10403300, 0x00000000, 0x00000000, 0x00DC000B, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10403000, 0x00000000, 0x0026007E, 0x00E00031, 0x00000000, 0x00320000, 0x0025007E, 0x0023007E, 0x10407100, 0x00000000, 0x0026007E, 0x00E00031, 0x00000000, 0x00320000, 0x0025007E, 0x0023007E, 0x10407100, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260079, 0x00B7002A, 0x00000000, 0x00640000, 0x00250079, 0x00230079, 0x10405E00, 0x00000000, 0x00260079, 0x00B7002A, 0x00000000, 0x00640000, 0x00250079, 0x00230079, 0x10405E00, 0x00000000, 0x0026007B, 0x00BD003F, 0x00000000, 0x00FA0000, 0x0025007B, 0x0023007B, 0x10406200, 0x00000000, 0x0026007B, 0x00BD003F, 0x00000000, 0x00FA0000, 0x0025007B, 0x0023007B, 0x10406200, 0x00000000, 0x00260075, 0x00DB0049, 0x00000000, 0x00960000, 0x00250075, 0x00230075, 0x10403300, 0x00000000, 0x00260075, 0x00DB0049, 0x00000000, 0x00960000, 0x00250075, 0x00230075, 0x10403300, 0x00000000, 0x00260073, 0x00920043, 0x00000000, 0x00FA0000, 0x00250073, 0x00230073, 0x10403B00, 0x00000000, 0x00260073, 0x00920043, 0x00000000, 0x00FA0000, 0x00250073, 0x00230073, 0x10403B00, 0x00000000, 0x00260074, 0x00B30046, 0x00000000, 0x00FA0000, 0x00250074, 0x00230074, 0x10404500, 0x00000000, 0x00260074, 0x00B30046, 0x00000000, 0x00FA0000, 0x00250074, 0x00230074, 0x10404500, 0x00000000, 0x0026007A, 0x00DD002E, 0x00000000, 0x00640000, 0x0025007A, 0x0023007A, 0x10407400, 0x00000000, 0x0026007A, 0x00DD002E, 0x00000000, 0x00640000, 0x0025007A, 0x0023007A, 0x10407400, 0x00000000, 0x0026007A, 0x00DD002E, 0x00000000, 0x00640000, 0x0025007A, 0x0023007A, 0x10407400, 0x00000000, 0x0026006F, 0x00E90023, 0x00000000, 0x00640000, 0x0025006F, 0x0023006F, 0x10407500, 0x00000000, 0x0026009F, 0x00E80025, 0x00000000, 0x00640000, 0x0025009F, 0x0023009F, 0x10407600, 0x00000000, 0x0026008E, 0x00EA0073, 0x00000000, 0x001E0000, 0x0025008E, 0x0023008E, 0x10405500, 0x00000000, 0x0026008F, 0x00EB0071, 0x00000000, 0x001E0000, 0x0025008F, 0x0023008F, 0x10405600, 0x00000000, 0x00260090, 0x00EC0074, 0x00000000, 0x001E0000, 0x00250090, 0x00230090, 0x10405700, 0x00000000, 0x00260091, 0x00ED0072, 0x00000000, 0x001E0000, 0x00250091, 0x00230091, 0x10405800, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00000000, 0x00F0005D, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10404A00, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00000000, 0x01490000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x10400000, 0x00000000, 0x00000000, 0x00310000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00320000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x00330000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x00340000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x00350000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x12000000, 0x00000000, 0x00000000, 0x00360000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x12000000, 0x00000000, 0x0026010C, 0x00370000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x12000000, 0x00000000, 0x00000000, 0x01400000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01410000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01420000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01430000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01440000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01450000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01460000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01470000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01480000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014A0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014B0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014C0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014D0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014E0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014F0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01500000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x800827D8, 0x80082808, 0x80082838, 0x80082868, 0x80082898, 0x800828C8, 0x800828F8, 0x80082928, 0x80082958, 0x80082988, 0x800829B8, 0x800829E8, 0x80082A18, 0x80082A48, 0x80082A78, 0x80082AA8, 0x80082AD8, 0x80082B08, 0x80082B38, 0x80082B68, 0x80082B98, 0x80082BC8, 0x80082BF8, 0x80082C28, 0x80082C58, 0x80082C88, 0x80082CB8, 0x80082CE8, 0x80082D18, 0x80082D48, 0x80082D78, 0x80082DA8, 0x80082DD8, 0x80082E08, 0x80082E38, 0x80082E68, 0x80082E98, 0x80082EC8, 0x80082EF8, 0x80082F28, 0x80082F58, 0x80082F88, 0x80082FB8, 0x80082FE8, 0x80083018, 0x80083048, 0x80083078, 0x800830A8, 0x800830D8, 0x80083108, 0x80083138, 0x80083168, 0x80083198, 0x800831C8, 0x800831F8, 0x80083228, 0x80083258, 0x80083288, 0x800832B8, 0x800832E8, 0x80083318, 0x80083348, 0x80083378, 0x800833A8, 0x800833D8, 0x80083408, 0x80083438, 0x80083468, 0x80083498, 0x800834C8, 0x800834F8, 0x80083528, 0x80083558, 0x80083588, 0x800835B8, 0x800835E8, 0x80083618, 0x80083648, 0x80083678, 0x800836A8, 0x800836D8, 0x80083708, 0x80083738, 0x80083768, 0x80083798, 0x800837C8, 0x800837F8, 0x80083828, 0x80083858, 0x80083888, 0x800838B8, 0x800838E8, 0x80083918, 0x80083948, 0x80083978, 0x800839A8, 0x80080820, 0x80080820, 0x80080868, 0x80080868, 0x800807F0, 0x800807F0, 0x80080FF0, 0x80080FF0, 0x800811A0, 0x800811A0, 0x80081200, 0x80081200, 0x80081260, 0x80081260, 0x800812D8, 0x800812D8, 0x80081308, 0x80081308, 0x80081338, 0x80081338, 0x80081368, 0x80081368, 0x80081398, 0x80081398, 0x800813C8, 0x800813C8, 0x800813F8, 0x800813F8, 0x80081428, 0x80081428, 0x80081458, 0x80081458, 0x80081488, 0x80081488, 0x800814B8, 0x800814B8, 0x800814E8, 0x800814E8, 0x80081518, 0x80081518, 0x80081548, 0x80081548, 0x80081578, 0x80081578, 0x800815A8, 0x800815A8, 0x800815D8, 0x800815D8, 0x80081608, 0x80081608, 0x80081638, 0x80081638, 0x80081668, 0x80081668, 0x80081698, 0x80081698, 0x800816C8, 0x800816C8, 0x800816F8, 0x800816F8, 0x80081728, 0x80081728, 0x80081758, 0x80081758, 0x80081788, 0x80081788, 0x800817B8, 0x800817B8, 0x800817E8, 0x800817E8, 0x80081818, 0x80081818, 0x80081848, 0x80081848, 0x80081878, 0x80081878, 0x800818A8, 0x800818A8, 0x800818D8, 0x800818D8, 0x80081908, 0x80081908, 0x80081938, 0x80081938, 0x80081968, 0x80081968, 0x80081998, 0x80081998, 0x800819C8, 0x800819C8, 0x800819F8, 0x800819F8, 0x80081A28, 0x80081A28, 0x80081A58, 0x80081A58, 0x80081A88, 0x80081A88, 0x80081AB8, 0x80081AB8, 0x80081AE8, 0x80081AE8, 0x80081B18, 0x80081B18, 0x80081B48, 0x80081B48, 0x80081B78, 0x80081B78, 0x80081BA8, 0x80081BA8, 0x80081BD8, 0x80081BD8, 0x80081C08, 0x80081C08, 0x80081C38, 0x80081C38, 0x80081C68, 0x80081C68, 0x80081C98, 0x80081C98, 0x80081CC8, 0x80081CC8, 0x80081CF8, 0x80081CF8, 0x80081D28, 0x80081D28, 0x80081D58, 0x80081D58, 0x80081D88, 0x80081D88, 0x80081DB8, 0x80081DB8, 0x80081DE8, 0x80081DE8, 0x80081E18, 0x80081E18, 0x80081E48, 0x80081E48, 0x80081E78, 0x80081E78, 0x80081EA8, 0x80081EA8, 0x80081ED8, 0x80081ED8, 0x80081F08, 0x80081F08, 0x80081F38, 0x80081F38, 0x80081F68, 0x80081F68, 0x80081F98, 0x80081F98, 0x80081FC8, 0x80081FC8, 0x80081FF8, 0x80081FF8, 0x80082028, 0x80082028, 0x80082058, 0x80082058, 0x80082088, 0x80082088, 0x800820B8, 0x800820B8, 0x800820E8, 0x800820E8, 0x80082118, 0x80082118, 0x80082148, 0x80082148, 0x80082178, 0x80082178, 0x800821A8, 0x800821A8, 0x800821D8, 0x80082208, 0x80082238, 0x80082268, 0x80082298, 0x800822C8, 0x800822F8, 0x80082328, 0x80082358, 0x80082388, 0x800823B8, 0x800823E8, 0x80082418, 0x80082448, 0x80082478, 0x800824A8, 0x800839D8, 0x80083A08, 0x80083A38, 0x80083A68, 0x80083A98, 0x80083AC8, 0x80083AF8, 0x80083B28, 0x80083B58, 0x80083B88, 0x80083BB8, 0x80083BE8, 0x80083C18, 0x80083C48, 0x80083C78, 0x80083CA8, 0x80083CD8, 0x80083D08, 0x80083D38, 0x80083D68, 0x80083D98, 0x80083DC8, 0x80083DF8, 0x80083E28, 0x80083E58, 0x80083E88, 0x80083EB8, 0x80083EE8, 0x80083F18, 0x80083F48, 0x80083F78, 0x80083FA8, 0x80083FD8, 0x80084008, 0x80084038, 0x80084068, 0x80084098, 0x800840C8, 0x800840F8, 0x80084128, 0x80084158, 0x80084188, 0x800841B8, 0x800841E8, 0x80084218, 0x80084248, 0x80084278, 0x800842A8, 0x800842D8, 0x80084308, 0x80084338, 0x80084368, 0x80084398, 0x800843C8, 0x800843F8, 0x80084428, 0x80084458, 0x80084488, 0x800844B8, 0x800844E8, 0x80084518, 0x80084548, 0x80084578, 0x800845A8, 0x800845D8, 0x80084608, 0x80084638, 0x80084668, 0x80084698, 0x800846C8, 0x800846F8, 0x80084728, 0x80084758, 0x80084788, 0x800847B8, 0x800847E8, 0x80084818, 0x80084848, 0x80084878, 0x800848A8, 0x800848D8, 0x80084908, 0x80084938, 0x80084968, 0x80084998, 0x800849C8, 0x800849F8, 0x80084A28, 0x80084A58, 0x80084A88, 0x80084AB8, 0x80084AE8, 0x80084B18, 0x80084B48, 0x80084B78, 0x80084BA8, 0x80084BD8, 0x80084C08, 0x80084C38, 0x80084C68, 0x80084C98, 0x80084CC8, 0x80084CF8, 0x80084D28, 0x80084D58, 0x80084D88, 0x80084DB8, 0x80084DE8, 0x80084E18, 0x80084E48, 0x80084E78, 0x80084EA8, 0x80084ED8, 0x80084F08, 0x80084F38, 0x80084F68, 0x80084F98, 0x80084FC8, 0x80084FF8, 0x80085028, 0x80085058, 0x80085088, 0x800850B8, 0x800850E8, 0x80085118, 0x80085148, 0x80085178, 0x800851A8, 0x800851D8, 0x80085208, 0x80085238, 0x80085268, 0x80085298, 0x800852C8, 0x800852F8, 0x80085328, 0x80085358, 0x80085388, 0x800853B8, 0x800853E8, 0x80085418, 0x80085448, 0x80085478, 0x800854A8, 0x800854D8, 0x80085508, 0x80085538, 0x80085568, 0x80085598, 0x800855C8, 0x800855F8, 0x80085628, 0x80085658, 0x80085688, 0x800856B8, 0x800856E8, 0x80085718, 0x80085748, 0x80085778, 0x800857A8, 0x800857D8, 0x80085808, 0x80085838, 0x80085868, 0x80085898, 0x800858C8, 0x800858F8, 0x80085928, 0x80085958, 0x80085988, 0x800859B8, 0x800859E8, 0x80085A18, 0x80085A48, 0x80085A78, 0x80085AA8, 0x80085AD8, 0x80085B08, 0x80085B38, 0x80085B68, 0x80085B98, 0x80085BC8, 0x80085BF8, 0x80085C28, 0x80085C58, 0x80085C88, 0x80085CB8, 0x80085CE8, 0x80085D18, 0x80085D48, 0x80085D78, 0x80085DA8, 0x80085DD8, 0x80085E08, 0x80085E38, 0x80085E68, 0x80085E98, 0x80085EC8, 0x80085EF8, 0x80085F28, 0x80085F58, 0x80085F88, 0x80085FB8, 0x80085FE8, 0x80086018, 0x80086048, 0x80086078, 0x800860A8, 0x800866D8, 0x80086708, 0x80086738, 0x80086768, 0x80086798, 0x800867C8, 0x800867F8, 0x80086828, 0x80086858, 0x80086888, 0x800868B8, 0x800868E8, 0x80086918, 0x80086948, 0x80086978, 0x800869A8, 0x800869D8, 0x80086A08, 0x80086A38, 0x80086A68, 0x80086A98, 0x80086AC8, 0x80086AF8, 0x80086B28, 0x80086B58, 0x80086B88, 0x80086BB8, 0x80086BE8, 0x80086C18, 0x80086C48, 0x80086C78, 0x80086CA8, 0x80086CD8, 0x80086D08, 0x80086D38, 0x80086D68, 0x80086D98, 0x80086DC8, 0x80086DF8, 0x80086E28, 0x80086E58, 0x80086E88, 0x80086EB8, 0x80086EE8, 0x80086F18, 0x80086F48, 0x80086F78, 0x80086FA8, 0x80086FD8, 0x80087008, 0x80087038, 0x80087068, 0x80087098, 0x800870C8, 0x800870F8, 0x80087128, 0x80087158, 0x80087188, 0x800871B8, 0x800871E8, 0x80087218, 0x80087248, 0x80087278, 0x800872A8, 0x800872D8, 0x80087308, 0x80087338, 0x80087368, 0x80087398, 0x800873C8, 0x800873F8, 0x80087428, 0x80087458, 0x80087488, 0x800874B8, 0x800874E8, 0x80087518, 0x80087548, 0x80087578, 0x800875A8, 0x800860D8, 0x80086108, 0x80086138, 0x80086168, 0x80086198, 0x800861C8, 0x800861F8, 0x80086228, 0x80086258, 0x80086288, 0x800862B8, 0x800862E8, 0x80086318, 0x80086348, 0x80086378, 0x800863A8, 0x800863D8, 0x80086408, 0x80086438, 0x80086468, 0x80086498, 0x800864C8, 0x800864F8, 0x80086528, 0x80086558, 0x80086588, 0x800865B8, 0x800865E8, 0x80086618, 0x80086648, 0x80086678, 0x800866A8, 0x800875D8, 0x80087608, 0x80087638, 0x80087668, 0x80087698, 0x800876C8, 0x800876F8, 0x80087728, 0x80087758, 0x80087788, 0x800877B8, 0x800877E8, 0x80087818, 0x80087848, 0x80087878, 0x800878A8, 0x800824D8, 0x80082508, 0x80082538, 0x80082568, 0x80082598, 0x800825C8, 0x800825F8, 0x80082628, 0x80082658, 0x80082688, 0x800826B8, 0x800826E8, 0x80082718, 0x80082748, 0x80082778, 0x800827A8, 0x800804F0, 0x800804F0, 0x80080520, 0x80080520, 0x80080550, 0x80080550, 0x80080580, 0x80080580, 0x800805B0, 0x800805B0, 0x800805E0, 0x800805E0, 0x80080610, 0x80080610, 0x80080640, 0x80080640, 0x80080670, 0x80080670, 0x80109338, 0x801093D8, 0x800806A0, 0x800806A0, 0x800806D0, 0x800806D0, 0x80080700, 0x80080700, 0x80080730, 0x80080730, 0x80080760, 0x80080760, 0x80080790, 0x80080790, 0x800807C0, 0x800807C0, 0x00000001, 0x000000FF, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000220, 0x00000420, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000440, 0x00000640, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000660, 0x00000860, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000880, 0x00000A80, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000AA0, 0x00000CA0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000CC0, 0x00000EC0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000EE0, 0x000010E0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00001100, 0x00001300, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002D940, 0x0002DB40, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002DB80, 0x0002DD80, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002DDC0, 0x0002DFC0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E000, 0x0002E200, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E240, 0x0002E440, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E480, 0x0002E680, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E6C0, 0x0002E8C0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x0000003C, 0x00013BC0, 0x00013DC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013E00, 0x00014000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014040, 0x00014240, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014280, 0x00014480, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000144C0, 0x000146C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014700, 0x00014900, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014940, 0x00014B40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014B80, 0x00014D80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001320, 0x00001520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001540, 0x00001740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001760, 0x00001960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001980, 0x00001B80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001BA0, 0x00001DA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001DC0, 0x00001FC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001FE0, 0x000021E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002200, 0x00002400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009020, 0x00009220, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009240, 0x00009440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009460, 0x00009660, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009680, 0x00009880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000098A0, 0x00009AA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009AC0, 0x00009CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009CE0, 0x00009EE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009F00, 0x0000A100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A120, 0x0000A320, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A340, 0x0000A540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A560, 0x0000A760, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A780, 0x0000A980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A9A0, 0x0000ABA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000ABC0, 0x0000ADC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000ADE0, 0x0000AFE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B000, 0x0000B200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B220, 0x0000B420, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B440, 0x0000B640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B660, 0x0000B860, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B880, 0x0000BA80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000BAA0, 0x0000BCA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000BCC0, 0x0000BEC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000BEE0, 0x0000C0E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C100, 0x0000C300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C320, 0x0000C520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C540, 0x0000C740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C760, 0x0000C960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C980, 0x0000CB80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000CBA0, 0x0000CDA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000CDC0, 0x0000CFC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000CFE0, 0x0000D1E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D200, 0x0000D400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D420, 0x0000D620, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D640, 0x0000D840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D860, 0x0000DA60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000DAA0, 0x0000DCA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000DCC0, 0x0000DEC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000DEE0, 0x0000E0E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E100, 0x0000E300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E320, 0x0000E520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E540, 0x0000E740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E760, 0x0000E960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E980, 0x0000EB80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000EBC0, 0x0000EDC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000EDE0, 0x0000EFE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F000, 0x0000F200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F220, 0x0000F420, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F440, 0x0000F640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F660, 0x0000F860, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F880, 0x0000FA80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000FAA0, 0x0000FCA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000FCE0, 0x0000FEE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000FF00, 0x00010100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010120, 0x00010320, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010340, 0x00010540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010560, 0x00010760, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010780, 0x00010980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000109A0, 0x00010BA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010BC0, 0x00010DC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010E00, 0x00011000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011020, 0x00011220, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011240, 0x00011440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011460, 0x00011660, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011680, 0x00011880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000118A0, 0x00011AA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011AC0, 0x00011CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011CE0, 0x00011EE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011F20, 0x00012120, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012140, 0x00012340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012360, 0x00012560, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012580, 0x00012780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000127A0, 0x000129A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000129C0, 0x00012BC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012C00, 0x00012E00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012E40, 0x00013040, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013080, 0x00013280, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000132C0, 0x000134C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013500, 0x00013700, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013740, 0x00013940, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013980, 0x00013B80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014DC0, 0x00014FC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015000, 0x00015200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015240, 0x00015440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015480, 0x00015680, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000156C0, 0x000158C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015900, 0x00015B00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015B40, 0x00015D40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015D80, 0x00015F80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015FC0, 0x000161C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016200, 0x00016400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016440, 0x00016640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016680, 0x00016880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000168C0, 0x00016AC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016B00, 0x00016D00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016D40, 0x00016F40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016F80, 0x00017180, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000171C0, 0x000173C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017400, 0x00017600, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017640, 0x00017840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017880, 0x00017A80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017AC0, 0x00017CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017D00, 0x00017F00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017F40, 0x00018140, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018180, 0x00018380, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000183C0, 0x000185C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018600, 0x00018800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018840, 0x00018A40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018A80, 0x00018C80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018CC0, 0x00018EC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018F00, 0x00019100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019140, 0x00019340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019380, 0x00019580, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000195C0, 0x000197C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019800, 0x00019A00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019A40, 0x00019C40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019C80, 0x00019E80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019EC0, 0x0001A0C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A100, 0x0001A300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A340, 0x0001A540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A580, 0x0001A780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A7C0, 0x0001A9C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001AA00, 0x0001AC00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001AC40, 0x0001AE40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001AE80, 0x0001B080, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B0C0, 0x0001B2C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B300, 0x0001B500, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B540, 0x0001B740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B780, 0x0001B980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B9C0, 0x0001BBC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001BC00, 0x0001BE00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001BE40, 0x0001C040, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C080, 0x0001C280, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C2C0, 0x0001C4C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C500, 0x0001C700, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C740, 0x0001C940, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C980, 0x0001CB80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001CBC0, 0x0001CDC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001CE00, 0x0001D000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D040, 0x0001D240, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D280, 0x0001D480, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D4C0, 0x0001D6C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D700, 0x0001D900, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D940, 0x0001DB40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001DB80, 0x0001DD80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001DDC0, 0x0001DFC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E000, 0x0001E200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E240, 0x0001E440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E480, 0x0001E680, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E6C0, 0x0001E8C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E900, 0x0001EB00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001EB40, 0x0001ED40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001ED80, 0x0001EF80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001EFC0, 0x0001F1C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F200, 0x0001F400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F440, 0x0001F640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F680, 0x0001F880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F8C0, 0x0001FAC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001FB00, 0x0001FD00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001FD40, 0x0001FF40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001FF80, 0x00020180, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000201C0, 0x000203C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020400, 0x00020600, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020640, 0x00020840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020880, 0x00020A80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020AC0, 0x00020CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020D00, 0x00020F00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020F40, 0x00021140, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021180, 0x00021380, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000213C0, 0x000215C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021600, 0x00021800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021840, 0x00021A40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021A80, 0x00021C80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021CC0, 0x00021EC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021F00, 0x00022100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022140, 0x00022340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022380, 0x00022580, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000225C0, 0x000227C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022800, 0x00022A00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022A40, 0x00022C40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022C80, 0x00022E80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022EC0, 0x000230C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023100, 0x00023300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023340, 0x00023540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023580, 0x00023780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000000A, 0x00030A60, 0x00030B80, 0x00000000, 0x00000000, 0x00000001, 0x00000006, 0x00030BA0, 0x00030CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000003, 0x00000001, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000004, 0x00000064, 0x00000032, 0x00000001, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x0002F840, 0x0002F960, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x0002F980, 0x0002FAA0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00030CE0, 0x00030E00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000002, 0x00030E20, 0x00030F40, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00030F60, 0x00031080, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000310A0, 0x000311C0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000311E0, 0x00031300, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00031320, 0x00031440, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00031460, 0x00031580, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000315A0, 0x000316C0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000316E0, 0x00031800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000008, 0x0002E900, 0x0002EB00, 0x00000000, 0x00000000, 0x00000001, 0x00000005, 0x0002EB20, 0x0002ED20, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x0002ED40, 0x0002EF40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000008, 0x0002EF60, 0x0002F160, 0x00000000, 0x00000000, 0x00000001, 0x00000005, 0x0002F180, 0x0002F380, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x0002F3A0, 0x0002F5A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000000C, 0x00030400, 0x00030600, 0x00000000, 0x00000000, 0x00000001, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x00000001, 0x0000000C, 0x00030840, 0x00030A40, 0x00000000, 0x00000000, 0x00000001, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002420, 0x00002620, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002660, 0x00002860, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000028A0, 0x00002AA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002AE0, 0x00002CE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002D20, 0x00002F20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002F60, 0x00003160, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000031A0, 0x000033A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000033E0, 0x000035E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003620, 0x00003820, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003860, 0x00003A60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003AA0, 0x00003CA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003CE0, 0x00003EE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003F20, 0x00004120, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004160, 0x00004360, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000043A0, 0x000045A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000045E0, 0x000047E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004820, 0x00004A20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004A60, 0x00004C60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004CA0, 0x00004EA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004EE0, 0x000050E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005120, 0x00005320, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005360, 0x00005560, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000055A0, 0x000057A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000057E0, 0x000059E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005A20, 0x00005C20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005C60, 0x00005E60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005EA0, 0x000060A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000060E0, 0x000062E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006320, 0x00006520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006560, 0x00006760, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000067A0, 0x000069A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000069E0, 0x00006BE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006C20, 0x00006E20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006E60, 0x00007060, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000070A0, 0x000072A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000072E0, 0x000074E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007520, 0x00007720, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007760, 0x00007960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000079A0, 0x00007BA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007BE0, 0x00007DE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007E20, 0x00008020, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008060, 0x00008260, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000082A0, 0x000084A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000084E0, 0x000086E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008720, 0x00008920, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008960, 0x00008B60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008BA0, 0x00008DA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008DE0, 0x00008FE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A3C0, 0x0002A5C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A600, 0x0002A800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A840, 0x0002AA40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002AA80, 0x0002AC80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002ACC0, 0x0002AEC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002AF00, 0x0002B100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B140, 0x0002B340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B380, 0x0002B580, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B5C0, 0x0002B7C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B800, 0x0002BA00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002BA40, 0x0002BC40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002BC80, 0x0002BE80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002BEC0, 0x0002C0C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002C100, 0x0002C300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002C340, 0x0002C540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002C580, 0x0002C780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000237C0, 0x000239C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023A00, 0x00023C00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023C40, 0x00023E40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023E80, 0x00024080, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000240C0, 0x000242C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024300, 0x00024500, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024540, 0x00024740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024780, 0x00024980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000249C0, 0x00024BC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024C00, 0x00024E00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024E40, 0x00025040, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025080, 0x00025280, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000252C0, 0x000254C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025500, 0x00025700, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025740, 0x00025940, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025980, 0x00025B80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025BC0, 0x00025DC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025E00, 0x00026000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026040, 0x00026240, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026280, 0x00026480, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000264C0, 0x000266C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026700, 0x00026900, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026940, 0x00026B40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026B80, 0x00026D80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026DC0, 0x00026FC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027000, 0x00027200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027240, 0x00027440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027480, 0x00027680, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000276C0, 0x000278C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027900, 0x00027B00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027B40, 0x00027D40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027D80, 0x00027F80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027FC0, 0x000281C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028200, 0x00028400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028440, 0x00028640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028680, 0x00028880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000288C0, 0x00028AC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028B00, 0x00028D00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028D40, 0x00028F40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028F80, 0x00029180, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000291C0, 0x000293C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029400, 0x00029600, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029640, 0x00029840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029880, 0x00029A80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029AC0, 0x00029CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029D00, 0x00029F00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029F40, 0x0002A140, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A180, 0x0002A380, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x8008B108, 0x8008B3E4, 0x8008B404, 0x8008B424, 0x8008B444, 0x8008B464, 0x8008B484, 0x8008B4A4, 0x8008B108, 0x8008B108, 0x8008BBE4, 0x8008BC04, 0x8008BC24, 0x8008BC44, 0x8008BC64, 0x8008B924, 0x8008B4E4, 0x8008B504, 0x8008B5C4, 0x8008B524, 0x8008B544, 0x8008B664, 0x8008B624, 0x8008B644, 0x8008B604, 0x8008B5A4, 0x8008B564, 0x8008B684, 0x8008B6E4, 0x8008B704, 0x8008B884, 0x8008B724, 0x8008B744, 0x8008B764, 0x8008B6C4, 0x8008B784, 0x8008B7A4, 0x8008B7C4, 0x8008B7E4, 0x8008BC84, 0x8008B984, 0x8008B9A4, 0x8008B9C4, 0x8008B804, 0x8008B824, 0x8008B844, 0x8008B864, 0x8008B944, 0x8008B964, 0x8008B9E4, 0x8008BA04, 0x8008BA24, 0x8008BA44, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008B5E4, 0x8008BDE4, 0x8008BDE4, 0x8008B584, 0x8008B8A4, 0x8008B8C4, 0x8008B8E4, 0x8008B904, 0x8008B604, 0x8008BD04, 0x8008DB94, 0x8008DB74, 0x8008DBB4, 0x8008DBD4, 0x8008DBF4, 0x8008DC14, 0x8008DC34, 0x8008DC54, 0x8008DC74, 0x8008DC94, 0x8008BAC4, 0x8008BAA4, 0x8008BAE4, 0x8008BB44, 0x8008B744, 0x8008BB04, 0x8008BB24, 0x8008BCE4, 0x8008BD24, 0x8008BD44, 0x8008BD64, 0x8008BD84, 0x8008BDA4, 0x8008BDC4, 0x8008BDA4, 0x8008BA64, 0x8008BA84, 0x8008BB44, 0x8008B744, 0x8008B744, 0x8008BCC4, 0x8008BCA4, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008D5D4, 0x8008D5F4, 0x8008D614, 0x8008D654, 0x8008D634, 0x8008D694, 0x8008D674, 0x8008B384, 0x8008D6D4, 0x8008D874, 0x8008D7D4, 0x8008D6F4, 0x8008D7F4, 0x8008D854, 0x8008D814, 0x8008DCD4, 0x8008DD14, 0x8008DD34, 0x8008DD54, 0x8008DB34, 0x8008DB54, 0x8008D834, 0x8008B344, 0x8008B364, 0x8008B324, 0x8008B2E4, 0x8008DD74, 0x8008D894, 0x8008D9B4, 0x8008D994, 0x8008D8B4, 0x8008D8D4, 0x8008D8F4, 0x8008D914, 0x8008DB14, 0x8008DAF4, 0x8008DAD4, 0x8008D934, 0x8008D954, 0x8008D974, 0x8008D9D4, 0x8008D9F4, 0x8008DA14, 0x8008DA34, 0x8008DA54, 0x8008DA74, 0x8008DA94, 0x8008DAB4, 0x8008CFD4, 0x8008CFF4, 0x8008D014, 0x8008D034, 0x8008D054, 0x8008D074, 0x8008D094, 0x8008D0B4, 0x8008D0D4, 0x8008D0F4, 0x8008D114, 0x8008D174, 0x8008D134, 0x8008D154, 0x8008D194, 0x8008D1B4, 0x8008D1D4, 0x8008D1F4, 0x8008D214, 0x8008D234, 0x8008D254, 0x8008D274, 0x8008D294, 0x8008D2B4, 0x8008D2D4, 0x8008D2F4, 0x8008D314, 0x8008D334, 0x8008D354, 0x8008D374, 0x8008D394, 0x8008D3B4, 0x8008D3D4, 0x8008D3F4, 0x8008D414, 0x8008D434, 0x8008D454, 0x8008D474, 0x8008D494, 0x8008D4B4, 0x8008D4D4, 0x8008D4F4, 0x8008D514, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008BEE4, 0x8008BF04, 0x8008BF24, 0x8008BF44, 0x8008BF64, 0x8008BF84, 0x8008BFA4, 0x8008BFC4, 0x8008BFE4, 0x8008C004, 0x8008B108, 0x8008C064, 0x8008C0E4, 0x8008C944, 0x8008C164, 0x8008C1A4, 0x8008C1E4, 0x8008C204, 0x8008C224, 0x8008C244, 0x8008C264, 0x8008C284, 0x8008C2A4, 0x8008C2C4, 0x8008C2E4, 0x8008C304, 0x8008C324, 0x8008C344, 0x8008C364, 0x8008C384, 0x8008C3A4, 0x8008C3C4, 0x8008C3E4, 0x8008C404, 0x8008C424, 0x8008C444, 0x8008C464, 0x8008C484, 0x8008C4A4, 0x8008C1C4, 0x8008C044, 0x8008C084, 0x8008C104, 0x8008C0A4, 0x8008C124, 0x8008C704, 0x8008C144, 0x8008C0C4, 0x8008C764, 0x8008C724, 0x8008C744, 0x8008C604, 0x8008C5A4, 0x8008C5C4, 0x8008C624, 0x8008C024, 0x8008C184, 0x8008C4C4, 0x8008C644, 0x8008C664, 0x8008C6C4, 0x8008C684, 0x8008C6E4, 0x8008C6A4, 0x8008C5E4, 0x8008C4E4, 0x8008C504, 0x8008C524, 0x8008C544, 0x8008C564, 0x8008C584, 0x8008B108, 0x8008B108, 0x8008C8E4, 0x8008C904, 0x8008C7E4, 0x8008B108, 0x8008C924, 0x8008C824, 0x8008C804, 0x8008C844, 0x8008C864, 0x8008C8E4, 0x8008C904, 0x8008BFC4, 0x8008C2E4, 0x8008C3C4, 0x8008C3C4, 0x8008C484, 0x8008C484, 0x8008C844, 0x8008C844, 0x8008BF24, 0x8008BF24, 0x8008C344, 0x8008C344, 0x8008C884, 0x8008C884, 0x8008C884, 0x8008CA04, 0x8008C9E4, 0x8008CA24, 0x8008CA44, 0x8008CA64, 0x8008CA84, 0x8008CAA4, 0x8008BFC4, 0x8008BFC4, 0x8008BFC4, 0x8008C2E4, 0x8008C2E4, 0x8008C2E4, 0x8008CAE4, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008CBE4, 0x8008CC1C, 0x8008CDE4, 0x8008CE04, 0x8008CECC, 0x8008CF1C, 0x8008CF6C, 0x8008B124, 0x8008B140, 0x8008B15C, 0x8008B178, 0x8008B194, 0x8008B1B0, 0x8008B1CC, 0x8008B1E8, 0x8008B204, 0x8008B220, 0x8008B23C, 0x8008B258, 0x8008B274, 0x8008B290, 0x8008B2AC, 0x8008B2C8, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x00000000, 0x00001320, 0x00001540, 0x00001760, 0x00001980, 0x00001BA0, 0x00001DC0, 0x00001FE0, 0x00000000, 0x00000000, 0x00010780, 0x000109A0, 0x00010BC0, 0x00010E00, 0x00011020, 0x0000D860, 0x00009020, 0x00009240, 0x00009F00, 0x00009460, 0x00009680, 0x0000A9A0, 0x0000A560, 0x0000A780, 0x0000A340, 0x00009CE0, 0x000098A0, 0x0000ABC0, 0x0000B220, 0x0000B440, 0x0000CDC0, 0x0000B660, 0x0000B880, 0x0000BAA0, 0x0000B000, 0x0000BCC0, 0x0000BEE0, 0x0000C100, 0x0000C320, 0x00011240, 0x0000DEE0, 0x0000E100, 0x0000E320, 0x0000C540, 0x0000C760, 0x0000C980, 0x0000CBA0, 0x0000DAA0, 0x0000DCC0, 0x0000E540, 0x0000E760, 0x0000E980, 0x0000EBC0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x0000A120, 0x000129C0, 0x000129C0, 0x00009AC0, 0x0000CFE0, 0x0000D200, 0x0000D420, 0x0000D640, 0x0000A340, 0x00011AC0, 0x00027B40, 0x00027900, 0x00027D80, 0x00027FC0, 0x00028200, 0x00028440, 0x00028680, 0x000288C0, 0x00028B00, 0x00028D40, 0x0000F440, 0x0000F220, 0x0000F660, 0x0000FCE0, 0x0000B880, 0x0000F880, 0x0000FAA0, 0x000118A0, 0x00011CE0, 0x00011F20, 0x00012140, 0x00012360, 0x00012580, 0x000127A0, 0x00012580, 0x0000EDE0, 0x0000F000, 0x0000FCE0, 0x0000B880, 0x0000B880, 0x00011680, 0x00011460, 0x00000000, 0x00000000, 0x00000000, 0x0002A3C0, 0x0002A600, 0x0002A840, 0x0002ACC0, 0x0002AA80, 0x0002B140, 0x0002AF00, 0x00014700, 0x0002B5C0, 0x00024300, 0x000237C0, 0x0002B800, 0x00023A00, 0x000240C0, 0x00023C40, 0x000291C0, 0x00029640, 0x00029880, 0x00029AC0, 0x00027480, 0x000276C0, 0x00023E80, 0x00014280, 0x000144C0, 0x00014040, 0x00013BC0, 0x00029D00, 0x00024540, 0x00025980, 0x00025740, 0x00024780, 0x000249C0, 0x00024C00, 0x00024E40, 0x00027240, 0x00027000, 0x00026DC0, 0x00025080, 0x000252C0, 0x00025500, 0x00025BC0, 0x00025E00, 0x00026040, 0x00026280, 0x000264C0, 0x00026700, 0x00026940, 0x00026B80, 0x00002420, 0x00002660, 0x000028A0, 0x00002AE0, 0x00002D20, 0x00002F60, 0x000031A0, 0x000033E0, 0x00003620, 0x00003860, 0x00003AA0, 0x00004160, 0x00003CE0, 0x00003F20, 0x000043A0, 0x000045E0, 0x00004820, 0x00004A60, 0x00004CA0, 0x00004EE0, 0x00005120, 0x00005360, 0x000055A0, 0x000057E0, 0x00005A20, 0x00005C60, 0x00005EA0, 0x000060E0, 0x00006320, 0x00006560, 0x000067A0, 0x000069E0, 0x00006C20, 0x00006E60, 0x000070A0, 0x000072E0, 0x00007520, 0x00007760, 0x000079A0, 0x00007BE0, 0x00007E20, 0x00008060, 0x000082A0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00014DC0, 0x00015000, 0x00015240, 0x00015480, 0x000156C0, 0x00015900, 0x00015B40, 0x00015D80, 0x00015FC0, 0x00016200, 0x00000000, 0x000168C0, 0x000171C0, 0x00020880, 0x00017AC0, 0x00017F40, 0x000183C0, 0x00018600, 0x00018840, 0x00018A80, 0x00018CC0, 0x00018F00, 0x00019140, 0x00019380, 0x000195C0, 0x00019800, 0x00019A40, 0x00019C80, 0x00019EC0, 0x0001A100, 0x0001A340, 0x0001A580, 0x0001A7C0, 0x0001AA00, 0x0001AC40, 0x0001AE80, 0x0001B0C0, 0x0001B300, 0x0001B540, 0x00018180, 0x00016680, 0x00016B00, 0x00017400, 0x00016D40, 0x00017640, 0x0001E000, 0x00017880, 0x00016F80, 0x0001E6C0, 0x0001E240, 0x0001E480, 0x0001CE00, 0x0001C740, 0x0001C980, 0x0001D040, 0x00016440, 0x00017D00, 0x0001B780, 0x0001D280, 0x0001D4C0, 0x0001DB80, 0x0001D700, 0x0001DDC0, 0x0001D940, 0x0001CBC0, 0x0001B9C0, 0x0001BC00, 0x0001BE40, 0x0001C080, 0x0001C2C0, 0x0001C500, 0x00000000, 0x00000000, 0x000201C0, 0x00020400, 0x0001EFC0, 0x00000000, 0x00020640, 0x0001F440, 0x0001F200, 0x0001F680, 0x0001F8C0, 0x000201C0, 0x00020400, 0x00015D80, 0x000195C0, 0x0001A580, 0x0001A580, 0x0001B300, 0x0001B300, 0x0001F680, 0x0001F680, 0x00015240, 0x00015240, 0x00019C80, 0x00019C80, 0x0001FB00, 0x0001FB00, 0x0001FB00, 0x00021600, 0x000213C0, 0x00021840, 0x00021A80, 0x00021CC0, 0x00021F00, 0x00022140, 0x00015D80, 0x00015D80, 0x00015D80, 0x000195C0, 0x000195C0, 0x000195C0, 0x000225C0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00030A60, 0x0002F5C0, 0x00030CE0, 0x00030E20, 0x0002E900, 0x0002EF60, 0x00030400, 0x00000200, 0x00001520, 0x00001740, 0x00001960, 0x00001B80, 0x00001DA0, 0x00001FC0, 0x000021E0, 0x00000200, 0x00000200, 0x00010980, 0x00010BA0, 0x00010DC0, 0x00011000, 0x00011220, 0x0000DA60, 0x00009220, 0x00009440, 0x0000A100, 0x00009660, 0x00009880, 0x0000ABA0, 0x0000A760, 0x0000A980, 0x0000A540, 0x00009EE0, 0x00009AA0, 0x0000ADC0, 0x0000B420, 0x0000B640, 0x0000CFC0, 0x0000B860, 0x0000BA80, 0x0000BCA0, 0x0000B200, 0x0000BEC0, 0x0000C0E0, 0x0000C300, 0x0000C520, 0x00011440, 0x0000E0E0, 0x0000E300, 0x0000E520, 0x0000C740, 0x0000C960, 0x0000CB80, 0x0000CDA0, 0x0000DCA0, 0x0000DEC0, 0x0000E740, 0x0000E960, 0x0000EB80, 0x0000EDC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x0000A320, 0x00012BC0, 0x00012BC0, 0x00009CC0, 0x0000D1E0, 0x0000D400, 0x0000D620, 0x0000D840, 0x0000A540, 0x00011CC0, 0x00027D40, 0x00027B00, 0x00027F80, 0x000281C0, 0x00028400, 0x00028640, 0x00028880, 0x00028AC0, 0x00028D00, 0x00028F40, 0x0000F640, 0x0000F420, 0x0000F860, 0x0000FEE0, 0x0000BA80, 0x0000FA80, 0x0000FCA0, 0x00011AA0, 0x00011EE0, 0x00012120, 0x00012340, 0x00012560, 0x00012780, 0x000129A0, 0x00012780, 0x0000EFE0, 0x0000F200, 0x0000FEE0, 0x0000BA80, 0x0000BA80, 0x00011880, 0x00011660, 0x00000200, 0x00000200, 0x00000200, 0x0002A5C0, 0x0002A800, 0x0002AA40, 0x0002AEC0, 0x0002AC80, 0x0002B340, 0x0002B100, 0x00014900, 0x0002B7C0, 0x00024500, 0x000239C0, 0x0002BA00, 0x00023C00, 0x000242C0, 0x00023E40, 0x000293C0, 0x00029840, 0x00029A80, 0x00029CC0, 0x00027680, 0x000278C0, 0x00024080, 0x00014480, 0x000146C0, 0x00014240, 0x00013DC0, 0x00029F00, 0x00024740, 0x00025B80, 0x00025940, 0x00024980, 0x00024BC0, 0x00024E00, 0x00025040, 0x00027440, 0x00027200, 0x00026FC0, 0x00025280, 0x000254C0, 0x00025700, 0x00025DC0, 0x00026000, 0x00026240, 0x00026480, 0x000266C0, 0x00026900, 0x00026B40, 0x00026D80, 0x00002620, 0x00002860, 0x00002AA0, 0x00002CE0, 0x00002F20, 0x00003160, 0x000033A0, 0x000035E0, 0x00003820, 0x00003A60, 0x00003CA0, 0x00004360, 0x00003EE0, 0x00004120, 0x000045A0, 0x000047E0, 0x00004A20, 0x00004C60, 0x00004EA0, 0x000050E0, 0x00005320, 0x00005560, 0x000057A0, 0x000059E0, 0x00005C20, 0x00005E60, 0x000060A0, 0x000062E0, 0x00006520, 0x00006760, 0x000069A0, 0x00006BE0, 0x00006E20, 0x00007060, 0x000072A0, 0x000074E0, 0x00007720, 0x00007960, 0x00007BA0, 0x00007DE0, 0x00008020, 0x00008260, 0x000084A0, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00014FC0, 0x00015200, 0x00015440, 0x00015680, 0x000158C0, 0x00015B00, 0x00015D40, 0x00015F80, 0x000161C0, 0x00016400, 0x00000200, 0x00016AC0, 0x000173C0, 0x00020A80, 0x00017CC0, 0x00018140, 0x000185C0, 0x00018800, 0x00018A40, 0x00018C80, 0x00018EC0, 0x00019100, 0x00019340, 0x00019580, 0x000197C0, 0x00019A00, 0x00019C40, 0x00019E80, 0x0001A0C0, 0x0001A300, 0x0001A540, 0x0001A780, 0x0001A9C0, 0x0001AC00, 0x0001AE40, 0x0001B080, 0x0001B2C0, 0x0001B500, 0x0001B740, 0x00018380, 0x00016880, 0x00016D00, 0x00017600, 0x00016F40, 0x00017840, 0x0001E200, 0x00017A80, 0x00017180, 0x0001E8C0, 0x0001E440, 0x0001E680, 0x0001D000, 0x0001C940, 0x0001CB80, 0x0001D240, 0x00016640, 0x00017F00, 0x0001B980, 0x0001D480, 0x0001D6C0, 0x0001DD80, 0x0001D900, 0x0001DFC0, 0x0001DB40, 0x0001CDC0, 0x0001BBC0, 0x0001BE00, 0x0001C040, 0x0001C280, 0x0001C4C0, 0x0001C700, 0x00000200, 0x00000200, 0x000203C0, 0x00020600, 0x0001F1C0, 0x00000200, 0x00020840, 0x0001F640, 0x0001F400, 0x0001F880, 0x0001FAC0, 0x000203C0, 0x00020600, 0x00015F80, 0x000197C0, 0x0001A780, 0x0001A780, 0x0001B500, 0x0001B500, 0x0001F880, 0x0001F880, 0x00015440, 0x00015440, 0x00019E80, 0x00019E80, 0x0001FD00, 0x0001FD00, 0x0001FD00, 0x00021800, 0x000215C0, 0x00021A40, 0x00021C80, 0x00021EC0, 0x00022100, 0x00022340, 0x00015F80, 0x00015F80, 0x00015F80, 0x000197C0, 0x000197C0, 0x000197C0, 0x000227C0, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00030B80, 0x0002F6E0, 0x00030E00, 0x00030F40, 0x0002EB00, 0x0002F160, 0x00030600, 0x00000000, 0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000009, 0x00000006, 0x00000007, 0x00000008, 0x00000005, 0x0000000A, 0x0000000B, 0x00000000, 0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000000, 0x00000006, 0x00000007, 0x00000008, 0x00000005, 0x00000000, 0x00000000, 0x800989A0, 0x00000000, 0x00000000, 0x00000000, 0x001D0007, 0x00000002, 0x00280000, 0x00280001, 0x001D0008, 0x00000003, 0x0028000D, 0x0028000E, 0x001D0009, 0x00000004, 0x0028001A, 0x0028001B, 0x001D000A, 0x00000005, 0x00280027, 0x00280028, 0x001D000B, 0x00000001, 0x00000000, 0x00000000, 0x001D000C, 0x00000007, 0x00280041, 0x00280042, 0x001D000D, 0x00000008, 0x0028004E, 0x0028004F, 0x001D000E, 0x00000009, 0x0028005B, 0x0028005C, 0x001D000F, 0x00000006, 0x00280034, 0x00280035, 0x001D0010, 0x00000001, 0x00000000, 0x00000000, 0x001D0011, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80107CA8, 0x80107CD0, 0x80107CF8, 0x80107D20, 0x80107D48, 0x80107D70, 0x80107D98, 0x80107DC0, 0x80107DE8, 0x80107E10, 0x80107E38, 0x80107E60, 0x80107E88, 0x80107EB0, 0x80107ED8, 0x80107F00, 0x80107F28, 0x80107F50, 0x80107F78, 0x80107FA0, 0x80107FC8, 0x80107FF0, 0x80108018, 0x80108040, 0x80108018, 0x80108040, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000000FF, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x000000FF, 0x001D0038, 0x00013005, 0x002300A3, 0x00000000, 0x01000001, 0x001D0038, 0x00013005, 0x002300A4, 0x002300A4, 0x01000001, 0x001D0038, 0x00013005, 0x002300A5, 0x002300A5, 0x01000001, 0x001D0038, 0x00013005, 0x00000000, 0x00000000, 0x01000001, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x01000001, 0x002A0010, 0x00013005, 0x00230068, 0x00250068, 0x01020101, 0x002A0012, 0x00008020, 0x0023006A, 0x0025006A, 0x01020101, 0x002A0011, 0x00013005, 0x00230069, 0x00250069, 0x01020201, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x010101FF, 0x001D0038, 0x00055001, 0x00000000, 0x00000000, 0x01000001, 0x002A000E, 0x00000003, 0x00230066, 0x00250066, 0x01020201, 0x002A0014, 0x00008020, 0x0023006C, 0x0025006C, 0x01070301, 0x002A000C, 0x00000008, 0x00230064, 0x00250064, 0x010101FF, 0x001D0038, 0x00054001, 0x00230064, 0x00250064, 0x01000001, 0x002A000D, 0x00000008, 0x00230065, 0x00250065, 0x010402FF, 0x001D0038, 0x00055001, 0x00230065, 0x00250065, 0x01000001, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x010201FF, 0x002A0013, 0x00008020, 0x0023006B, 0x0025006B, 0x01040201, 0x002A000A, 0x00013005, 0x00230062, 0x00250062, 0x01020101, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x01040201, 0x002A000B, 0x00013005, 0x00230063, 0x00250063, 0x01060301, 0x002A000F, 0x00013005, 0x00230067, 0x00250067, 0x01020101, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x01060301, 0x001D0039, 0x00054881, 0x002300A0, 0x002300A0, 0x02000000, 0x001D0039, 0x00054881, 0x002300A1, 0x002300A1, 0x02000000, 0x001D0039, 0x00054881, 0x002300A2, 0x002300A2, 0x02000000, 0x001D0039, 0x00054881, 0x00000000, 0x00000000, 0x02000000, 0x001D0039, 0x00054881, 0x00000000, 0x00000000, 0x02000000, 0x002A0006, 0x0004C880, 0x0023005E, 0x0025005E, 0x02020100, 0x002A0009, 0x00054881, 0x00230061, 0x00250061, 0x02030200, 0x002A0004, 0x00054881, 0x0023005C, 0x0025005C, 0x02020100, 0x002A0005, 0x00054881, 0x0023005D, 0x0025005D, 0x02020100, 0x00000000, 0x00000808, 0x00000000, 0x00000000, 0x020101FF, 0x001D0039, 0x00054881, 0x00000000, 0x00000000, 0x02010100, 0x002A0002, 0x00000808, 0x0023005A, 0x0025005A, 0x020101FF, 0x001D0039, 0x00054881, 0x0023005A, 0x0025005A, 0x02000000, 0x002A0003, 0x00000808, 0x0023005B, 0x0025005B, 0x020402FF, 0x001D0039, 0x00054881, 0x0023005B, 0x0025005B, 0x02000000, 0x00000000, 0x00054881, 0x00000000, 0x00000000, 0x020201FF, 0x00000000, 0x0004C880, 0x00000000, 0x00000000, 0x020502FF, 0x002A0000, 0x00054881, 0x00230058, 0x00250058, 0x02020100, 0x00000000, 0x00054881, 0x00000000, 0x00000000, 0x02040200, 0x002A0001, 0x00054881, 0x00230059, 0x00250059, 0x02060300, 0x002A0008, 0x00054881, 0x00230060, 0x00250060, 0x02020200, 0x002A0007, 0x00054881, 0x0023005F, 0x0025005F, 0x02020100, 0x00000000, 0x00008020, 0x00000000, 0x00000000, 0x02020214, 0x00000000, 0x00010005, 0x00230074, 0x00250074, 0x030006FF, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x030008FF, 0x00260075, 0x00000008, 0x00230075, 0x00250075, 0x030003FF, 0x001D003F, 0x00010005, 0x001D00A4, 0x00000000, 0x040000FF, 0x002A0015, 0x00000000, 0x0023006D, 0x0025006D, 0x040301FF, 0x002A0016, 0x00000000, 0x0023006E, 0x0025006E, 0x040603FF, 0x80098A04, 0x00000000, 0x00000000, 0x00000000, 0x050000FF, 0x002A0018, 0x00000000, 0x00230070, 0x00250070, 0x050004FF, 0x80098A04, 0x00010005, 0x00000000, 0x00000000, 0x060000FF, 0x80098A04, 0x00000000, 0x00000000, 0x00000000, 0x070000FF, 0x00260073, 0x00000000, 0x00230073, 0x00250073, 0x070006FF, 0x00260093, 0x00000000, 0x00230093, 0x00250093, 0x070004FF, 0x00260095, 0x00000000, 0x00230095, 0x00250095, 0x070002FF, 0x002A0019, 0x00000000, 0x00230076, 0x00250076, 0x070002FF, 0x80098A04, 0x00010005, 0x00000000, 0x00000000, 0x080000FF, 0x0026007F, 0x00000000, 0x0023007F, 0x0025007F, 0x080002FF, 0x00260097, 0x00000000, 0x00230097, 0x00250097, 0x080002FF, 0x00260081, 0x00000000, 0x00230081, 0x00250081, 0x080003FF, 0x0026008C, 0x00000000, 0x0023008C, 0x0025008C, 0x080003FF, 0x00260099, 0x00000000, 0x00230099, 0x00250099, 0x080004FF, 0x00260074, 0x00000000, 0x00230074, 0x00250074, 0x080006FF, 0x00000000, 0x00000000, 0x00230085, 0x00250085, 0x080001FF, 0x00000000, 0x00000000, 0x00230083, 0x00250083, 0x080001FF, 0x00000000, 0x00000000, 0x00230082, 0x00250082, 0x080007FF, 0x002A001A, 0x00000000, 0x00230077, 0x00250077, 0x080002FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080001FF, 0x80098A04, 0x00000000, 0x00000000, 0x00000000, 0x090000FF, 0x00260080, 0x00000000, 0x00230080, 0x00250080, 0x090002FF, 0x00260087, 0x00000000, 0x00230087, 0x00250087, 0x090001FF, 0x00260094, 0x00000000, 0x00230094, 0x00250094, 0x090000FF, 0x0026009B, 0x00000000, 0x0023009B, 0x0025009B, 0x090008FF, 0x00000000, 0x00000000, 0x00230088, 0x00250088, 0x090005FF, 0x80098A04, 0x00010005, 0x00000000, 0x00000000, 0x000000FF, 0x00260071, 0x00010005, 0x00230071, 0x00250071, 0x000003FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000000FF, 0x0026008D, 0x00000002, 0x0023008D, 0x0025008D, 0x000000FF, 0x0026008E, 0x00000002, 0x0023008E, 0x0025008E, 0x000000FF, 0x0026008F, 0x00000002, 0x0023008F, 0x0025008F, 0x000000FF, 0x00260090, 0x00000002, 0x00230090, 0x00250090, 0x000000FF, 0x00260091, 0x00000002, 0x00230091, 0x00250091, 0x000000FF, 0x00260092, 0x00000002, 0x00230092, 0x00250092, 0x000000FF, 0x00260078, 0x00000002, 0x00230078, 0x00250078, 0x000003FF, 0x00260072, 0x00000002, 0x00230072, 0x00250072, 0x000003FF, 0x0026009A, 0x00000002, 0x0023009A, 0x0025009A, 0x000007FF, 0x00260098, 0x00000002, 0x00230098, 0x00250098, 0x000002FF, 0x00260079, 0x00000002, 0x00230079, 0x00250079, 0x000003FF, 0x00260086, 0x00000002, 0x00230086, 0x00250086, 0x000001FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000008FF, 0x0026009C, 0x00000002, 0x0023009C, 0x0025009C, 0x000002FF, 0x0026007B, 0x00000002, 0x0023007B, 0x0025007B, 0x000006FF, 0x00260096, 0x00000002, 0x00230096, 0x00250096, 0x000002FF, 0x00000000, 0x00000002, 0x00230084, 0x00250084, 0x000001FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000AFF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000AFF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000AFF, 0x00000000, 0x00000002, 0x0023007C, 0x0025007C, 0x000003FF, 0x00000000, 0x00000002, 0x0023007D, 0x0025007D, 0x000003FF, 0x00000000, 0x00000002, 0x00230089, 0x00250089, 0x000003FF, 0x00000000, 0x00000002, 0x0023008A, 0x0025008A, 0x000002FF, 0x00000000, 0x00000002, 0x0023009E, 0x0025009E, 0x000001FF, 0x00000000, 0x00000002, 0x0023008B, 0x0025008B, 0x000001FF, 0x0026009D, 0x00000002, 0x0023009D, 0x0025009D, 0x000001FF, 0x800989F0, 0x00000002, 0x00000000, 0x00000000, 0x000001FF, 0x800989DC, 0x00000002, 0x00000000, 0x00000000, 0x000001FF, 0x0026007E, 0x00000002, 0x0023007E, 0x0025007E, 0x000001FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000005FF, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x000000FF, 0x0026007A, 0x00000002, 0x0023007A, 0x0025007A, 0x000003FF, 0x0026006F, 0x00000002, 0x0023006F, 0x0025006F, 0x000002FF, 0x0026009F, 0x00000002, 0x0023009F, 0x0025009F, 0x000003FF, 0x001D0014, 0x80000000, 0x001D0020, 0x00000000, 0x0A0000FF, 0x001D0015, 0x00000008, 0x001D0021, 0x00000000, 0x0A0101FF, 0x001D0016, 0x00008002, 0x001D0022, 0x00000000, 0x0A0101FF, 0x001D0017, 0x00008002, 0x001D0023, 0x00000000, 0x0A0202FF, 0x001D0018, 0x00008002, 0x001D0024, 0x00000000, 0x0A0202FF, 0x001D0019, 0x00000008, 0x001D0025, 0x00000000, 0x0A0303FF, 0x001D001A, 0x00008002, 0x001D0026, 0x00000000, 0x0A0202FF, 0x001D001B, 0x00008002, 0x001D0027, 0x00000000, 0x0A0202FF, 0x001D001C, 0x00008002, 0x001D0028, 0x00000000, 0x0A0000FF, 0x001D001D, 0x00008002, 0x001D0029, 0x00000000, 0x0A0000FF, 0x001D001E, 0x00000100, 0x001D0020, 0x00000000, 0x0A0000FF, 0x001D001F, 0x00008003, 0x001D0020, 0x00000000, 0x0A0000FF, 0x002B0000, 0x00054881, 0x00280002, 0x00280007, 0x0B000002, 0x002B0000, 0x00054881, 0x00280002, 0x00280008, 0x0B000002, 0x002B0000, 0x00054881, 0x00280002, 0x00280009, 0x0B000002, 0x002B0001, 0x00038003, 0x00280003, 0x0028000A, 0x0B0000FF, 0x002B0002, 0x00000100, 0x00280004, 0x0028000B, 0x0B0100FF, 0x002B0003, 0x00054881, 0x00280005, 0x0028000C, 0x0B030002, 0x002B0004, 0x00012005, 0x0028000F, 0x00280014, 0x0B000001, 0x002B0004, 0x00012005, 0x0028000F, 0x00280015, 0x0B000001, 0x002B0004, 0x00012005, 0x0028000F, 0x00280016, 0x0B000001, 0x002B0005, 0x00008004, 0x00280010, 0x00280017, 0x0B030001, 0x002B0006, 0x00008004, 0x00280011, 0x00280018, 0x0B040003, 0x002B0007, 0x00008004, 0x00280012, 0x00280019, 0x0B050004, 0x002B0008, 0x00012005, 0x0028001C, 0x00280021, 0x0B00000F, 0x002B0008, 0x00012005, 0x0028001C, 0x00280022, 0x0B00000F, 0x002B0008, 0x00012005, 0x0028001C, 0x00280023, 0x0B00000F, 0x002B0009, 0x00012005, 0x0028001D, 0x00280024, 0x0B030003, 0x002B000A, 0x00008004, 0x0028001E, 0x00280025, 0x0B060003, 0x002B000B, 0x00008002, 0x0028001F, 0x00280026, 0x0B080003, 0x002B000C, 0x00010003, 0x00280029, 0x0028002E, 0x0B000000, 0x002B000C, 0x00010003, 0x00280029, 0x0028002F, 0x0B000000, 0x002B000C, 0x00010003, 0x00280029, 0x00280030, 0x0B000000, 0x002B000D, 0x00010003, 0x0028002A, 0x00280031, 0x0B030005, 0x002B000E, 0x00008403, 0x0028002B, 0x00280032, 0x0B030003, 0x002B000F, 0x00008002, 0x0028002C, 0x00280033, 0x0B060004, 0x800989D0, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989D0, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989D0, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989C0, 0x00000004, 0x00000000, 0x00000000, 0x0B000000, 0x800989B4, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989A8, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x002B0014, 0x00000003, 0x00280043, 0x00280048, 0x0B00000F, 0x002B0014, 0x00000003, 0x00280043, 0x00280049, 0x0B00000F, 0x002B0014, 0x00000003, 0x00280043, 0x0028004A, 0x0B00000F, 0x002B0015, 0x00000003, 0x00280044, 0x0028004B, 0x0B020003, 0x002B0016, 0x00000008, 0x00280045, 0x0028004C, 0x0B03000A, 0x002B0017, 0x00008002, 0x00280046, 0x0028004D, 0x0B05000C, 0x002B0018, 0x00054881, 0x00280050, 0x00280055, 0x0B000001, 0x002B0018, 0x00054881, 0x00280050, 0x00280056, 0x0B000001, 0x002B0018, 0x00054881, 0x00280050, 0x00280057, 0x0B000001, 0x002B0019, 0x00000003, 0x00280051, 0x00280058, 0x0B03000E, 0x002B001A, 0x00000008, 0x00280052, 0x00280059, 0x0B03000A, 0x002B001B, 0x00008002, 0x00280053, 0x0028005A, 0x0B060008, 0x002B001C, 0x00000003, 0x0028005D, 0x00280062, 0x0B000010, 0x002B001C, 0x00000003, 0x0028005D, 0x00280063, 0x0B000010, 0x002B001C, 0x00000003, 0x0028005D, 0x00280064, 0x0B000010, 0x002B001D, 0x00008002, 0x0028005E, 0x00280065, 0x0B040004, 0x002B001E, 0x00000008, 0x0028005F, 0x00280066, 0x0B04000A, 0x002B001F, 0x00008002, 0x00280060, 0x00280067, 0x0B05000C, 0x002B0010, 0x00000003, 0x00280036, 0x0028003B, 0x0B000004, 0x002B0010, 0x00000003, 0x00280036, 0x0028003C, 0x0B000004, 0x002B0010, 0x00000003, 0x00280036, 0x0028003D, 0x0B000004, 0x002B0011, 0x00000008, 0x00280037, 0x0028003E, 0x0B0200FF, 0x002B0012, 0x00008002, 0x00280038, 0x0028003F, 0x0B030004, 0x002B0013, 0x00000003, 0x00280039, 0x00280040, 0x0B050004, 0x00000000, 0x00000000, 0x00000000, 0x802EBFF0, 0x802EC010, 0x802EC030, 0x802EC050, 0x802EC070, 0x802EC090, 0x802EC0B0, 0x802EC0D0, 0x802EC0F0, 0x802EC110, 0x802EC130, 0x802EC150, 0x802EC170, 0x802EC190, 0x802EC1B0, 0x802EC1D0, 0x802EC1F0, 0x802EC210, 0x802EC230, 0x802EC250, 0x802EC270, 0x802EC290, 0x802EC2B0, 0x802EC2D0, 0x802EC2F0, 0x802EC310, 0x802EC330, 0x802EC350, 0x802EC370, 0x802EC390, 0x802EC3B0, 0x802EC3D0 + +glabel D_8008FF60 +.word 0x00000000, 0x00000001, 0x00000002, 0x00000003 + +glabel D_8008FF70 +.word 0x00040006, 0x00050004, 0x00070006, 0x00000003, 0x00040003, 0x00070004, 0x00030002, 0x00070002, 0x00060007, 0x00020001, 0x00060001, 0x00050006, 0x00010000, 0x00050000, 0x00040005, 0x00000001, 0x00020000, 0x00020003 + +glabel D_8008FFB8 +.word 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0x00000000 diff --git a/asm/data/code_a5dd0_len_114e0.data.s b/asm/data/code_a5dd0_len_114e0.data.s new file mode 100644 index 0000000000..cfe8a12bac --- /dev/null +++ b/asm/data/code_a5dd0_len_114e0.data.s @@ -0,0 +1,264 @@ +.include "macro.inc" + +.section .data + +glabel D_8014AFB0 +.word 0x000000FF, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8014AFC0 +.word 0x8014B7F8, 0x8014B910, 0x8014B820, 0x8014B938, 0x8014B848, 0x8014B960, 0x8014B870, 0x8014B988, 0x8014B898, 0x8014BA20, 0x8014B9B0, 0x8014BAC0, 0x8014B8C0, 0x8014B9D8, 0x8014B8E8, 0x8014BA00 + +glabel D_8014B000 +.word 0x8014BB60, 0x8014BC78, 0x8014BB88, 0x8014BCA0, 0x8014BBB0, 0x8014BCC8, 0x8014BBD8, 0x8014BCF8, 0x8014BC00, 0x8014BD88, 0x8014BD18, 0x8014BC28, 0x8014BD40, 0x8014BC50, 0x8014BD68, 0x8014BE78, 0x8014BF90, 0x8014BEA0, 0x8014BFB8, 0x8014BEC8, 0x8014BFE0, 0x8014BEF0, 0x8014C008, 0x8014BF18, 0x8014C098, 0x8014C028, 0x8014BF40, 0x8014C050, 0x8014BF68, 0x8014C078, 0x8014BA48, 0x8014BA70, 0x8014BA98, 0x8014BDB0, 0x8014BDD8, 0x8014BE00, 0x8014C0C0, 0x8014C0E8, 0x8014C110, 0x8014BB10, 0x8014BB38, 0x8014BE28, 0x8014BE50, 0x8014C138, 0x8014C160, 0x00000000 + +glabel D_8014B0B8 +.word 0xFCFFFFFF + +glabel D_8014B0BC +.word 0xFFFE793C, 0xFCFFFFFF, 0xFFFE7838, 0xFCFFFFFF, 0xFFFE7838, 0xFC457FFF, 0xFFFDF838, 0xFC41FFFF, 0xFFFEF838, 0xFC121824, 0xFF33FFFF, 0xFC127FFF, 0xFFFFF238, 0xFC1219FF, 0xFFFFFE38, 0xFC127E0A, 0xF3FFF238, 0xFC121803, 0xFFFFFF78, 0xFC147E28, 0x44FE793C, 0xFC147FFF, 0x4FFE7838, 0xFC147FFF, 0x4FFE7838, 0xFC147E0A, 0x4FFE72F8, 0xFC147E03, 0x4FFE7978, 0xFCFFFFFF, 0xFFFCF279, 0xFCFFFFFF, 0xFFFCF238, 0xFCFFFFFF, 0xFFFCF238, 0xFC157FFF, 0xFFFDF238, 0xFCFFFE03, 0xFFFCF378, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC20A204, 0xFF13FFFF, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFF13FFFF, 0xFC20A204, 0xFF13FFFF, 0xFC20A203, 0xFF13FF7F, 0xFC20A204, 0xFF13FFFF, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFF13FFFF, 0xFC20A204, 0xFF13FFFF, 0xFC20A203, 0xFF13FF7F, 0xFC20A204, 0xFF13FFFF, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFF13FFFF, 0xFC20A204, 0xFF13FFFF, 0xFC20A203, 0xFF13FF7F, 0xFC20A204, 0xFF13FFFF, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFF13FFFF, 0xFC20A204, 0xFF13FFFF, 0xFC20A203, 0xFF13FF7F, 0xFC20A204, 0xFF13FFFF, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFF13FFFF, 0xFC20A204, 0xFF13FFFF, 0xFC20A203, 0xFF13FF7F, 0xFC20A204, 0xFF13FFFF, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFF13FFFF, 0xFC20A204, 0xFF13FFFF, 0xFC20A203, 0xFF13FF7F, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF9883, 0xFFFFAF78, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FE03, 0x2FFD7378, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61FEC3, 0x11FCF279, 0xFC61FFFF, 0x1FFCF238, 0xFC61FFFF, 0x1FFCF238, 0xFC61FFFF, 0x1FFCF238, 0xFC61FE03, 0x1FFCF378, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE + +glabel D_8014B400 +.word 0xFCFFFFFF + +glabel D_8014B404 +.word 0xFFFE793C, 0xFCFFFFFF, 0xFFFE7838, 0xFCFFFFFF, 0xFFFE7838, 0xFC457FFF, 0xFFFDF838, 0xFC41FFFF, 0xFFFEF838, 0xFC127E24, 0xFFFFF3F9, 0xFC127FFF, 0xFFFFF238, 0xFC127FFF, 0xFFFFF238, 0xFC127E0A, 0xF3FFF238, 0xFC127E03, 0xFFFFF378, 0xFC147E28, 0x44FE793C, 0xFC147FFF, 0x4FFE7838, 0xFC147FFF, 0x4FFE7838, 0xFC147E0A, 0x4FFE72F8, 0xFC147E03, 0x4FFE7978, 0xFCFFFFFF, 0xFFFCF279, 0xFCFFFFFF, 0xFFFCF238, 0xFCFFFFFF, 0xFFFCF238, 0xFC157FFF, 0xFFFDF238, 0xFCFFFE03, 0xFFFCF378, 0xFC26A004, 0x1FFC93FC, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1FFC93FC, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFF13FF7F, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFFFFFF78, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFFFFFF78, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFFFFFF78, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFFFFFF78, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFFFFFF78, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF9883, 0xFFFFAF78, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FE03, 0x2FFD7378, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61FEC3, 0x11FCF279, 0xFC61FFFF, 0x1FFCF238, 0xFC61FFFF, 0x1FFCF238, 0xFC61FFFF, 0x1FFCF238, 0xFC61FE03, 0x1FFCF378, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE + +glabel D_8014B748 +.word 0x8028E000 + +glabel D_8014B74C +.byte 0x00 + +glabel D_8014B74D +.byte 0x00 + +glabel D_8014B74E +.byte 0x00 + +glabel D_8014B74F +.byte 0x00 + +glabel D_8014B750 +.byte 0x00 + +glabel D_8014B751 +.byte 0x00 + +glabel D_8014B752 +.byte 0x00 + +glabel D_8014B753 +.byte 0x00 + +glabel D_8014B754 +.byte 0x00 + +glabel D_8014B755 +.byte 0x00 + +glabel D_8014B756 +.short 0x0000 + +glabel D_8014B758 +.word 0x000003B6 + +glabel D_8014B75C +.word 0x000003E8 + +glabel D_8014B760 +.byte 0xFF + +glabel D_8014B761 +.byte 0xFF + +glabel D_8014B762 +.byte 0xFF + +glabel D_8014B763 +.byte 0x00 + +glabel D_8014B764 +.byte 0x00 + +glabel D_8014B765 +.byte 0x00, 0x00, 0x00 + +glabel D_8014B768 +.word 0x00010000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8014B7A8 +.word 0x00000006, 0x00000000, 0x00000005, 0x00020000, 0x00000004, 0x00030000, 0x00000003, 0x00038000, 0x00000002, 0x0003C000, 0x00000001, 0x0003E000, 0x00000000, 0x0003F000, 0x00000000, 0x0003F800, 0x00000000, 0x00000000 + +glabel D_8014B7F0 +.word 0x00000000, 0x00000000 + +glabel D_8014B7F8 +.word 0xE200001C, 0x00552078, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000 + +glabel D_8014B820 +.word 0xE200001C, 0x00552D58, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000 + +glabel D_8014B848 +.word 0xE200001C, 0x00552478, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000 + +glabel D_8014B870 +.word 0xE200001C, 0x00553078, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000 + +glabel D_8014B898 +.word 0xE200001C, 0x005049D8, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000 + +glabel D_8014B8C0 +.word 0xE200001C, 0x00504DD8, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000 + +glabel D_8014B8E8 +.word 0xE200001C, 0x005045D8, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x00552230, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000, 0xE200001C, 0x00552E10, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000, 0xE200001C, 0x00552478, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xFCFFFFFF, 0xFFFE793C, 0xDF000000, 0x00000000 + +glabel D_8014B988 +.word 0xE200001C, 0x00553078, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000 + +glabel D_8014B9B0 +.word 0xE200001C, 0x00504A50, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000 + +glabel D_8014B9D8 +.word 0xE200001C, 0x00504F50, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000 + +glabel D_8014BA00 +.word 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x005049F8, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000 + +glabel D_8014BA48 +.word 0xE200001C, 0x00552048, 0xE3000A01, 0x00000000, 0xD9C0F9FA, 0x00000000, 0xD9FFFFFF, 0x00220404, 0xDF000000, 0x00000000 + +glabel D_8014BA70 +.word 0xE200001C, 0x00553048, 0xE3000A01, 0x00000000, 0xD9C0F9FA, 0x00000000, 0xD9FFFFFF, 0x00220004, 0xDF000000, 0x00000000 + +glabel D_8014BA98 +.word 0xE200001C, 0x005041C8, 0xE3000A01, 0x00000000, 0xD9C0F9FA, 0x00000000, 0xD9FFFFFF, 0x00220004, 0xDF000000, 0x00000000, 0xE200001C, 0x005049F8, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000 + +glabel D_8014BAE8 +.word 0xE200001C, 0x00504B40, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x00504B50, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x00504340, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x0C192078, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000, 0xE200001C, 0x0C192D58, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000, 0xE200001C, 0x0C192478, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000 + +glabel D_8014BBD8 +.word 0xE200001C, 0x0C193078, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x0C1849D8, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x0C184DD8, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x0C1845D8, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x0C192230, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000, 0xE200001C, 0x0C192E10, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000, 0xE200001C, 0x0C192478, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xFCFFFFFF, 0xFFFE793C, 0xDF000000, 0x00000000, 0xE200001C, 0x0C193078, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xDF000000, 0x00000000, 0xE200001C, 0x0C184A50, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x0C184E50, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x0C1849D8, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x0C192048, 0xE3000A01, 0x00100000, 0xD9C0F9FA, 0x00000000, 0xD9FFFFFF, 0x00220404, 0xDF000000, 0x00000000, 0xE200001C, 0x0C193048, 0xE3000A01, 0x00100000, 0xD9C0F9FA, 0x00000000, 0xD9FFFFFF, 0x00220004, 0xDF000000, 0x00000000, 0xE200001C, 0x0C1841C8, 0xE3000A01, 0x00100000, 0xD9C0F9FA, 0x00000000, 0xD9FFFFFF, 0x00220004, 0xDF000000, 0x00000000, 0xE200001C, 0x0C184B50, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x0C184340, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000 + +glabel D_8014BE78 +.word 0xE200001C, 0xC8112078, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230405, 0xDF000000, 0x00000000 + +glabel D_8014BEA0 +.word 0xE200001C, 0xC8112D58, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230405, 0xDF000000, 0x00000000 + +glabel D_8014BEC8 +.word 0xE200001C, 0xC8112478, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230405, 0xDF000000, 0x00000000 + +glabel D_8014BEF0 +.word 0xE200001C, 0xC8113078, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230005, 0xDF000000, 0x00000000 + +glabel D_8014BF18 +.word 0xE200001C, 0xC81049D8, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230005, 0xDF000000, 0x00000000 + +glabel D_8014BF40 +.word 0xE200001C, 0xC8104DD8, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230005, 0xDF000000, 0x00000000 + +glabel D_8014BF68 +.word 0xE200001C, 0xC81045D8, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230005, 0xDF000000, 0x00000000, 0xE200001C, 0xC8112230, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230405, 0xDF000000, 0x00000000, 0xE200001C, 0xC8112E10, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230405, 0xDF000000, 0x00000000, 0xE200001C, 0xC8112478, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230405, 0xDF000000, 0x00000000, 0xE200001C, 0xC8113078, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xDF000000, 0x00000000, 0xE200001C, 0xC8104A50, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230005, 0xDF000000, 0x00000000, 0xE200001C, 0xC8104E50, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230005, 0xDF000000, 0x00000000, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230005, 0xDF000000, 0x00000000, 0xE200001C, 0xC81049D8, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230005, 0xDF000000, 0x00000000, 0xE200001C, 0xC8112048, 0xE3000A01, 0x00100000, 0xD9C0F9FA, 0x00000000, 0xD9FFFFFF, 0x00230404, 0xDF000000, 0x00000000, 0xE200001C, 0xC8113048, 0xE3000A01, 0x00100000, 0xD9C0F9FA, 0x00000000, 0xD9FFFFFF, 0x00230004, 0xDF000000, 0x00000000, 0xE200001C, 0xC81041C8, 0xE3000A01, 0x00100000, 0xD9C0F9FA, 0x00000000, 0xD9FFFFFF, 0x00230004, 0xDF000000, 0x00000000, 0xE200001C, 0xC8104B50, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0xC8104340, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000 + +glabel D_8014C188 +.word 0xFFFE7960, 0x000F4240, 0x000F4240, 0x000F4240, 0x00000000, 0x000F4240, 0x000F4240, 0x000F4240, 0x00000000, 0x000F4240, 0x000F4240, 0x000F4240, 0x00000000, 0x000F4240, 0x000F4240, 0x000F4240, 0x00000000, 0x007A1200, 0x007A1200, 0x007A1200, 0x00000000, 0x007A1200, 0x007270E0, 0x007270E0, 0x007270E0, 0x00000000, 0x006ACFC0, 0x006ACFC0, 0x006ACFC0, 0x006ACFC0, 0x00632EA0, 0x00632EA0, 0x00632EA0, 0x00000000, 0x005B8D80, 0x005B8D80, 0x005B8D80, 0x00000000, 0x0053EC60, 0x0053EC60, 0x0053EC60, 0x007A1200, 0x003D0900, 0x0040D990, 0x0044AA20, 0x0044AA20, 0x007A1200, 0x000AAE60, 0x00000000, 0x00000000 + +glabel D_8014C250 +.word 0x0001003C, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8014C260 +.word 0x00000000, 0x00000000, 0xFFFFFF00, 0xFFFFFF00 + +glabel D_8014C270 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8014C280 +.short 0x0280, 0x01E0, 0x01FF, 0x0000, 0x0280, 0x01E0, 0x01FF, 0x0000, 0x53FD, 0x0000, 0xF0FD + +glabel D_8014C296 +.short 0x0000 + +glabel D_8014C298 +.word 0xFFF00009, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00100009, 0x00000000, 0x04000000, 0xFFFFFFFF, 0xFFF0FFF7, 0x00000000, 0x00000240, 0xFFFFFFFF, 0x0010FFF7, 0x00000000, 0x04000240, 0xFFFFFFFF + +glabel D_8014C2D8 +.word 0xE3000A01, 0x00100000, 0xD9FDF9FF, 0x00000000, 0xD9FFFFFF, 0x00200004, 0xE3001801, 0x000000C0, 0xE3001A01, 0x00000030, 0xE2001E01, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000C00, 0x00080000, 0xE3001001, 0x00000000, 0xE3001201, 0x00003000, 0xE200001C, 0x0C184B40, 0xFC11FFFF, 0xFFFFF438, 0xDF000000, 0x00000000 + +glabel D_8014C340 +.word 0x802EF0D0, 0x8010100B, 0x080B0B0B, 0x0B0B0B0B, 0x0B0B0000, 0x802EF0D0, 0x80101009, 0x08090909, 0x09090909, 0x09090000 + +glabel D_8014C368 +.word 0xE7000000, 0x00000000, 0xE3000A01, 0x00000000, 0xE3001201, 0x00000000, 0xE3000C00, 0x00000000, 0xE3001801, 0x000000C0, 0xE3001A01, 0x00000030, 0xE3001700, 0x00000000, 0xE2001E01, 0x00000000, 0xE3001001, 0x00008000, 0xD7000002, 0xFFFFFFFF, 0xDF000000, 0x00000000 + +glabel D_8014C3C0 +.word 0x00010000, 0x00000000, 0x00000000, 0xFFFFF8FF, 0x00200000, 0x00000000, 0x04000000, 0xFFFFF8FF, 0x0001FFC0, 0x00000000, 0x00000800, 0xBFB8B0FF, 0x0020FFC0, 0x00000000, 0x04000800, 0xBFB8B0FF + +glabel D_8014C400 +.word 0x00200000, 0x00000000, 0x00000000, 0xFFFFF8FF, 0x00E10000, 0x00000000, 0x01000000, 0xFFFFF8FF, 0x0020FFC0, 0x00000000, 0x00000800, 0xBFB8B0FF, 0x00E1FFC0, 0x00000000, 0x01000800, 0xBFB8B0FF + +glabel D_8014C440 +.word 0x00E10000, 0x00000000, 0x00000000, 0xFFFFF8FF, 0x01000000, 0x00000000, 0x04000000, 0xFFFFF8FF, 0x00E1FFC0, 0x00000000, 0x00000800, 0xBFB8B0FF, 0x0100FFC0, 0x00000000, 0x04000800, 0xBFB8B0FF + +glabel D_8014C480 +.word 0xFFF1001E, 0x00000000, 0x00000000, 0xBFB8B0FF, 0x000F001E, 0x00000000, 0x01E00000, 0xBFB8B0FF, 0xFFFF0000, 0x00000000, 0x000001E0, 0xBFB8B0FF, 0x00010000, 0x00000000, 0x01E001E0, 0xBFB8B0FF + +glabel D_8014C4C0 +.word 0xFFF1001E, 0x00000000, 0x00000000, 0xBFB8B0FF, 0x000F001E, 0x00000000, 0x01E00000, 0xBFB8B0FF, 0xFFFF0000, 0x00000000, 0x000001E0, 0xBFB8B0FF, 0x00010000, 0x00000000, 0x01E001E0, 0xBFB8B0FF + +glabel D_8014C500 +.word 0xE3000A01, 0x00000000, 0xE200001C, 0x0F0A7008, 0xFCFFFFFF, 0xFFFCF279, 0xE3001201, 0x00003000, 0xD7000002, 0xFFFFFFFF, 0xE3000C00, 0x00000000, 0xE3001801, 0x000000C0, 0xE3001A01, 0x00000030, 0xE3000F00, 0x00000000, 0xE3001001, 0x00008000, 0xE3000D01, 0x00000000, 0xE3001402, 0x00000C00, 0xE3001700, 0x00000000, 0xE2001E01, 0x00000000, 0x00000000, 0x00000000, 0xDF000000, 0x00000000 + +glabel D_8014C580 +.word 0x32506469, 0x64000000 + +glabel D_8014C588 +.word 0x69644D39, 0x281B1008, 0x03000000, 0x00000000, 0x00000000, 0x00000000, 0xFFF40000, 0x00000000, 0x23002300, 0x000000FF, 0x000B0000, 0x00000000, 0x20002300, 0x000000FF, 0x000B0017, 0x00000000, 0x20002000, 0x000000FF, 0xFFF40017, 0x00000000, 0x23002000, 0x000000FF, 0xFFF00000, 0x00000000, 0x24002400, 0x000000FF, 0x000F0000, 0x00000000, 0x20002400, 0x000000FF, 0x000F001F, 0x00000000, 0x20002000, 0x000000FF, 0xFFF0001F, 0x00000000, 0x24002000, 0x000000FF + +glabel D_8014C620 +.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFCFFFFFF, 0xFFFCF279, 0xE3000C00, 0x00080000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001001, 0x00000000, 0xE3001201, 0x00002000, 0xE3001402, 0x00000C00, 0xE3001001, 0x00008000, 0xDF000000, 0x00000000 + +glabel D_8014C678 +.word 0xD9DDFBFF, 0x00000000, 0x01004008, 0x8014C5A0, 0x06000204, 0x00000406, 0xE7000000, 0x00000000, 0xDF000000, 0x00000000 + +glabel D_8014C6A0 +.word 0xD9DDFBFF, 0x00000000, 0x01004008, 0x8014C5E0, 0x06000204, 0x00000406, 0xE7000000, 0x00000000, 0xDF000000, 0x00000000, 0xFFFFFF00, 0xFFFFFF00 + +glabel D_8014C6D0 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8014C6E0 +.word 0x00200028 + +glabel D_8014C6E4 +.word 0x00080004, 0x00000000, 0x00000000 + +glabel D_8014C6F0 +.word 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFCA, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFC86, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFD853, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFA621, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFD8410, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFA5200, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFD73100, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFA52000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFC731000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFA520000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xC7310000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xA5200000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFC, 0x73100000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFE9, 0x52000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFC7, 0x31000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFE94, 0x10000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFA62, 0x10000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEA731, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFE, 0xDCA86310, 0x00000000, 0xFFFFFFFF, 0xEDCBAA98, 0x76542100, 0x00000000, 0xFFFDCBA9, 0x87665443, 0x32211000, 0x00000000, 0xFEB86544, 0x33222111, 0x10000000, 0x00000000, 0xFC853211, 0x11000000, 0x00000000, 0x00000000, 0xFD842100, 0x00000000, 0x00000000, 0x00000000, 0xFEA63100, 0x00000000, 0x00000000, 0x00000000, 0xFFD85200, 0x00000000, 0x00000000, 0x00000000, 0xFFFC8420, 0x00000000, 0x00000000, 0x00000000, 0xFFFFC741, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFB73, 0x10000000, 0x00000000, 0x00000000, 0xFFFFFFA6, 0x31000000, 0x00000000, 0x00000000, 0xFFFFFFEA, 0x63100000, 0x00000000, 0x00000000, 0xFFFFFFFE, 0x95210000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xD9521000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFD852000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFC84200, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFC7310, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFB631, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFE941, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFB62, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFC62, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFC73, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFC72, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFC62, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFB52, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFA51, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFF941, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFE941, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFE831, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFD731, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFC620, 0x00000000, 0x00011223, 0xFFFFFFFF, 0xFFFFB620, 0x00000000, 0x01234567, 0xFFFFFFFF, 0xFFFFA520, 0x00000001, 0x23579ACC, 0xFFFFFFFF, 0xFFFFA510, 0x00001134, 0x68ACEFFF, 0xFFFFFFFF, 0xFFFF9410, 0x00123569, 0xBDFFFFFF, 0xFFFFFFFF, 0xFFFF9521, 0x224579CE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFA644, 0x568ADFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFC988, 0x9BEFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFDDD, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFDCCCCCD, 0xEFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFEB, 0x97655567, 0x9BCEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFDA86, 0x42111112, 0x3569CEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFDA7532, 0x10000000, 0x012469CF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xEB742100, 0x00000000, 0x0001247C, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFC, 0x85310000, 0x00000000, 0x00000137, 0xDFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEB7, 0x41000000, 0x00000000, 0x00000014, 0x9FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFD963, 0x10000000, 0x00000000, 0x00000002, 0x6CFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFC8420, 0x00000000, 0x00000000, 0x00000001, 0x49FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFC74100, 0x00000000, 0x00000000, 0x00000000, 0x27DFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFC731000, 0x00000000, 0x00000000, 0x00000000, 0x26CFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xC7310000, 0x00000000, 0x00000000, 0x00000000, 0x26CFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFC, 0x73100000, 0x00000000, 0x00000000, 0x00000000, 0x15CFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEC8, 0x41000000, 0x00000000, 0x00000000, 0x00000000, 0x15BFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFDCBA964, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x15CFFFFF, 0xFFFFFFFF, 0xFFFFFFFC, 0xA7654321, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x16CFFFFF, 0xFFFFFFFF, 0xFFFFFDA7, 0x42111100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x16BFFFFF, 0xFFFFFFFF, 0xFFFFC842, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x149CEEDD, 0xEEFFFFFF, 0xFFFC7310, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02578877, 0x889ACFFF, 0xFFD83100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01233322, 0x33358DFF, 0xFFA51000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00125BFF, 0xFE830000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00025BFF, 0xFC620000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00138DFF, 0xFC510000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1247CFFF, 0xFC510000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000012, 0x469CFFFF, 0xFC510000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00012346, 0x9CEFFFFF, 0xFC510000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x013468AC, 0xEFFFFFFF, 0xFC510000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1479BDFF, 0xFFFFFFFF, 0xFD720000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x37BEFFFF, 0xFFFFFFFF, 0xFE941000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x38DFFFFF, 0xFFFFFFFF, 0xFFD84100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x27DFFFFF, 0xFFFFFFFF, 0xFFFC7310, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x26ADDBAA, 0xABDFFFFF, 0xFFFFA520, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x14787544, 0x457AEFFF, 0xFFFEA520, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02342111, 0x1135AEFF, 0xFFFB7310, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00110000, 0x00026BFF, 0xFFC73100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000137DF, 0xFE941000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000016CF, 0xFD720000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000015BF, 0xFC610000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000015CF, 0xFC510000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000027DF, 0xFC510000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00014AFF, 0xFC510000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00138DFF, 0xFD720000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1147CFFF, 0xFF941000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000012, 0x358CFFFF, 0xFFD84100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000136, 0x8BDFFFFF, 0xFFFC8421, 0x11110000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000026B, 0xEFFFFFFF, 0xFFFFDA75, 0x55442100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000149E, 0xFFFFFFFF, 0xFFFFFFDC, 0xBBA97310, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000015BF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFC731, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000027CF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFB62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00025AFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFA5, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x01259EFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFE9, 0x52000000, 0x00000000, 0x00000000, 0x00000001, 0x2469DFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFD, 0x95310000, 0x00000000, 0x00000000, 0x00000013, 0x69CEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xEB742000, 0x00000000, 0x00000000, 0x00000025, 0xAEFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFC85310, 0x00000000, 0x00000000, 0x00000259, 0xEFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEA753, 0x11000000, 0x00000000, 0x0001359E, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFDA7, 0x53211000, 0x00000000, 0x11347AEF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFD, 0xB9754333, 0x33333333, 0x457ACFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEDBA988, 0x88888889, 0xABDFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFEE, 0xEEEEEEEF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEDDDCCC, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEDC, 0xBBAA9999, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFDCBA9, 0x88776666, 0xFFFFFFFF, 0xFFFFFFFF, 0xFDCB9876, 0x65443333, 0xFFFFFFFF, 0xFFFFFFFE, 0xCA987643, 0x32111000, 0xFFFFFFFF, 0xFFFFFFDB, 0x98654321, 0x00000000, 0xFFFFFFFF, 0xFFFFECA8, 0x75421000, 0x00000000, 0xFFFFFFFF, 0xFFFDBA86, 0x43100000, 0x00000000, 0xFFFFFFFF, 0xFFDB9753, 0x20000000, 0x00000000, 0xFFFFFFFF, 0xFDB97531, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xDB974310, 0x00000000, 0x00000000, 0xFFFFFFFE, 0xB9743100, 0x00000000, 0x00000000, 0xFFFFFFFC, 0xA7531000, 0x00000000, 0x00000000, 0xFFFFFFDA, 0x85310000, 0x00000000, 0x00000000, 0xFFFFFEB8, 0x63100000, 0x00000000, 0x00000000, 0xFFFFFC97, 0x42000000, 0x00000000, 0x00000000, 0xFFFFDA85, 0x30000000, 0x00000000, 0x00000000, 0xFFFFC964, 0x10000000, 0x00000000, 0x00000000, 0xFFFDB852, 0x00000000, 0x00000000, 0x00000000, 0xFFFC9741, 0x00000000, 0x00000000, 0x00000000, 0xFFEB8630, 0x00000000, 0x00000000, 0x00000000, 0xFFDA7420, 0x00000000, 0x00000000, 0x00000000, 0xFFC96310, 0x00000000, 0x00000000, 0x00000000, 0xFFB86300, 0x00000000, 0x00000000, 0x00000000, 0xFEB85200, 0x00000000, 0x00000000, 0x00000000, 0xFDA74100, 0x00000000, 0x00000000, 0x00000000, 0xFDA74100, 0x00000000, 0x00000000, 0x00000000, 0xFD963100, 0x00000000, 0x00000000, 0x00000000, 0xFC963000, 0x00000000, 0x00000000, 0x00000000, 0xFC963000, 0x00000000, 0x00000000, 0x00000000, 0xFC963000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEF8, 0xFEFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFFFFFF, 0xFEFEFEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFEFEFEFD, 0xFBFBFDFD, 0xFEFDFEFD, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFEFE, 0xFEFEFCF8, 0xF5F7FAFD, 0xFEFEFEFE, 0xFEFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFCFC, 0xFCFBF8F6, 0xF0F6F9FB, 0xFCFDFEFD, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFCFBFB, 0xFAFAF6F5, 0xF0F5F5F9, 0xFAFDFCFE, 0xFCFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEFE, 0xFEFFFFFF, 0xFFFFFFFE, 0xFBF7F8F8, 0xF8F7F5F4, 0xEEF4F3F7, 0xF8F9F9F9, 0xFCFCFDFD, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFEFE, 0xFEFEFFFF, 0xFFFEFCF9, 0xF6F3F4F5, 0xF6F4F4F4, 0xF0EDF0F1, 0xF4F4F8F8, 0xF8F8FAFB, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFEFDFE, 0xFEFFFFFF, 0xFEFDFAF7, 0xF2EFF0F2, 0xF1F2F1EF, 0xECE8ECEC, 0xF0F2F3F4, 0xF4F6F7F9, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEFE, 0xFEFEFEFD, 0xFFFFFFFE, 0xFCF8F5F1, 0xEFEEECED, 0xEEEDEDE8, 0xE8E4E8E9, 0xEBEDEFF2, 0xF2F4F4F5, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFEFE, 0xFEFEFEFF, 0xFFFFFDF9, 0xF9F5F2EE, 0xEDEAE7E7, 0xE9E9E8E5, 0xE5E3E5E6, 0xE8EBEBED, 0xEEF1F2F2, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFEFDFD, 0xFEFDFFFE, 0xFDFCFCF9, 0xF4F1ECEB, 0xEAE9E4E4, 0xE5E4E3E4, 0xE1E0E0E2, 0xE3E6E6E9, 0xEBEDEDF0, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFBFEFE, 0xFDFCFCFD, 0xFDFEFEFC, 0xFAF9F9F7, 0xF1EEEAE7, 0xE7E6E2E0, 0xE0E1DFDF, 0xDEDDDBDF, 0xDEE0E1E3, 0xE5E9EBEE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFAFB, 0xFCFBFBFA, 0xFDFCFBF8, 0xF7F6F6F5, 0xEEEAE5E4, 0xE3E0DEDE, 0xDBDAD8D7, 0xD6D7D6D9, 0xD9D9DBDD, 0xE0E2E6EA, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFEFEFBF8, 0xF8F9F7F9, 0xF9F9F8F7, 0xF5F4F4F2, 0xEDE8E3E0, 0xDEDCD9D5, 0xD4D1CFCF, 0xD0CECED0, 0xD1D3D6D5, 0xDADDE0E3, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFDFD, 0xFCFCFAF8, 0xF7F6F6F8, 0xF7F6F3F3, 0xF1F2F1F0, 0xEBE6DED8, 0xD7D4D4D1, 0xCBC8C4C5, 0xC5C7C9CA, 0xCBCACDD0, 0xD1D3D6D9, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFEFD, 0xFCFBFBF9, 0xFAF9F9F5, 0xF4F3F3F3, 0xF4F3F2EF, 0xEFEDEDED, 0xE8E1DAD4, 0xD2CFCAC6, 0xC1BDB9BA, 0xBEC2C3C2, 0xC3C4C4C6, 0xC7CACFD3, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFCFBFB, 0xFAF8F9F9, 0xF9F7F8F7, 0xF4F2F1F0, 0xF1EEEDE9, 0xE9E9E9E7, 0xE3DED3CE, 0xCBC9C5BD, 0xB7B3B2B5, 0xB7BABEBD, 0xBFBEBDBD, 0xC0C1C8CE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFCF9F7, 0xF7F6F6F8, 0xF7F5F4F5, 0xF5F0EEEE, 0xECEBE5E3, 0xE1E3E5E3, 0xDCD3CBC6, 0xC2BFB9B4, 0xACABA8AD, 0xB3B7BAB6, 0xB5B4B5B6, 0xB8BDC4C8, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEF9F8F6, 0xF4F5F6F5, 0xF4F4F4F2, 0xF2F1EDEB, 0xE9E4DEDD, 0xDDDFE1DD, 0xD5CAC2BC, 0xB9B4AEA9, 0xA3A4A6AA, 0xADB1B0B0, 0xAFAFAEB1, 0xB1B6BABF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFDF9F7F6, 0xF3F2F3F3, 0xF3F1F1F0, 0xF0EFEEE9, 0xE4DED8D6, 0xD8DBDBD7, 0xCFC4B9B3, 0xAFA9A59F, 0x9C9EA0A5, 0xA9AAA9A9, 0xA8A7A8A8, 0xA8A8ACB2, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEFE, 0xFDFBF8F5, 0xF3F3F3F2, 0xF0EFEEEE, 0xEEEEEDE7, 0xDFD7D0D0, 0xD3D5D6D3, 0xCABFB5AC, 0xA8A29C97, 0x9698999B, 0x9EA0A09E, 0x9C9E9C9A, 0x999DA1A6, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFEFC, 0xFBFAF7F5, 0xF1F0F2F0, 0xEDEAEBEB, 0xEDECE9E3, 0xD9D0CBCB, 0xCED0D4D2, 0xC9BFB3AA, 0xA19A9592, 0x91919194, 0x96979695, 0x91918E8D, 0x8F91949E, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFDFB, 0xFBF8F6F5, 0xF1F0EDED, 0xE9E7E8E8, 0xE8E9E5DE, 0xD3CBC4C3, 0xC5CACDCE, 0xC7BCB2A7, 0x9F94908C, 0x8D8A8B8A, 0x8D8D8C88, 0x85848581, 0x84898E93, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFDFCFB, 0xFAF9F7F5, 0xF5F0EEE9, 0xE6E2E2E5, 0xE6E5E0D5, 0xCBC2BDBB, 0xBDC2C2C3, 0xC1B9B0A5, 0x9D908B88, 0x88838383, 0x8383807D, 0x7A7A7B7C, 0x797E8288, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFDFCFBFB, 0xFAF8F5F2, 0xF1F1ECE5, 0xE2E1E0E2, 0xE2E1D9CF, 0xC4BCB8B5, 0xB5B4B7B7, 0xB6B1ACA2, 0x9A908984, 0x837F7D7A, 0x7A787774, 0x736C7073, 0x75747877, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFD, 0xFDFCFBFB, 0xFAF8F3F2, 0xEDECE7E2, 0xDCDADDDF, 0xE0DACFC6, 0xBEB8B4B0, 0xAEAAABA9, 0xA9A9A6A0, 0x978C8380, 0x7C7B7774, 0x6F706C6A, 0x6A6F6263, 0x616A686C, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFD, 0xFDFCFBFB, 0xF9F8F1EC, 0xEAE7E4DF, 0xDBD8D7DA, 0xDBD4CABF, 0xB9B4AEAA, 0xA5A29F9D, 0x9E9F9E99, 0x92867E79, 0x73746D6B, 0x67636562, 0x6263665D, 0x63515963, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEFD, 0xFCFCFCFC, 0xFAF5EFEA, 0xE7E2DEDA, 0xD4D2D3D4, 0xD4CFC4BE, 0xB6B0ACA5, 0xA09A9593, 0x94959692, 0x8C817871, 0x6C696662, 0x5E5C5B5B, 0x56585A59, 0x565A5A59, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFDFD, 0xFCFDFDF8, 0xFAF4EDE8, 0xE3DFDCD7, 0xD2CDCECE, 0xCDC6BEBA, 0xB6AFA9A2, 0x9C978E8A, 0x8B8D8B89, 0x8279716A, 0x635F5E57, 0x55515051, 0x50484F4F, 0x4B4B5556, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFDFC, 0xFCFEFEFB, 0xF6F1ECE6, 0xE1DFDCD6, 0xCFC9C7C6, 0xC5BBB2B0, 0xAFACA7A0, 0x9A928B84, 0x82848381, 0x79716B62, 0x5F585451, 0x4A484648, 0x4A49404F, 0x4D524241, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFDFC, 0xFCFFFDFA, 0xF5EFE9E7, 0xE4E0DDD5, 0xCFC7C4C1, 0xBDB6A9A1, 0x9EA09E9C, 0x948F867D, 0x7A7A7877, 0x72696861, 0x5A534C4C, 0x44413E41, 0x46484541, 0x4B494941, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFDFC, 0xFCFEFDF8, 0xF3EFEBE7, 0xE1DEDBD3, 0xCBC5C2BE, 0xB7B0A69D, 0x99959492, 0x8E88807B, 0x716F6D6B, 0x6B66635F, 0x58504743, 0x403B343D, 0x41444246, 0x413D3A36, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFCFC, 0xFBFDFAF9, 0xF5F2EFEA, 0xE2DBD6D0, 0xC9C0BCB8, 0xB4B0A8A0, 0x97918F89, 0x86817973, 0x6B666362, 0x63655E5C, 0x564D423B, 0x3E353238, 0x3D403C44, 0x463B3831, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFCFB, 0xFBFBFAF7, 0xF4F5F1EE, 0xE7DED5CB, 0xC6BDBBB5, 0xB1ADA39D, 0x968F8983, 0x7F7A746E, 0x67635A57, 0x585B5A57, 0x52483D36, 0x34322E32, 0x383A3740, 0x4137322C, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFDFBFA, 0xFAF9F9F7, 0xF7F7F6F1, 0xEBE1D8CD, 0xC2BDB7B4, 0xAFAAA49B, 0x938F8681, 0x7A766F6B, 0x645F5650, 0x4D51524F, 0x4A41362F, 0x2C2E292A, 0x32323339, 0x39322D28, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFCFBFA, 0xF9FAFAF9, 0xF7F6F5F2, 0xEDE4D9D1, 0xC6BEB7B3, 0xADA7A29A, 0x938A857D, 0x76706B69, 0x635C554D, 0x45474A49, 0x403B3029, 0x24262524, 0x292B2F2F, 0x312B2825, 0xFFFFFFFF, 0xFFFFFFFF, 0xFDFDFAFA, 0xFAF8F8F7, 0xF6F7F6F2, 0xEDE4DACF, 0xC8C1B9B2, 0xACA59D95, 0x9088827B, 0x746A6461, 0x5E5B544C, 0x433F403F, 0x3A332B27, 0x23222320, 0x22252725, 0x2725211F, 0xFFFFFFFF, 0xFFFFFFFE, 0xFDFCF9F9, 0xF9F6F6F4, 0xF4F4F1F1, 0xEBE2D9D0, 0xCAC2BCB7, 0xADA39D94, 0x8D847F76, 0x7069605A, 0x5959534A, 0x41393636, 0x352C2823, 0x1F1E1E1D, 0x1D1E1F1E, 0x1E211B1D, 0xFFFFFFFF, 0xFFFFFEFD, 0xFDFBF9FA, 0xF8F6F4F3, 0xEFEEEBEA, 0xE6DED3C9, 0xC4BFBBB3, 0xAEA39A8F, 0x877F7670, 0x6B686156, 0x5153514C, 0x3F39312E, 0x2D292520, 0x1C1A171A, 0x181A1A19, 0x191B1617, 0xFFFFFFFF, 0xFFFEFEFD, 0xFCF8F7F6, 0xF5F3EFEC, 0xE7E3E0DB, 0xD6D1C8C0, 0xBEBBB6B1, 0xA8A1968A, 0x81766F68, 0x655F5D56, 0x4D494844, 0x3D362E28, 0x2423211D, 0x19181418, 0x14131415, 0x13161214, 0xFFFFFFFF, 0xFFFEF9FD, 0xFBF7F6F6, 0xF3F2EDE7, 0xE2D9D2CD, 0xC7C1BAB3, 0xB1B0ACA7, 0x9F998F88, 0x7B6F6763, 0x5A58534F, 0x47403D3A, 0x36312A22, 0x1B1C1D19, 0x16121110, 0x100E1110, 0x0D110E10, 0xFFFFFFFF, 0xFFFEFDFC, 0xF8F3F2F2, 0xF0EDEAE5, 0xDDD4CDC3, 0xBEB6B1AA, 0xA7A7A29B, 0x95908A83, 0x786D6057, 0x524F4A47, 0x423A3733, 0x312C2620, 0x1A16181B, 0x16120F0C, 0x0E0B0D0C, 0x080D0A0C, 0xFFFFFFFF, 0xFEFCFEFD, 0xFCF8F1E9, 0xE5E4E4E0, 0xDBD5CEC4, 0xBCB4AAA4, 0x9D9A9691, 0x8D88867C, 0x756A6258, 0x4C46423D, 0x3B35322C, 0x2926241C, 0x19161114, 0x14100D0A, 0x0B09090A, 0x080A080A, 0xFFFFFFFF, 0xFEFDFDFD, 0xFCF7F2E9, 0xE5E0DAD6, 0xD3D2CDC7, 0xBDB3A99F, 0x96918C88, 0x85827D7A, 0x72695E57, 0x4C463A37, 0x312F2C2B, 0x271F1D1A, 0x17140E0F, 0x110E0C09, 0x08080608, 0x08090808, 0xFFFFFFFF, 0xFEFEFDFD, 0xFDF9F4EC, 0xE3DFD9D5, 0xD0CAC8C4, 0xBCB5A99F, 0x958B8680, 0x7B797670, 0x6A675C56, 0x4E463E34, 0x2E2A2726, 0x231D1515, 0x16130F0C, 0x0C0E0B08, 0x06070507, 0x07060706, 0xFFFFFFFF, 0xFDFDFDFD, 0xFBF9F4EE, 0xE8E2DDDB, 0xD5D1CBC4, 0xBEB4ADA3, 0x998F867E, 0x736F6B67, 0x645C5853, 0x4B433C34, 0x2C262521, 0x201B150E, 0x10110E0A, 0x07090908, 0x06050404, 0x05040505, 0xFFFFFFFF, 0xFEFDFDFD, 0xFCF9F7F1, 0xEBE6E2DE, 0xDAD6D3CD, 0xC7BEB3A9, 0x9D94897E, 0x746D6660, 0x5D57534B, 0x47423C32, 0x2B26221F, 0x1A181510, 0x0C0C0C0A, 0x07060606, 0x05040403, 0x03030403, 0xFFFFFFFF, 0xFDFDFDFE, 0xFCF5F0F0, 0xEDE7E3DF, 0xDBD9D4CD, 0xC8C2B9B1, 0xA59B8D80, 0x756C655E, 0x5A534C46, 0x423E3A31, 0x2B24201F, 0x18151110, 0x0C090909, 0x07050506, 0x05030302, 0x03030302, 0xFFFFFFFF, 0xFDFDFDFF, 0xFEFCF9F5, 0xF0E8E4DF, 0xDCD8D5CF, 0xC7C0B7AF, 0xA4988D81, 0x746A625D, 0x58504942, 0x3D393530, 0x2A25201C, 0x1C160F0D, 0x0C090706, 0x06050404, 0x04030203, 0x02020202, 0xFFFFFFFF, 0xFDFDFEFD, 0xFCFBF9F7, 0xF0EBE7E3, 0xDEDCD4CF, 0xC6BDB4AA, 0xA1958B7E, 0x73685F59, 0x534E4840, 0x3933312D, 0x26221F1D, 0x1A15120B, 0x0A080706, 0x05050402, 0x02020201, 0x01020201, 0xFFFFFFFE, 0xFEFEFDFC, 0xFCFAF6F4, 0xF1EAE8E3, 0xE0DCD6CD, 0xC4BAAFA5, 0x9893867D, 0x6F666057, 0x524B4239, 0x35352F27, 0x231E1A18, 0x1917110C, 0x0A070506, 0x04030303, 0x02020201, 0x01010101, 0xFFFFFFFE, 0xFEFEFCF9, 0xF7F3F1EF, 0xEBE6E3E0, 0xDDD8D2C6, 0xBFB6AA9F, 0x958C8178, 0x6B625A50, 0x4D474139, 0x342E2926, 0x221D1713, 0x11110F0D, 0x0A080505, 0x04030203, 0x02010201, 0x01010101, 0xFFFFFFFF, 0xFEFCFBF8, 0xF6F5F2EC, 0xE8E1DED8, 0xD7CFC8C0, 0xB8ADA39B, 0x8E887F79, 0x6B5F524A, 0x46403D37, 0x332D2B24, 0x1E191613, 0x0E0C0B0A, 0x08080605, 0x03020202, 0x02010101, 0x01010101, 0xFFFFFFFF, 0xFFFCF9F3, 0xF3F0EEE6, 0xE1DCDBD5, 0xD3CAC3BA, 0xAEA79D93, 0x8A827A73, 0x695C534B, 0x433E3630, 0x2E2C2822, 0x1D19130F, 0x0D0C0906, 0x06050504, 0x03020202, 0x01010101, 0x01010101, 0xFFFFFFFF, 0xFFFBF7F1, 0xEFEBE5DF, 0xD9D5D1CE, 0xCDC3BDB6, 0xAAA0988F, 0x847D746D, 0x62585148, 0x413C3835, 0x312C231B, 0x1917130E, 0x0C0A0806, 0x06040303, 0x03020201, 0x01010101, 0x01010101, 0xFFFFFFFF, 0xFEF8F0EC, 0xEAE5E1D8, 0xD3CECCC8, 0xC2BCB5AD, 0xA29A928C, 0x847D766F, 0x665D5348, 0x413C3831, 0x2C29241D, 0x19150F0B, 0x0B0A0806, 0x06040303, 0x02020201, 0x01010101, 0x01010101, 0xFFFFFFFF, 0xFFFDF8F6, 0xF1EAE2D9, 0xD5CCC7C1, 0xBEB6B0A7, 0x9F968B84, 0x7F77706C, 0x625B554E, 0x48413A35, 0x2D251D18, 0x14130E0B, 0x0B0B0705, 0x05040303, 0x02020101, 0x01010101, 0x01010101, 0xFFFFFFFF, 0xFEFCFAF9, 0xF5EFE7E0, 0xD6D3CFC7, 0xC1B8B0A9, 0x9F988F86, 0x7D766D66, 0x5D554E47, 0x403B342D, 0x29211E1A, 0x1715100E, 0x0B080605, 0x05040302, 0x01020101, 0x01010101, 0x01010101, 0xFFFFFFFF, 0xFEFDFBF8, 0xF3EBE4DE, 0xD9D6D2CE, 0xC7BFB8B1, 0xA89F978F, 0x847D746C, 0x6257524E, 0x463E342D, 0x25221D19, 0x1511110D, 0x0A080807, 0x06050302, 0x01010101, 0x01010101, 0x01010101, 0xFFFFFFFF, 0xFEFCFBF9, 0xF3EBE4DE, 0xD9D6D5D1, 0xCCC5BCB5, 0xADA59F93, 0x8C857B71, 0x685D564F, 0x493E352E, 0x2A24231E, 0x1C15120E, 0x0C0A0907, 0x05040202, 0x01010101, 0x01010101, 0x01010101, 0xFF8000A9, 0x00000000, 0x00000000, 0xFFFFFF00, 0xFF34FFBB, 0x00000000, 0x00000000, 0xFFFFFF00, 0x0000FF24, 0x00000000, 0x00000000, 0xFFFFFF00, 0x008000A9, 0x00000000, 0x00000000, 0xFFFFFF00, 0xFE88007B, 0x00000000, 0x00000000, 0xFFFFFF00, 0x0000018B, 0x00000000, 0x00000000, 0xFFFFFF00, 0xFF17FEC0, 0x00000000, 0x00000000, 0xFFFFFF00, 0x00CCFFBB, 0x00000000, 0x00000000, 0xFFFFFF00, 0x00E8FEC0, 0x00000000, 0x00000000, 0xFFFFFF00, 0x0178007A, 0x00000000, 0x00000000, 0xFFFFFF00, 0xD7000002, 0xFFFFFFFF, 0xE7000000, 0x00000000, 0xE3000A01, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001201, 0x00003000, 0xE3001402, 0x00000C00, 0xE3000C00, 0x00000000, 0xE3001801, 0x00000000, 0xE3001A01, 0x00000000, 0xFCFFE7FF, 0xFFCD92C9, 0xE200001C, 0x00504340, 0xD9000000, 0x00000000, 0xD9FFFFFF, 0x00200004, 0xDF000000, 0x00000000 + +glabel D_8014E618 +.word 0xDE000000, 0x8014E5A0, 0xE3001001, 0x00000000, 0xFD88000F, 0x8014D300, 0xF5880400, 0x070D4350, 0xE6000000, 0x00000000, 0xF4000000, 0x0703E07C, 0xE7000000, 0x00000000, 0xF5800400, 0x000D4350, 0xF2000000, 0x0007C07C, 0xF2000000, 0x000FC0FC, 0xDF000000, 0x00000000 + +glabel D_8014E670 +.word 0xDE000000, 0x8014E5A0, 0xE3001001, 0x00000000, 0xFD88001F, 0x8014CB00, 0xF5880800, 0x07098260, 0xE6000000, 0x00000000, 0xF4000000, 0x0707E0FC, 0xE7000000, 0x00000000, 0xF5800800, 0x00098260, 0xF2000000, 0x000FC0FC, 0xDF000000, 0x00000000 + +glabel D_8014E6C0 +.word 0xDE000000, 0x8014E5A0, 0xE3001001, 0x00000000, 0xFD88000F, 0x8014C700, 0xF5880400, 0x07098350, 0xE6000000, 0x00000000, 0xF4000000, 0x0703E0FC, 0xE7000000, 0x00000000, 0xF5800400, 0x00098350, 0xF2000000, 0x0007C0FC, 0xF2000000, 0x000FC0FC, 0xDF000000, 0x00000000 + +glabel D_8014E718 +.word 0xDE000000, 0x8014E5A0, 0xE3001001, 0x00000000, 0xFD88003F, 0x8014D500, 0xF5881000, 0x070D8360, 0xE6000000, 0x00000000, 0xF4000000, 0x070FC0FC, 0xE7000000, 0x00000000, 0xF5881000, 0x000D8360, 0xF2000000, 0x000FC0FC, 0xF2000000, 0x001FC1FC, 0xDF000000, 0x00000000, 0x000000F0, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x014000F0, 0x00000000, 0x28000000, 0xFFFFFFFF, 0x000000DA, 0x00000000, 0x000002C0, 0xFFFFFFFF, 0x014000DA, 0x00000000, 0x280002C0, 0xFFFFFFFF, 0x000000C4, 0x00000000, 0x00000580, 0xFFFFFFFF, 0x014000C4, 0x00000000, 0x28000580, 0xFFFFFFFF, 0x000000AE, 0x00000000, 0x00000840, 0xFFFFFFFF, 0x014000AE, 0x00000000, 0x28000840, 0xFFFFFFFF, 0x00000098, 0x00000000, 0x00000B00, 0xFFFFFFFF, 0x01400098, 0x00000000, 0x28000B00, 0xFFFFFFFF, 0x00000082, 0x00000000, 0x00000DC0, 0xFFFFFFFF, 0x01400082, 0x00000000, 0x28000DC0, 0xFFFFFFFF, 0x0000006C, 0x00000000, 0x00001080, 0xFFFFFFFF, 0x0140006C, 0x00000000, 0x28001080, 0xFFFFFFFF, 0x00000056, 0x00000000, 0x00001340, 0xFFFFFFFF, 0x01400056, 0x00000000, 0x28001340, 0xFFFFFFFF, 0x00000040, 0x00000000, 0x00001600, 0xFFFFFFFF, 0x01400040, 0x00000000, 0x28001600, 0xFFFFFFFF, 0x0000002A, 0x00000000, 0x000018C0, 0xFFFFFFFF, 0x0140002A, 0x00000000, 0x280018C0, 0xFFFFFFFF, 0x00000014, 0x00000000, 0x00001B80, 0xFFFFFFFF, 0x01400014, 0x00000000, 0x28001B80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00001E00, 0xFFFFFFFF, 0x01400000, 0x00000000, 0x28001E00, 0xFFFFFFFF + +glabel D_8014E8F0 +.word 0xD7000000, 0x80008000, 0xE7000000, 0x00000000, 0xE3000A01, 0x00000000, 0xE2001D00, 0x00000004, 0xEE000000, 0x00000000, 0xE200001C, 0x50504360, 0xFCFFE7FF, 0xFFCE7F3F, 0xE3000C00, 0x00080000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001001, 0x00000000, 0xE3001201, 0x00002000, 0xE3001402, 0x00000C00, 0xD9DDF9FF, 0x00000000, 0xD9FFFFFF, 0x00000405, 0x0100A014, 0x8014E500, 0x06000204, 0x00060004, 0x06000802, 0x00060A00, 0x06020C04, 0x000E0604, 0x06100E04, 0x000E1206, 0xE7000000, 0x00000000, 0xE2001D00, 0x00000000, 0xDF000000, 0x00000000 + +glabel D_8014E9A8 +.word 0xE7000000, 0x00000000, 0xE2001D00, 0x00000004, 0xEE000000, 0x00140000, 0xE200001C, 0x00504A50, 0xFCFFE7FF, 0xFFCE7F3F, 0xD9DDF9FF, 0x00000000, 0xD9FFFFFF, 0x00000005, 0xE3001801, 0x00000000, 0xE3000A01, 0x00000000, 0xE3001201, 0x00002000, 0xE3000C00, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001001, 0x00000000, 0xE3000D01, 0x00000000, 0xE3001402, 0x00000C00, 0xF65003C0, 0x00000000, 0xE3001801, 0x000000C0, 0xE7000000, 0x00000000, 0xE2001D00, 0x00000000, 0xDF000000, 0x00000000 + +glabel D_8014EA48 +.word 0xE2001D00, 0x00000004, 0xEE000000, 0x00140000, 0xE200001C, 0x00552210, 0xD9FDF9FF, 0x00000000, 0xD9DFFFFF, 0x00000000, 0xD7000002, 0x80008000, 0xE7000000, 0x00000000, 0xFC121824, 0xFF33FFFF, 0xE3000C00, 0x00080000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001001, 0x00000000, 0xE3001201, 0x00002000, 0xE3001402, 0x00000C00, 0x01018030, 0x8014E770, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF4000000, 0x0727C02C, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF2000000, 0x0027C02C, 0x06000402, 0x00060204, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF400002C, 0x0727C058, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF200002C, 0x0027C058, 0x06040806, 0x000A0608, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF4000058, 0x0727C084, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF2000058, 0x0027C084, 0x06080C0A, 0x000E0A0C, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF4000084, 0x0727C0B0, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF2000084, 0x0027C0B0, 0x060C100E, 0x00120E10, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF40000B0, 0x0727C0DC, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF20000B0, 0x0027C0DC, 0x06101412, 0x00161214, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF40000DC, 0x0727C108, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF20000DC, 0x0027C108, 0x06141816, 0x001A1618, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF4000108, 0x0727C134, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF2000108, 0x0027C134, 0x06181C1A, 0x001E1A1C, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF4000134, 0x0727C160, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF2000134, 0x0027C160, 0x061C201E, 0x00221E20, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF4000160, 0x0727C18C, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF2000160, 0x0027C18C, 0x06202422, 0x00262224, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF400018C, 0x0727C1B8, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF200018C, 0x0027C1B8, 0x06242826, 0x002A2628, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF40001B8, 0x0727C1DC, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF20001B8, 0x0027C1DC, 0x06282C2A, 0x002E2A2C, 0xE7000000, 0x00000000, 0xE2001D00, 0x00000000, 0xDF000000, 0x00000000 + +glabel D_8014ED98 +.word 0x00800080, 0x01FF0000, 0x00800080, 0x01FF0000, 0xFFF0FFF0, 0x00000000, 0x00000000, 0x000000FF, 0x0010FFF0, 0x00000000, 0x10000000, 0x000000FF, 0x00100010, 0x00000000, 0x10001000, 0x000000FF, 0xFFF00010, 0x00000000, 0x00001000, 0x000000FF + +glabel D_8014EDE8 +.word 0x01004008, 0x8014EDA8, 0x06000204, 0x00000406, 0xE7000000, 0x00000000, 0xDF000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E1EDC.s b/asm/nonmatchings/code_102610_len_2330/func_802E1EDC.s index 0243403684..17b5f0e587 100644 --- a/asm/nonmatchings/code_102610_len_2330/func_802E1EDC.s +++ b/asm/nonmatchings/code_102610_len_2330/func_802E1EDC.s @@ -174,7 +174,7 @@ glabel func_802E1EDC /* 1039E4 802E2164 00000000 */ nop .L802E2168: /* 1039E8 802E2168 C602001C */ lwc1 $f2, 0x1c($s0) -/* 1039EC 802E216C 3C01BFE0 */ lui $at, %hi(D_BFDFB110) +/* 1039EC 802E216C 3C01BFE0 */ lui $at, 0xbfe0 /* 1039F0 802E2170 44810800 */ mtc1 $at, $f1 /* 1039F4 802E2174 44800000 */ mtc1 $zero, $f0 /* 1039F8 802E2178 080B888A */ j .L802E2228 @@ -182,7 +182,7 @@ glabel func_802E1EDC .L802E2180: /* 103A00 802E2180 C602001C */ lwc1 $f2, 0x1c($s0) /* 103A04 802E2184 3C01802F */ lui $at, %hi(D_802EB110) -/* 103A08 802E2188 D420B110 */ ldc1 $f0, %lo(D_BFDFB110)($at) +/* 103A08 802E2188 D420B110 */ ldc1 $f0, %lo(D_802EB110)($at) /* 103A0C 802E218C 460010A1 */ cvt.d.s $f2, $f2 /* 103A10 802E2190 46201082 */ mul.d $f2, $f2, $f0 /* 103A14 802E2194 00000000 */ nop diff --git a/asm/nonmatchings/code_104940_len_dc0/func_802E3370.s b/asm/nonmatchings/code_104940_len_dc0/func_802E3370.s index fb0fed7aea..12015016b3 100644 --- a/asm/nonmatchings/code_104940_len_dc0/func_802E3370.s +++ b/asm/nonmatchings/code_104940_len_dc0/func_802E3370.s @@ -16,7 +16,7 @@ glabel func_802E3370 /* 104C1C 802E339C 10400003 */ beqz $v0, .L802E33AC /* 104C20 802E33A0 00A0902D */ daddu $s2, $a1, $zero /* 104C24 802E33A4 080B8D29 */ j .L802E34A4 -/* 104C28 802E33A8 3C03FFDF */ lui $v1, %hi(D_FFDF0001) +/* 104C28 802E33A8 3C03FFDF */ lui $v1, 0xffdf .L802E33AC: /* 104C2C 802E33AC 8624000E */ lh $a0, 0xe($s1) /* 104C30 802E33B0 9623000E */ lhu $v1, 0xe($s1) @@ -24,7 +24,7 @@ glabel func_802E3370 /* 104C38 802E33B8 1440003F */ bnez $v0, .L802E34B8 /* 104C3C 802E33BC 28820096 */ slti $v0, $a0, 0x96 /* 104C40 802E33C0 1440009C */ bnez $v0, .L802E3634 -/* 104C44 802E33C4 24620001 */ addiu $v0, $v1, %lo(D_FFDF0001) +/* 104C44 802E33C4 24620001 */ addiu $v0, $v1, 1 /* 104C48 802E33C8 C6220014 */ lwc1 $f2, 0x14($s1) /* 104C4C 802E33CC 3C0141C8 */ lui $at, 0x41c8 /* 104C50 802E33D0 44810000 */ mtc1 $at, $f0 diff --git a/asm/nonmatchings/code_105700_len_2130/func_802E4730.s b/asm/nonmatchings/code_105700_len_2130/func_802E4730.s index af8d31e74c..afb2ebf153 100644 --- a/asm/nonmatchings/code_105700_len_2130/func_802E4730.s +++ b/asm/nonmatchings/code_105700_len_2130/func_802E4730.s @@ -107,14 +107,14 @@ glabel func_802E4730 /* 106140 802E48C0 269441F0 */ addiu $s4, $s4, %lo(D_800741F0) /* 106144 802E48C4 AFB60058 */ sw $s6, 0x58($sp) /* 106148 802E48C8 96820000 */ lhu $v0, ($s4) -/* 10614C 802E48CC 3C03DA38 */ lui $v1, %hi(D_DA37A674) +/* 10614C 802E48CC 3C03DA38 */ lui $v1, 0xda38 /* 106150 802E48D0 AD430000 */ sw $v1, ($t2) /* 106154 802E48D4 24430001 */ addiu $v1, $v0, 1 /* 106158 802E48D8 3042FFFF */ andi $v0, $v0, 0xffff /* 10615C 802E48DC 00021180 */ sll $v0, $v0, 6 /* 106160 802E48E0 A6830000 */ sh $v1, ($s4) /* 106164 802E48E4 3C03800A */ lui $v1, %hi(D_8009A674) -/* 106168 802E48E8 8C63A674 */ lw $v1, %lo(D_DA37A674)($v1) +/* 106168 802E48E8 8C63A674 */ lw $v1, %lo(D_8009A674)($v1) /* 10616C 802E48EC 00561021 */ addu $v0, $v0, $s6 /* 106170 802E48F0 00621821 */ addu $v1, $v1, $v0 /* 106174 802E48F4 3C02DE00 */ lui $v0, 0xde00 diff --git a/asm/nonmatchings/code_105700_len_2130/func_802E586C.s b/asm/nonmatchings/code_105700_len_2130/func_802E586C.s index 5b741999d3..81187cac9f 100644 --- a/asm/nonmatchings/code_105700_len_2130/func_802E586C.s +++ b/asm/nonmatchings/code_105700_len_2130/func_802E586C.s @@ -137,14 +137,14 @@ glabel func_802E586C /* 1072EC 802E5A6C 27DE41F0 */ addiu $fp, $fp, %lo(D_800741F0) /* 1072F0 802E5A70 AFB80064 */ sw $t8, 0x64($sp) /* 1072F4 802E5A74 97C20000 */ lhu $v0, ($fp) -/* 1072F8 802E5A78 3C03DA38 */ lui $v1, %hi(D_DA37A674) +/* 1072F8 802E5A78 3C03DA38 */ lui $v1, 0xda38 /* 1072FC 802E5A7C ADC30000 */ sw $v1, ($t6) /* 107300 802E5A80 24430001 */ addiu $v1, $v0, 1 /* 107304 802E5A84 3042FFFF */ andi $v0, $v0, 0xffff /* 107308 802E5A88 00021180 */ sll $v0, $v0, 6 /* 10730C 802E5A8C A7C30000 */ sh $v1, ($fp) /* 107310 802E5A90 3C03800A */ lui $v1, %hi(D_8009A674) -/* 107314 802E5A94 8C63A674 */ lw $v1, %lo(D_DA37A674)($v1) +/* 107314 802E5A94 8C63A674 */ lw $v1, %lo(D_8009A674)($v1) /* 107318 802E5A98 00581021 */ addu $v0, $v0, $t8 /* 10731C 802E5A9C 00621821 */ addu $v1, $v1, $v0 /* 107320 802E5AA0 3C02FD10 */ lui $v0, 0xfd10 diff --git a/asm/nonmatchings/code_121f0_len_1290/func_80037BC8.s b/asm/nonmatchings/code_121f0_len_1290/func_80037BC8.s index 7e555118e9..a1275a0c58 100644 --- a/asm/nonmatchings/code_121f0_len_1290/func_80037BC8.s +++ b/asm/nonmatchings/code_121f0_len_1290/func_80037BC8.s @@ -75,13 +75,13 @@ glabel func_80037BC8 /* 130C8 80037CC8 24A5A66C */ addiu $a1, $a1, %lo(D_8009A66C) /* 130CC 80037CCC 35CE0400 */ ori $t6, $t6, 0x400 /* 130D0 80037CD0 8CA20000 */ lw $v0, ($a1) -/* 130D4 80037CD4 3C03DE00 */ lui $v1, %hi(D_DE007A50) +/* 130D4 80037CD4 3C03DE00 */ lui $v1, 0xde00 /* 130D8 80037CD8 0040202D */ daddu $a0, $v0, $zero /* 130DC 80037CDC 24420008 */ addiu $v0, $v0, 8 /* 130E0 80037CE0 ACA20000 */ sw $v0, ($a1) /* 130E4 80037CE4 AC830000 */ sw $v1, ($a0) /* 130E8 80037CE8 3C038007 */ lui $v1, %hi(D_80077A50) -/* 130EC 80037CEC 24637A50 */ addiu $v1, $v1, %lo(D_DE007A50) +/* 130EC 80037CEC 24637A50 */ addiu $v1, $v1, %lo(D_80077A50) /* 130F0 80037CF0 AC830004 */ sw $v1, 4($a0) /* 130F4 80037CF4 24430008 */ addiu $v1, $v0, 8 /* 130F8 80037CF8 ACA30000 */ sw $v1, ($a1) diff --git a/asm/nonmatchings/code_1370_len_7d0/func_80026164.s b/asm/nonmatchings/code_1370_len_7d0/func_80026164.s index 3a16c1f1d2..10fd8bea6e 100644 --- a/asm/nonmatchings/code_1370_len_7d0/func_80026164.s +++ b/asm/nonmatchings/code_1370_len_7d0/func_80026164.s @@ -136,14 +136,14 @@ glabel func_80026164 /* 1770 80026370 24620048 */ addiu $v0, $v1, 0x48 /* 1774 80026374 AC6E0038 */ sw $t6, 0x38($v1) /* 1778 80026378 AE420000 */ sw $v0, ($s2) -/* 177C 8002637C 3C02F900 */ lui $v0, %hi(D_F9003E10) +/* 177C 8002637C 3C02F900 */ lui $v0, 0xf900 /* 1780 80026380 AC620040 */ sw $v0, 0x40($v1) /* 1784 80026384 2402007F */ addiu $v0, $zero, 0x7f /* 1788 80026388 AC620044 */ sw $v0, 0x44($v1) /* 178C 8002638C 24620050 */ addiu $v0, $v1, 0x50 /* 1790 80026390 AE420000 */ sw $v0, ($s2) /* 1794 80026394 3C028007 */ lui $v0, %hi(D_80073E10) -/* 1798 80026398 24423E10 */ addiu $v0, $v0, %lo(D_F9003E10) +/* 1798 80026398 24423E10 */ addiu $v0, $v0, %lo(D_80073E10) /* 179C 8002639C AC6F0048 */ sw $t7, 0x48($v1) /* 17A0 800263A0 AC62004C */ sw $v0, 0x4c($v1) /* 17A4 800263A4 24620058 */ addiu $v0, $v1, 0x58 diff --git a/asm/nonmatchings/code_13870_len_6980/func_8003DC38.s b/asm/nonmatchings/code_13870_len_6980/func_8003DC38.s index 8ec0bd12dc..91312d186c 100644 --- a/asm/nonmatchings/code_13870_len_6980/func_8003DC38.s +++ b/asm/nonmatchings/code_13870_len_6980/func_8003DC38.s @@ -73,13 +73,13 @@ glabel func_8003DC38 /* 19144 8003DD44 46800020 */ cvt.s.w $f0, $f0 /* 19148 8003DD48 46006307 */ neg.s $f12, $f12 /* 1914C 8003DD4C 46006300 */ add.s $f12, $f12, $f0 -/* 19150 8003DD50 3C01C000 */ lui $at, %hi(D_C0007C28) +/* 19150 8003DD50 3C01C000 */ lui $at, 0xc000 /* 19154 8003DD54 4481A000 */ mtc1 $at, $f20 /* 19158 8003DD58 3C0140A0 */ lui $at, 0x40a0 /* 1915C 8003DD5C 44810000 */ mtc1 $at, $f0 /* 19160 8003DD60 46041080 */ add.s $f2, $f2, $f4 /* 19164 8003DD64 3C018007 */ lui $at, %hi(D_80077C28) -/* 19168 8003DD68 A4207C28 */ sh $zero, %lo(D_C0007C28)($at) +/* 19168 8003DD68 A4207C28 */ sh $zero, %lo(D_80077C28)($at) /* 1916C 8003DD6C 46001083 */ div.s $f2, $f2, $f0 /* 19170 8003DD70 0C00A6C9 */ jal clamp_angle /* 19174 8003DD74 4602A501 */ sub.s $f20, $f20, $f2 diff --git a/asm/nonmatchings/code_13870_len_6980/npc_move_heading.s b/asm/nonmatchings/code_13870_len_6980/npc_move_heading.s deleted file mode 100644 index 56e7a5b6d4..0000000000 --- a/asm/nonmatchings/code_13870_len_6980/npc_move_heading.s +++ /dev/null @@ -1,42 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel npc_move_heading -/* 15E54 8003AA54 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 15E58 8003AA58 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 15E5C 8003AA5C 4485B000 */ mtc1 $a1, $f22 -/* 15E60 8003AA60 3C0140C9 */ lui $at, 0x40c9 -/* 15E64 8003AA64 34210FD0 */ ori $at, $at, 0xfd0 -/* 15E68 8003AA68 44810000 */ mtc1 $at, $f0 -/* 15E6C 8003AA6C 44862000 */ mtc1 $a2, $f4 -/* 15E70 8003AA70 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 15E74 8003AA74 46002502 */ mul.s $f20, $f4, $f0 -/* 15E78 8003AA78 00000000 */ nop -/* 15E7C 8003AA7C AFB00010 */ sw $s0, 0x10($sp) -/* 15E80 8003AA80 3C0143B4 */ lui $at, 0x43b4 -/* 15E84 8003AA84 44810000 */ mtc1 $at, $f0 -/* 15E88 8003AA88 0080802D */ daddu $s0, $a0, $zero -/* 15E8C 8003AA8C AFBF0014 */ sw $ra, 0x14($sp) -/* 15E90 8003AA90 4600A503 */ div.s $f20, $f20, $f0 -/* 15E94 8003AA94 0C00A85B */ jal sin_rad -/* 15E98 8003AA98 4600A306 */ mov.s $f12, $f20 -/* 15E9C 8003AA9C 4600A306 */ mov.s $f12, $f20 -/* 15EA0 8003AAA0 0C00A874 */ jal cos_rad -/* 15EA4 8003AAA4 46000506 */ mov.s $f20, $f0 -/* 15EA8 8003AAA8 4614B502 */ mul.s $f20, $f22, $f20 -/* 15EAC 8003AAAC 00000000 */ nop -/* 15EB0 8003AAB0 4600B587 */ neg.s $f22, $f22 -/* 15EB4 8003AAB4 4600B582 */ mul.s $f22, $f22, $f0 -/* 15EB8 8003AAB8 00000000 */ nop -/* 15EBC 8003AABC C6020038 */ lwc1 $f2, 0x38($s0) -/* 15EC0 8003AAC0 46141080 */ add.s $f2, $f2, $f20 -/* 15EC4 8003AAC4 C6000040 */ lwc1 $f0, 0x40($s0) -/* 15EC8 8003AAC8 46160000 */ add.s $f0, $f0, $f22 -/* 15ECC 8003AACC E6020038 */ swc1 $f2, 0x38($s0) -/* 15ED0 8003AAD0 E6000040 */ swc1 $f0, 0x40($s0) -/* 15ED4 8003AAD4 8FBF0014 */ lw $ra, 0x14($sp) -/* 15ED8 8003AAD8 8FB00010 */ lw $s0, 0x10($sp) -/* 15EDC 8003AADC D7B60020 */ ldc1 $f22, 0x20($sp) -/* 15EE0 8003AAE0 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 15EE4 8003AAE4 03E00008 */ jr $ra -/* 15EE8 8003AAE8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_13870_len_6980/set_npc_yaw.s b/asm/nonmatchings/code_13870_len_6980/set_npc_yaw.s deleted file mode 100644 index 66397df8a8..0000000000 --- a/asm/nonmatchings/code_13870_len_6980/set_npc_yaw.s +++ /dev/null @@ -1,42 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel set_npc_yaw -/* 16740 8003B340 44857000 */ mtc1 $a1, $f14 -/* 16744 8003B344 3C038007 */ lui $v1, %hi(gCurrentCameraID) -/* 16748 8003B348 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) -/* 1674C 8003B34C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 16750 8003B350 AFB00010 */ sw $s0, 0x10($sp) -/* 16754 8003B354 0080802D */ daddu $s0, $a0, $zero -/* 16758 8003B358 AFBF0014 */ sw $ra, 0x14($sp) -/* 1675C 8003B35C 00031080 */ sll $v0, $v1, 2 -/* 16760 8003B360 00431021 */ addu $v0, $v0, $v1 -/* 16764 8003B364 00021080 */ sll $v0, $v0, 2 -/* 16768 8003B368 00431023 */ subu $v0, $v0, $v1 -/* 1676C 8003B36C 000218C0 */ sll $v1, $v0, 3 -/* 16770 8003B370 00431021 */ addu $v0, $v0, $v1 -/* 16774 8003B374 000210C0 */ sll $v0, $v0, 3 -/* 16778 8003B378 E60E000C */ swc1 $f14, 0xc($s0) -/* 1677C 8003B37C 3C01800B */ lui $at, %hi(D_800B1DEC) -/* 16780 8003B380 00220821 */ addu $at, $at, $v0 -/* 16784 8003B384 C42C1DEC */ lwc1 $f12, %lo(D_800B1DEC)($at) -/* 16788 8003B388 0C00A70A */ jal get_clamped_angle_diff -/* 1678C 8003B38C 00000000 */ nop -/* 16790 8003B390 44801000 */ mtc1 $zero, $f2 -/* 16794 8003B394 00000000 */ nop -/* 16798 8003B398 4600103E */ c.le.s $f2, $f0 -/* 1679C 8003B39C 00000000 */ nop -/* 167A0 8003B3A0 45000005 */ bc1f .L8003B3B8 -/* 167A4 8003B3A4 240200B4 */ addiu $v0, $zero, 0xb4 -/* 167A8 8003B3A8 A602008A */ sh $v0, 0x8a($s0) -/* 167AC 8003B3AC 24020001 */ addiu $v0, $zero, 1 -/* 167B0 8003B3B0 0800ECF0 */ j .L8003B3C0 -/* 167B4 8003B3B4 A6020088 */ sh $v0, 0x88($s0) -.L8003B3B8: -/* 167B8 8003B3B8 A600008A */ sh $zero, 0x8a($s0) -/* 167BC 8003B3BC A6000088 */ sh $zero, 0x88($s0) -.L8003B3C0: -/* 167C0 8003B3C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 167C4 8003B3C4 8FB00010 */ lw $s0, 0x10($sp) -/* 167C8 8003B3C8 03E00008 */ jr $ra -/* 167CC 8003B3CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_13E120/pause_partners_draw_contents.s b/asm/nonmatchings/code_13E120/pause_partners_draw_contents.s index c9693a49ac..c5d9bdcfb8 100644 --- a/asm/nonmatchings/code_13E120/pause_partners_draw_contents.s +++ b/asm/nonmatchings/code_13E120/pause_partners_draw_contents.s @@ -123,14 +123,14 @@ glabel pause_partners_draw_contents .L8024B0CC: /* 13E40C 8024B0CC 2401FFFF */ addiu $at, $zero, -1 /* 13E410 8024B0D0 14410004 */ bne $v0, $at, .L8024B0E4 -/* 13E414 8024B0D4 3C018000 */ lui $at, %hi(D_800006A8) +/* 13E414 8024B0D4 3C018000 */ lui $at, 0x8000 /* 13E418 8024B0D8 16610002 */ bne $s3, $at, .L8024B0E4 /* 13E41C 8024B0DC 00000000 */ nop /* 13E420 8024B0E0 0006000D */ break 6 .L8024B0E4: /* 13E424 8024B0E4 00001012 */ mflo $v0 /* 13E428 8024B0E8 3C018027 */ lui $at, %hi(D_802706A8) -/* 13E42C 8024B0EC C42006A8 */ lwc1 $f0, %lo(D_800006A8)($at) +/* 13E42C 8024B0EC C42006A8 */ lwc1 $f0, %lo(D_802706A8)($at) /* 13E430 8024B0F0 44826000 */ mtc1 $v0, $f12 /* 13E434 8024B0F4 00000000 */ nop /* 13E438 8024B0F8 46806320 */ cvt.s.w $f12, $f12 @@ -212,14 +212,14 @@ glabel pause_partners_draw_contents .L8024B210: /* 13E550 8024B210 2401FFFF */ addiu $at, $zero, -1 /* 13E554 8024B214 14810004 */ bne $a0, $at, .L8024B228 -/* 13E558 8024B218 3C018000 */ lui $at, %hi(D_800006A8) +/* 13E558 8024B218 3C018000 */ lui $at, 0x8000 /* 13E55C 8024B21C 14410002 */ bne $v0, $at, .L8024B228 /* 13E560 8024B220 00000000 */ nop /* 13E564 8024B224 0006000D */ break 6 .L8024B228: /* 13E568 8024B228 00001012 */ mflo $v0 /* 13E56C 8024B22C 3C018027 */ lui $at, %hi(D_802706A8) -/* 13E570 8024B230 C42006A8 */ lwc1 $f0, %lo(D_800006A8)($at) +/* 13E570 8024B230 C42006A8 */ lwc1 $f0, %lo(D_802706A8)($at) /* 13E574 8024B234 4482A000 */ mtc1 $v0, $f20 /* 13E578 8024B238 00000000 */ nop /* 13E57C 8024B23C 4680A520 */ cvt.s.w $f20, $f20 @@ -565,13 +565,13 @@ glabel pause_partners_draw_contents /* 13EAA0 8024B760 01A21021 */ addu $v0, $t5, $v0 /* 13EAA4 8024B764 AFA20124 */ sw $v0, 0x124($sp) /* 13EAA8 8024B768 8E230000 */ lw $v1, ($s1) -/* 13EAAC 8024B76C 3C02DE00 */ lui $v0, %hi(D_DDFFF750) +/* 13EAAC 8024B76C 3C02DE00 */ lui $v0, 0xde00 /* 13EAB0 8024B770 0060202D */ daddu $a0, $v1, $zero /* 13EAB4 8024B774 24630008 */ addiu $v1, $v1, 8 /* 13EAB8 8024B778 AE230000 */ sw $v1, ($s1) /* 13EABC 8024B77C AC820000 */ sw $v0, ($a0) /* 13EAC0 8024B780 3C028025 */ lui $v0, %hi(D_8024F750) -/* 13EAC4 8024B784 2442F750 */ addiu $v0, $v0, %lo(D_DDFFF750) +/* 13EAC4 8024B784 2442F750 */ addiu $v0, $v0, %lo(D_8024F750) /* 13EAC8 8024B788 AC820004 */ sw $v0, 4($a0) /* 13EACC 8024B78C 24620008 */ addiu $v0, $v1, 8 /* 13EAD0 8024B790 AE220000 */ sw $v0, ($s1) diff --git a/asm/nonmatchings/code_13E120/pause_partners_init.s b/asm/nonmatchings/code_13E120/pause_partners_init.s index ed9e66c6ba..54b2347097 100644 --- a/asm/nonmatchings/code_13E120/pause_partners_init.s +++ b/asm/nonmatchings/code_13E120/pause_partners_init.s @@ -136,14 +136,14 @@ glabel pause_partners_init .L8024C2C8: /* 13F608 8024C2C8 2401FFFF */ addiu $at, $zero, -1 /* 13F60C 8024C2CC 14610004 */ bne $v1, $at, .L8024C2E0 -/* 13F610 8024C2D0 3C018000 */ lui $at, %hi(D_800006A4) +/* 13F610 8024C2D0 3C018000 */ lui $at, 0x8000 /* 13F614 8024C2D4 14410002 */ bne $v0, $at, .L8024C2E0 /* 13F618 8024C2D8 00000000 */ nop /* 13F61C 8024C2DC 0006000D */ break 6 .L8024C2E0: /* 13F620 8024C2E0 00001012 */ mflo $v0 /* 13F624 8024C2E4 3C018027 */ lui $at, %hi(D_802706A4) -/* 13F628 8024C2E8 AC2006A4 */ sw $zero, %lo(D_800006A4)($at) +/* 13F628 8024C2E8 AC2006A4 */ sw $zero, %lo(D_802706A4)($at) /* 13F62C 8024C2EC 3C018027 */ lui $at, %hi(D_802706AC) /* 13F630 8024C2F0 AC2006AC */ sw $zero, %lo(D_802706AC)($at) /* 13F634 8024C2F4 44820000 */ mtc1 $v0, $f0 diff --git a/asm/nonmatchings/code_16F740/update_run_away.s b/asm/nonmatchings/code_16F740/update_run_away.s index ebbdb6278a..d29d3d8f90 100644 --- a/asm/nonmatchings/code_16F740/update_run_away.s +++ b/asm/nonmatchings/code_16F740/update_run_away.s @@ -167,14 +167,14 @@ glabel update_run_away .L80245160: /* 173A40 80245160 2401FFFF */ addiu $at, $zero, -1 /* 173A44 80245164 14610004 */ bne $v1, $at, .L80245178 -/* 173A48 80245168 3C018000 */ lui $at, %hi(D_7FFFF264) +/* 173A48 80245168 3C018000 */ lui $at, 0x8000 /* 173A4C 8024516C 14410002 */ bne $v0, $at, .L80245178 /* 173A50 80245170 00000000 */ nop /* 173A54 80245174 0006000D */ break 6 .L80245178: /* 173A58 80245178 00002012 */ mflo $a0 /* 173A5C 8024517C 3C01802A */ lui $at, %hi(D_8029F264) -/* 173A60 80245180 AC20F264 */ sw $zero, %lo(D_7FFFF264)($at) +/* 173A60 80245180 AC20F264 */ sw $zero, %lo(D_8029F264)($at) /* 173A64 80245184 3C01802A */ lui $at, %hi(D_8029F24C) /* 173A68 80245188 AC20F24C */ sw $zero, %lo(D_8029F24C)($at) /* 173A6C 8024518C 3C018028 */ lui $at, %hi(D_80280A30) diff --git a/asm/nonmatchings/code_1776B0/use_cam_preset.s b/asm/nonmatchings/code_1776B0/use_cam_preset.s index 2e87600f17..a00adf398f 100644 --- a/asm/nonmatchings/code_1776B0/use_cam_preset.s +++ b/asm/nonmatchings/code_1776B0/use_cam_preset.s @@ -321,14 +321,14 @@ glabel use_cam_preset /* 17BD00 8024D420 A0220CE0 */ sb $v0, %lo(D_80280CE0)($at) /* 17BD04 8024D424 3C108028 */ lui $s0, %hi(D_80280E00) /* 17BD08 8024D428 26100E00 */ addiu $s0, $s0, %lo(D_80280E00) -/* 17BD0C 8024D42C 3C01C2BE */ lui $at, %hi(D_C2BDF280) +/* 17BD0C 8024D42C 3C01C2BE */ lui $at, 0xc2be /* 17BD10 8024D430 44816000 */ mtc1 $at, $f12 /* 17BD14 8024D434 3C014190 */ lui $at, 0x4190 /* 17BD18 8024D438 44817000 */ mtc1 $at, $f14 /* 17BD1C 8024D43C 3C064120 */ lui $a2, 0x4120 /* 17BD20 8024D440 240200FF */ addiu $v0, $zero, 0xff /* 17BD24 8024D444 3C01802A */ lui $at, %hi(D_8029F280) -/* 17BD28 8024D448 A422F280 */ sh $v0, %lo(D_C2BDF280)($at) +/* 17BD28 8024D448 A422F280 */ sh $v0, %lo(D_8029F280)($at) /* 17BD2C 8024D44C 24020008 */ addiu $v0, $zero, 8 /* 17BD30 8024D450 3C01802A */ lui $at, %hi(D_8029F284) /* 17BD34 8024D454 A422F284 */ sh $v0, %lo(D_8029F284)($at) @@ -461,13 +461,13 @@ glabel use_cam_preset /* 17BF30 8024D650 00000000 */ nop /* 17BF34 8024D654 3C108028 */ lui $s0, %hi(D_80280D90) /* 17BF38 8024D658 26100D90 */ addiu $s0, $s0, %lo(D_80280D90) -/* 17BF3C 8024D65C 3C01C282 */ lui $at, %hi(D_C281F280) +/* 17BF3C 8024D65C 3C01C282 */ lui $at, 0xc282 /* 17BF40 8024D660 44810000 */ mtc1 $at, $f0 /* 17BF44 8024D664 3C0141F0 */ lui $at, 0x41f0 /* 17BF48 8024D668 44811000 */ mtc1 $at, $f2 /* 17BF4C 8024D66C 2402012C */ addiu $v0, $zero, 0x12c /* 17BF50 8024D670 3C01802A */ lui $at, %hi(D_8029F280) -/* 17BF54 8024D674 A422F280 */ sh $v0, %lo(D_C281F280)($at) +/* 17BF54 8024D674 A422F280 */ sh $v0, %lo(D_8029F280)($at) /* 17BF58 8024D678 24020008 */ addiu $v0, $zero, 8 /* 17BF5C 8024D67C 3C01802A */ lui $at, %hi(D_8029F284) /* 17BF60 8024D680 A422F284 */ sh $v0, %lo(D_8029F284)($at) @@ -851,13 +851,13 @@ glabel use_cam_preset /* 17C534 8024DC54 00000000 */ nop /* 17C538 8024DC58 3C108028 */ lui $s0, %hi(D_80280D90) /* 17C53C 8024DC5C 26100D90 */ addiu $s0, $s0, %lo(D_80280D90) -/* 17C540 8024DC60 3C01C296 */ lui $at, %hi(D_C295F280) +/* 17C540 8024DC60 3C01C296 */ lui $at, 0xc296 /* 17C544 8024DC64 44810000 */ mtc1 $at, $f0 /* 17C548 8024DC68 3C014316 */ lui $at, 0x4316 /* 17C54C 8024DC6C 44811000 */ mtc1 $at, $f2 /* 17C550 8024DC70 240200A6 */ addiu $v0, $zero, 0xa6 /* 17C554 8024DC74 3C01802A */ lui $at, %hi(D_8029F280) -/* 17C558 8024DC78 A422F280 */ sh $v0, %lo(D_C295F280)($at) +/* 17C558 8024DC78 A422F280 */ sh $v0, %lo(D_8029F280)($at) /* 17C55C 8024DC7C 24020008 */ addiu $v0, $zero, 8 /* 17C560 8024DC80 3C01802A */ lui $at, %hi(D_8029F284) /* 17C564 8024DC84 A422F284 */ sh $v0, %lo(D_8029F284)($at) @@ -1046,13 +1046,13 @@ glabel use_cam_preset /* 17C838 8024DF58 00000000 */ nop /* 17C83C 8024DF5C 3C108028 */ lui $s0, %hi(D_80280D90) /* 17C840 8024DF60 26100D90 */ addiu $s0, $s0, %lo(D_80280D90) -/* 17C844 8024DF64 3C01C2BE */ lui $at, %hi(D_C2BDF280) +/* 17C844 8024DF64 3C01C2BE */ lui $at, 0xc2be /* 17C848 8024DF68 44810000 */ mtc1 $at, $f0 /* 17C84C 8024DF6C 3C0141B0 */ lui $at, 0x41b0 /* 17C850 8024DF70 44811000 */ mtc1 $at, $f2 /* 17C854 8024DF74 240200D2 */ addiu $v0, $zero, 0xd2 /* 17C858 8024DF78 3C01802A */ lui $at, %hi(D_8029F280) -/* 17C85C 8024DF7C A422F280 */ sh $v0, %lo(D_C2BDF280)($at) +/* 17C85C 8024DF7C A422F280 */ sh $v0, %lo(D_8029F280)($at) /* 17C860 8024DF80 24020008 */ addiu $v0, $zero, 8 /* 17C864 8024DF84 3C01802A */ lui $at, %hi(D_8029F284) /* 17C868 8024DF88 A422F284 */ sh $v0, %lo(D_8029F284)($at) diff --git a/asm/nonmatchings/code_18C790/func_8025E190.s b/asm/nonmatchings/code_18C790/func_8025E190.s index 34145c98c9..981aa4c399 100644 --- a/asm/nonmatchings/code_18C790/func_8025E190.s +++ b/asm/nonmatchings/code_18C790/func_8025E190.s @@ -125,14 +125,14 @@ glabel func_8025E190 .L8025E364: /* 18CC44 8025E364 2401FFFF */ addiu $at, $zero, -1 /* 18CC48 8025E368 14610004 */ bne $v1, $at, .L8025E37C -/* 18CC4C 8025E36C 3C018000 */ lui $at, %hi(D_7FFFFB78) +/* 18CC4C 8025E36C 3C018000 */ lui $at, 0x8000 /* 18CC50 8025E370 14810002 */ bne $a0, $at, .L8025E37C /* 18CC54 8025E374 00000000 */ nop /* 18CC58 8025E378 0006000D */ break 6 .L8025E37C: /* 18CC5C 8025E37C 00002012 */ mflo $a0 /* 18CC60 8025E380 3C01802A */ lui $at, %hi(D_8029FB78) -/* 18CC64 8025E384 AC20FB78 */ sw $zero, %lo(D_7FFFFB78)($at) +/* 18CC64 8025E384 AC20FB78 */ sw $zero, %lo(D_8029FB78)($at) /* 18CC68 8025E388 3C01802A */ lui $at, %hi(D_8029FB54) /* 18CC6C 8025E38C AC23FB54 */ sw $v1, %lo(D_8029FB54)($at) /* 18CC70 8025E390 0040282D */ daddu $a1, $v0, $zero @@ -303,14 +303,14 @@ glabel func_8025E190 /* 18CEE8 8025E608 24C61000 */ addiu $a2, $a2, %lo(D_802A1000) /* 18CEEC 8025E60C 0C00A5CF */ jal dma_copy /* 18CEF0 8025E610 00000000 */ nop -/* 18CEF4 8025E614 3C048000 */ lui $a0, %hi(D_80004880) +/* 18CEF4 8025E614 3C048000 */ lui $a0, 0x8000 /* 18CEF8 8025E618 0C05272D */ jal play_sound /* 18CEFC 8025E61C 34840008 */ ori $a0, $a0, 8 /* 18CF00 8025E620 24020005 */ addiu $v0, $zero, 5 /* 18CF04 8025E624 08097FD0 */ j .L8025FF40 /* 18CF08 8025E628 AE000000 */ sw $zero, ($s0) /* 18CF0C 8025E62C 3C048028 */ lui $a0, %hi(D_80284880) -/* 18CF10 8025E630 24844880 */ addiu $a0, $a0, %lo(D_80004880) +/* 18CF10 8025E630 24844880 */ addiu $a0, $a0, %lo(D_80284880) /* 18CF14 8025E634 2405000A */ addiu $a1, $zero, 0xa /* 18CF18 8025E638 0C0B0CF8 */ jal start_script /* 18CF1C 8025E63C 0000302D */ daddu $a2, $zero, $zero diff --git a/asm/nonmatchings/code_1b40_len_20b0/load_engine_data.s b/asm/nonmatchings/code_1b40_len_20b0/load_engine_data.s index d120ccb1a2..67f8cd42ab 100644 --- a/asm/nonmatchings/code_1b40_len_20b0/load_engine_data.s +++ b/asm/nonmatchings/code_1b40_len_20b0/load_engine_data.s @@ -24,24 +24,24 @@ glabel load_engine_data /* 2228 80026E28 248479B0 */ addiu $a0, $a0, 0x79b0 /* 222C 80026E2C 3C050010 */ lui $a1, 0x10 /* 2230 80026E30 24A5EE30 */ addiu $a1, $a1, -0x11d0 -/* 2234 80026E34 3C06802C */ lui $a2, %hi(D_802C3000) -/* 2238 80026E38 24C63000 */ addiu $a2, $a2, %lo(D_802C3000) +/* 2234 80026E34 3C06802C */ lui $a2, %hi(sort_scripts) +/* 2238 80026E38 24C63000 */ addiu $a2, $a2, %lo(sort_scripts) /* 223C 80026E3C 0C00A5CF */ jal dma_copy /* 2240 80026E40 00000000 */ nop /* 2244 80026E44 3C040010 */ lui $a0, 0x10 /* 2248 80026E48 24842610 */ addiu $a0, $a0, 0x2610 /* 224C 80026E4C 3C050011 */ lui $a1, 0x11 /* 2250 80026E50 24A5CC10 */ addiu $a1, $a1, -0x33f0 -/* 2254 80026E54 3C06802E */ lui $a2, %hi(D_802E0D90) -/* 2258 80026E58 24C60D90 */ addiu $a2, $a2, %lo(D_802E0D90) +/* 2254 80026E54 3C06802E */ lui $a2, %hi(create_shadow_callback) +/* 2258 80026E58 24C60D90 */ addiu $a2, $a2, %lo(create_shadow_callback) /* 225C 80026E5C 0C00A5CF */ jal dma_copy /* 2260 80026E60 00000000 */ nop /* 2264 80026E64 3C04000A */ lui $a0, 0xa /* 2268 80026E68 24845DD0 */ addiu $a0, $a0, 0x5dd0 /* 226C 80026E6C 3C05000E */ lui $a1, 0xe /* 2270 80026E70 24A579B0 */ addiu $a1, $a1, 0x79b0 -/* 2274 80026E74 3C068011 */ lui $a2, %hi(D_8010F6D0) -/* 2278 80026E78 24C6F6D0 */ addiu $a2, $a2, %lo(D_8010F6D0) +/* 2274 80026E74 3C068011 */ lui $a2, %hi(update_entities) +/* 2278 80026E78 24C6F6D0 */ addiu $a2, $a2, %lo(update_entities) /* 227C 80026E7C 0C00A5CF */ jal dma_copy /* 2280 80026E80 00000000 */ nop /* 2284 80026E84 3C040011 */ lui $a0, 0x11 diff --git a/asm/nonmatchings/code_1f580_len_1940/MakeNpcs.s b/asm/nonmatchings/code_1f580_len_1940/MakeNpcs.s deleted file mode 100644 index b25a3bf5be..0000000000 --- a/asm/nonmatchings/code_1f580_len_1940/MakeNpcs.s +++ /dev/null @@ -1,51 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel MakeNpcs -/* 1F698 80044298 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 1F69C 8004429C AFB10014 */ sw $s1, 0x14($sp) -/* 1F6A0 800442A0 0080882D */ daddu $s1, $a0, $zero -/* 1F6A4 800442A4 AFBF0018 */ sw $ra, 0x18($sp) -/* 1F6A8 800442A8 AFB00010 */ sw $s0, 0x10($sp) -/* 1F6AC 800442AC 8E30000C */ lw $s0, 0xc($s1) -/* 1F6B0 800442B0 54A00001 */ bnel $a1, $zero, .L800442B8 -/* 1F6B4 800442B4 AE200070 */ sw $zero, 0x70($s1) -.L800442B8: -/* 1F6B8 800442B8 8E240070 */ lw $a0, 0x70($s1) -/* 1F6BC 800442BC 10800005 */ beqz $a0, .L800442D4 -/* 1F6C0 800442C0 24020001 */ addiu $v0, $zero, 1 -/* 1F6C4 800442C4 10820014 */ beq $a0, $v0, .L80044318 -/* 1F6C8 800442C8 0000102D */ daddu $v0, $zero, $zero -/* 1F6CC 800442CC 080110CB */ j .L8004432C -/* 1F6D0 800442D0 00000000 */ nop -.L800442D4: -/* 1F6D4 800442D4 8E050000 */ lw $a1, ($s0) -/* 1F6D8 800442D8 26100004 */ addiu $s0, $s0, 4 -/* 1F6DC 800442DC 0C0B1EAF */ jal get_variable -/* 1F6E0 800442E0 0220202D */ daddu $a0, $s1, $zero -/* 1F6E4 800442E4 0220202D */ daddu $a0, $s1, $zero -/* 1F6E8 800442E8 8E050000 */ lw $a1, ($s0) -/* 1F6EC 800442EC 0C0B1EAF */ jal get_variable -/* 1F6F0 800442F0 0040802D */ daddu $s0, $v0, $zero -/* 1F6F4 800442F4 3C038007 */ lui $v1, %hi(gGameStatusPtr) -/* 1F6F8 800442F8 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) -/* 1F6FC 800442FC 0200202D */ daddu $a0, $s0, $zero -/* 1F700 80044300 8465008C */ lh $a1, 0x8c($v1) -/* 1F704 80044304 0C00F99E */ jal make_npcs -/* 1F708 80044308 0040302D */ daddu $a2, $v0, $zero -/* 1F70C 8004430C 24020001 */ addiu $v0, $zero, 1 -/* 1F710 80044310 080110CA */ j .L80044328 -/* 1F714 80044314 AE220070 */ sw $v0, 0x70($s1) -.L80044318: -/* 1F718 80044318 3C03800A */ lui $v1, %hi(gGameState) -/* 1F71C 8004431C 8C63A600 */ lw $v1, %lo(gGameState)($v1) -/* 1F720 80044320 14640002 */ bne $v1, $a0, .L8004432C -/* 1F724 80044324 24020002 */ addiu $v0, $zero, 2 -.L80044328: -/* 1F728 80044328 0000102D */ daddu $v0, $zero, $zero -.L8004432C: -/* 1F72C 8004432C 8FBF0018 */ lw $ra, 0x18($sp) -/* 1F730 80044330 8FB10014 */ lw $s1, 0x14($sp) -/* 1F734 80044334 8FB00010 */ lw $s0, 0x10($sp) -/* 1F738 80044338 03E00008 */ jr $ra -/* 1F73C 8004433C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_1f580_len_1940/func_80045900.s b/asm/nonmatchings/code_1f580_len_1940/func_80045900.s deleted file mode 100644 index 136b00433c..0000000000 --- a/asm/nonmatchings/code_1f580_len_1940/func_80045900.s +++ /dev/null @@ -1,94 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80045900 -/* 20D00 80045900 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 20D04 80045904 AFB00040 */ sw $s0, 0x40($sp) -/* 20D08 80045908 0080802D */ daddu $s0, $a0, $zero -/* 20D0C 8004590C AFBF0048 */ sw $ra, 0x48($sp) -/* 20D10 80045910 AFB10044 */ sw $s1, 0x44($sp) -/* 20D14 80045914 8E110148 */ lw $s1, 0x148($s0) -/* 20D18 80045918 0C00EABB */ jal get_npc_unsafe -/* 20D1C 8004591C 86240008 */ lh $a0, 8($s1) -/* 20D20 80045920 8E03000C */ lw $v1, 0xc($s0) -/* 20D24 80045924 0200202D */ daddu $a0, $s0, $zero -/* 20D28 80045928 8C650000 */ lw $a1, ($v1) -/* 20D2C 8004592C 0C0B1EAF */ jal get_variable -/* 20D30 80045930 0040802D */ daddu $s0, $v0, $zero -/* 20D34 80045934 8E2300B0 */ lw $v1, 0xb0($s1) -/* 20D38 80045938 34630004 */ ori $v1, $v1, 4 -/* 20D3C 8004593C 14400040 */ bnez $v0, .L80045A40 -/* 20D40 80045940 AE2300B0 */ sw $v1, 0xb0($s1) -/* 20D44 80045944 30620010 */ andi $v0, $v1, 0x10 -/* 20D48 80045948 14400004 */ bnez $v0, .L8004595C -/* 20D4C 8004594C 00000000 */ nop -/* 20D50 80045950 8E2200CC */ lw $v0, 0xcc($s1) -/* 20D54 80045954 8C420000 */ lw $v0, ($v0) -/* 20D58 80045958 AE020028 */ sw $v0, 0x28($s0) -.L8004595C: -/* 20D5C 8004595C 8E2200B0 */ lw $v0, 0xb0($s1) -/* 20D60 80045960 30420008 */ andi $v0, $v0, 8 -/* 20D64 80045964 14400015 */ bnez $v0, .L800459BC -/* 20D68 80045968 24040002 */ addiu $a0, $zero, 2 -/* 20D6C 8004596C 0200282D */ daddu $a1, $s0, $zero -/* 20D70 80045970 860300A8 */ lh $v1, 0xa8($s0) -/* 20D74 80045974 44800000 */ mtc1 $zero, $f0 -/* 20D78 80045978 3C01C1A0 */ lui $at, 0xc1a0 -/* 20D7C 8004597C 44811000 */ mtc1 $at, $f2 -/* 20D80 80045980 24020028 */ addiu $v0, $zero, 0x28 -/* 20D84 80045984 AFA2001C */ sw $v0, 0x1c($sp) -/* 20D88 80045988 44834000 */ mtc1 $v1, $f8 -/* 20D8C 8004598C 00000000 */ nop -/* 20D90 80045990 46804220 */ cvt.s.w $f8, $f8 -/* 20D94 80045994 44060000 */ mfc1 $a2, $f0 -/* 20D98 80045998 3C013F80 */ lui $at, 0x3f80 -/* 20D9C 8004599C 44810000 */ mtc1 $at, $f0 -/* 20DA0 800459A0 44074000 */ mfc1 $a3, $f8 -/* 20DA4 800459A4 03A21021 */ addu $v0, $sp, $v0 -/* 20DA8 800459A8 AFA20020 */ sw $v0, 0x20($sp) -/* 20DAC 800459AC E7A20018 */ swc1 $f2, 0x18($sp) -/* 20DB0 800459B0 E7A00010 */ swc1 $f0, 0x10($sp) -/* 20DB4 800459B4 0C01BFA4 */ jal fx_emote -/* 20DB8 800459B8 AFA60014 */ sw $a2, 0x14($sp) -.L800459BC: -/* 20DBC 800459BC 8E020000 */ lw $v0, ($s0) -/* 20DC0 800459C0 24030808 */ addiu $v1, $zero, 0x808 -/* 20DC4 800459C4 30420A08 */ andi $v0, $v0, 0xa08 -/* 20DC8 800459C8 1443001D */ bne $v0, $v1, .L80045A40 -/* 20DCC 800459CC 27A5002C */ addiu $a1, $sp, 0x2c -/* 20DD0 800459D0 27A60030 */ addiu $a2, $sp, 0x30 -/* 20DD4 800459D4 C6000038 */ lwc1 $f0, 0x38($s0) -/* 20DD8 800459D8 860200A8 */ lh $v0, 0xa8($s0) -/* 20DDC 800459DC 3C0142C8 */ lui $at, 0x42c8 -/* 20DE0 800459E0 44812000 */ mtc1 $at, $f4 -/* 20DE4 800459E4 44823000 */ mtc1 $v0, $f6 -/* 20DE8 800459E8 00000000 */ nop -/* 20DEC 800459EC 468031A0 */ cvt.s.w $f6, $f6 -/* 20DF0 800459F0 27A20038 */ addiu $v0, $sp, 0x38 -/* 20DF4 800459F4 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 20DF8 800459F8 C600003C */ lwc1 $f0, 0x3c($s0) -/* 20DFC 800459FC C6020040 */ lwc1 $f2, 0x40($s0) -/* 20E00 80045A00 46060000 */ add.s $f0, $f0, $f6 -/* 20E04 80045A04 E7A40038 */ swc1 $f4, 0x38($sp) -/* 20E08 80045A08 E7A20034 */ swc1 $f2, 0x34($sp) -/* 20E0C 80045A0C E7A00030 */ swc1 $f0, 0x30($sp) -/* 20E10 80045A10 AFA20010 */ sw $v0, 0x10($sp) -/* 20E14 80045A14 8E040080 */ lw $a0, 0x80($s0) -/* 20E18 80045A18 0C0372DF */ jal func_800DCB7C -/* 20E1C 80045A1C 27A70034 */ addiu $a3, $sp, 0x34 -/* 20E20 80045A20 10400003 */ beqz $v0, .L80045A30 -/* 20E24 80045A24 00000000 */ nop -/* 20E28 80045A28 C7A00030 */ lwc1 $f0, 0x30($sp) -/* 20E2C 80045A2C E600003C */ swc1 $f0, 0x3c($s0) -.L80045A30: -/* 20E30 80045A30 8E020000 */ lw $v0, ($s0) -/* 20E34 80045A34 2403F7FF */ addiu $v1, $zero, -0x801 -/* 20E38 80045A38 00431024 */ and $v0, $v0, $v1 -/* 20E3C 80045A3C AE020000 */ sw $v0, ($s0) -.L80045A40: -/* 20E40 80045A40 8FBF0048 */ lw $ra, 0x48($sp) -/* 20E44 80045A44 8FB10044 */ lw $s1, 0x44($sp) -/* 20E48 80045A48 8FB00040 */ lw $s0, 0x40($sp) -/* 20E4C 80045A4C 24020002 */ addiu $v0, $zero, 2 -/* 20E50 80045A50 03E00008 */ jr $ra -/* 20E54 80045A54 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/nonmatchings/code_25f00_len_940/func_8004AB00.s b/asm/nonmatchings/code_25f00_len_940/func_8004AB00.s index 60ec8a0a65..5a3d1080cf 100644 --- a/asm/nonmatchings/code_25f00_len_940/func_8004AB00.s +++ b/asm/nonmatchings/code_25f00_len_940/func_8004AB00.s @@ -39,14 +39,14 @@ glabel func_8004AB00 /* 25F88 8004AB88 26523510 */ addiu $s2, $s2, %lo(D_800A3510) /* 25F8C 8004AB8C AFA20020 */ sw $v0, 0x20($sp) /* 25F90 8004AB90 00001810 */ mfhi $v1 -/* 25F94 8004AB94 3C02B216 */ lui $v0, %hi(D_B215B224) +/* 25F94 8004AB94 3C02B216 */ lui $v0, 0xb216 /* 25F98 8004AB98 344242C9 */ ori $v0, $v0, 0x42c9 /* 25F9C 8004AB9C 00031942 */ srl $v1, $v1, 5 /* 25FA0 8004ABA0 00620019 */ multu $v1, $v0 /* 25FA4 8004ABA4 A3A00024 */ sb $zero, 0x24($sp) /* 25FA8 8004ABA8 AFB0002C */ sw $s0, 0x2c($sp) /* 25FAC 8004ABAC 3C028005 */ lui $v0, %hi(nuAuDmaNew) -/* 25FB0 8004ABB0 2442B224 */ addiu $v0, $v0, %lo(D_B215B224) +/* 25FB0 8004ABB0 2442B224 */ addiu $v0, $v0, %lo(nuAuDmaNew) /* 25FB4 8004ABB4 AFA20028 */ sw $v0, 0x28($sp) /* 25FB8 8004ABB8 00001810 */ mfhi $v1 /* 25FBC 8004ABBC 000319C2 */ srl $v1, $v1, 7 @@ -118,8 +118,8 @@ glabel func_8004AB00 /* 260B8 8004ACB8 1440FFF6 */ bnez $v0, .L8004AC94 /* 260BC 8004ACBC 26100004 */ addiu $s0, $s0, 4 /* 260C0 8004ACC0 0000882D */ daddu $s1, $zero, $zero -/* 260C4 8004ACC4 3C02800A */ lui $v0, %hi(D_800A3BE0) -/* 260C8 8004ACC8 24423BE0 */ addiu $v0, $v0, %lo(D_800A3BE0) +/* 260C4 8004ACC4 3C02800A */ lui $v0, %hi(nuAuDmaBuf) +/* 260C8 8004ACC8 24423BE0 */ addiu $v0, $v0, %lo(nuAuDmaBuf) /* 260CC 8004ACCC 0040802D */ daddu $s0, $v0, $zero /* 260D0 8004ACD0 26120014 */ addiu $s2, $s0, 0x14 /* 260D4 8004ACD4 AE000004 */ sw $zero, 4($s0) @@ -158,8 +158,8 @@ glabel func_8004AB00 /* 26154 8004AD54 248491A0 */ addiu $a0, $a0, %lo(D_800B91A0) /* 26158 8004AD58 3C028005 */ lui $v0, %hi(D_8004B328) /* 2615C 8004AD5C 2442B328 */ addiu $v0, $v0, %lo(D_8004B328) -/* 26160 8004AD60 3C018008 */ lui $at, %hi(D_80078174) -/* 26164 8004AD64 AC228174 */ sw $v0, %lo(D_80078174)($at) +/* 26160 8004AD60 3C018008 */ lui $at, %hi(nuAuPreNMIFunc) +/* 26164 8004AD64 AC228174 */ sw $v0, %lo(nuAuPreNMIFunc)($at) /* 26168 8004AD68 0C015894 */ jal func_80056250 /* 2616C 8004AD6C 27A50018 */ addiu $a1, $sp, 0x18 /* 26170 8004AD70 8FA40020 */ lw $a0, 0x20($sp) diff --git a/asm/nonmatchings/code_25f00_len_940/func_8004ADD0.s b/asm/nonmatchings/code_25f00_len_940/func_8004ADD0.s deleted file mode 100644 index b5137fbdbc..0000000000 --- a/asm/nonmatchings/code_25f00_len_940/func_8004ADD0.s +++ /dev/null @@ -1,18 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004ADD0 -/* 261D0 8004ADD0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 261D4 8004ADD4 AFB00010 */ sw $s0, 0x10($sp) -/* 261D8 8004ADD8 0080802D */ daddu $s0, $a0, $zero -/* 261DC 8004ADDC AFBF0014 */ sw $ra, 0x14($sp) -/* 261E0 8004ADE0 0C018250 */ jal osSetIntMask -/* 261E4 8004ADE4 24040001 */ addiu $a0, $zero, 1 -/* 261E8 8004ADE8 3C018008 */ lui $at, %hi(D_80078174) -/* 261EC 8004ADEC AC308174 */ sw $s0, %lo(D_80078174)($at) -/* 261F0 8004ADF0 0C018250 */ jal osSetIntMask -/* 261F4 8004ADF4 0040202D */ daddu $a0, $v0, $zero -/* 261F8 8004ADF8 8FBF0014 */ lw $ra, 0x14($sp) -/* 261FC 8004ADFC 8FB00010 */ lw $s0, 0x10($sp) -/* 26200 8004AE00 03E00008 */ jr $ra -/* 26204 8004AE04 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_25f00_len_940/func_8004AE08.s b/asm/nonmatchings/code_25f00_len_940/func_8004AE08.s index 490392cf5c..b033ddf2df 100644 --- a/asm/nonmatchings/code_25f00_len_940/func_8004AE08.s +++ b/asm/nonmatchings/code_25f00_len_940/func_8004AE08.s @@ -145,8 +145,8 @@ glabel func_8004AE08 /* 26408 8004B008 0040302D */ daddu $a2, $v0, $zero /* 2640C 8004B00C 0C015970 */ jal alAudioFrame /* 26410 8004B010 02A0382D */ daddu $a3, $s5, $zero -/* 26414 8004B014 3C038008 */ lui $v1, %hi(D_80078174) -/* 26418 8004B018 8C638174 */ lw $v1, %lo(D_80078174)($v1) +/* 26414 8004B014 3C038008 */ lui $v1, %hi(nuAuPreNMIFunc) +/* 26418 8004B018 8C638174 */ lw $v1, %lo(nuAuPreNMIFunc)($v1) /* 2641C 8004B01C 1060FFA0 */ beqz $v1, .L8004AEA0 /* 26420 8004B020 AFA2007C */ sw $v0, 0x7c($sp) /* 26424 8004B024 92E20000 */ lbu $v0, ($s7) @@ -158,8 +158,8 @@ glabel func_8004AE08 /* 2643C 8004B03C 08012C19 */ j .L8004B064 /* 26440 8004B040 00000000 */ nop .L8004B044: -/* 26444 8004B044 3C028008 */ lui $v0, %hi(D_80078174) -/* 26448 8004B048 8C428174 */ lw $v0, %lo(D_80078174)($v0) +/* 26444 8004B044 3C028008 */ lui $v0, %hi(nuAuPreNMIFunc) +/* 26448 8004B048 8C428174 */ lw $v0, %lo(nuAuPreNMIFunc)($v0) /* 2644C 8004B04C 10400005 */ beqz $v0, .L8004B064 /* 26450 8004B050 00000000 */ nop /* 26454 8004B054 3C058008 */ lui $a1, %hi(D_80078170) diff --git a/asm/nonmatchings/code_25f00_len_940/nuAuCleanDMABuffers.s b/asm/nonmatchings/code_25f00_len_940/nuAuCleanDMABuffers.s deleted file mode 100644 index 9199aedaa2..0000000000 --- a/asm/nonmatchings/code_25f00_len_940/nuAuCleanDMABuffers.s +++ /dev/null @@ -1,57 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel nuAuCleanDMABuffers -/* 26668 8004B268 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 2666C 8004B26C 3C02800A */ lui $v0, %hi(D_800A3BD0) -/* 26670 8004B270 24423BD0 */ addiu $v0, $v0, %lo(D_800A3BD0) -/* 26674 8004B274 AFBF001C */ sw $ra, 0x1c($sp) -/* 26678 8004B278 AFB20018 */ sw $s2, 0x18($sp) -/* 2667C 8004B27C AFB10014 */ sw $s1, 0x14($sp) -/* 26680 8004B280 AFB00010 */ sw $s0, 0x10($sp) -/* 26684 8004B284 8C500004 */ lw $s0, 4($v0) -/* 26688 8004B288 1200001A */ beqz $s0, .L8004B2F4 -/* 2668C 8004B28C 0040902D */ daddu $s2, $v0, $zero -.L8004B290: -/* 26690 8004B290 8E02000C */ lw $v0, 0xc($s0) -/* 26694 8004B294 3C038008 */ lui $v1, %hi(D_8007817C) -/* 26698 8004B298 8C63817C */ lw $v1, %lo(D_8007817C)($v1) -/* 2669C 8004B29C 8E110000 */ lw $s1, ($s0) -/* 266A0 8004B2A0 24420001 */ addiu $v0, $v0, 1 -/* 266A4 8004B2A4 0043102B */ sltu $v0, $v0, $v1 -/* 266A8 8004B2A8 50400010 */ beql $v0, $zero, .L8004B2EC -/* 266AC 8004B2AC 0220802D */ daddu $s0, $s1, $zero -/* 266B0 8004B2B0 8E420004 */ lw $v0, 4($s2) -/* 266B4 8004B2B4 50500001 */ beql $v0, $s0, .L8004B2BC -/* 266B8 8004B2B8 AE510004 */ sw $s1, 4($s2) -.L8004B2BC: -/* 266BC 8004B2BC 0C012D03 */ jal alUnlink -/* 266C0 8004B2C0 0200202D */ daddu $a0, $s0, $zero -/* 266C4 8004B2C4 8E450008 */ lw $a1, 8($s2) -/* 266C8 8004B2C8 50A00005 */ beql $a1, $zero, .L8004B2E0 -/* 266CC 8004B2CC AE500008 */ sw $s0, 8($s2) -/* 266D0 8004B2D0 0C012CFB */ jal alLink -/* 266D4 8004B2D4 0200202D */ daddu $a0, $s0, $zero -/* 266D8 8004B2D8 08012CBB */ j .L8004B2EC -/* 266DC 8004B2DC 0220802D */ daddu $s0, $s1, $zero -.L8004B2E0: -/* 266E0 8004B2E0 AE000000 */ sw $zero, ($s0) -/* 266E4 8004B2E4 AE000004 */ sw $zero, 4($s0) -/* 266E8 8004B2E8 0220802D */ daddu $s0, $s1, $zero -.L8004B2EC: -/* 266EC 8004B2EC 1600FFE8 */ bnez $s0, .L8004B290 -/* 266F0 8004B2F0 00000000 */ nop -.L8004B2F4: -/* 266F4 8004B2F4 3C038008 */ lui $v1, %hi(D_8007817C) -/* 266F8 8004B2F8 2463817C */ addiu $v1, $v1, %lo(D_8007817C) -/* 266FC 8004B2FC 8C620000 */ lw $v0, ($v1) -/* 26700 8004B300 3C018008 */ lui $at, %hi(D_80078178) -/* 26704 8004B304 AC208178 */ sw $zero, %lo(D_80078178)($at) -/* 26708 8004B308 24420001 */ addiu $v0, $v0, 1 -/* 2670C 8004B30C AC620000 */ sw $v0, ($v1) -/* 26710 8004B310 8FBF001C */ lw $ra, 0x1c($sp) -/* 26714 8004B314 8FB20018 */ lw $s2, 0x18($sp) -/* 26718 8004B318 8FB10014 */ lw $s1, 0x14($sp) -/* 2671C 8004B31C 8FB00010 */ lw $s0, 0x10($sp) -/* 26720 8004B320 03E00008 */ jr $ra -/* 26724 8004B324 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_25f00_len_940/nuAuDmaCallBack.s b/asm/nonmatchings/code_25f00_len_940/nuAuDmaCallBack.s index c12d03ac2e..d6f1a17d0d 100644 --- a/asm/nonmatchings/code_25f00_len_940/nuAuDmaCallBack.s +++ b/asm/nonmatchings/code_25f00_len_940/nuAuDmaCallBack.s @@ -33,8 +33,8 @@ glabel nuAuDmaCallBack /* 264DC 8004B0DC 1620FFF7 */ bnez $s1, .L8004B0BC /* 264E0 8004B0E0 00000000 */ nop .L8004B0E4: -/* 264E4 8004B0E4 3C12800A */ lui $s2, %hi(D_800A3BD0) -/* 264E8 8004B0E8 26523BD0 */ addiu $s2, $s2, %lo(D_800A3BD0) +/* 264E4 8004B0E4 3C12800A */ lui $s2, %hi(nuAuDmaState) +/* 264E8 8004B0E8 26523BD0 */ addiu $s2, $s2, %lo(nuAuDmaState) /* 264EC 8004B0EC 8E510008 */ lw $s1, 8($s2) /* 264F0 8004B0F0 16200006 */ bnez $s1, .L8004B10C /* 264F4 8004B0F4 0220202D */ daddu $a0, $s1, $zero @@ -65,8 +65,8 @@ glabel nuAuDmaCallBack .L8004B150: /* 26550 8004B150 8E240010 */ lw $a0, 0x10($s1) /* 26554 8004B154 8E220008 */ lw $v0, 8($s1) -/* 26558 8004B158 3C038008 */ lui $v1, %hi(D_8007817C) -/* 2655C 8004B15C 8C63817C */ lw $v1, %lo(D_8007817C)($v1) +/* 26558 8004B158 3C038008 */ lui $v1, %hi(nuAuFrameCounter) +/* 2655C 8004B15C 8C63817C */ lw $v1, %lo(nuAuFrameCounter)($v1) /* 26560 8004B160 00932021 */ addu $a0, $a0, $s3 /* 26564 8004B164 00822023 */ subu $a0, $a0, $v0 /* 26568 8004B168 0C0187A4 */ jal osVirtualToPhysical @@ -78,8 +78,8 @@ glabel nuAuDmaCallBack /* 2657C 8004B17C AE200000 */ sw $zero, ($s1) /* 26580 8004B180 AE200004 */ sw $zero, 4($s1) .L8004B184: -/* 26584 8004B184 3C048008 */ lui $a0, %hi(D_80078178) -/* 26588 8004B188 24848178 */ addiu $a0, $a0, %lo(D_80078178) +/* 26584 8004B184 3C048008 */ lui $a0, %hi(nuAuDmaNext) +/* 26588 8004B188 24848178 */ addiu $a0, $a0, %lo(nuAuDmaNext) /* 2658C 8004B18C 32700001 */ andi $s0, $s3, 1 /* 26590 8004B190 02709823 */ subu $s3, $s3, $s0 /* 26594 8004B194 3C02800A */ lui $v0, %hi(D_800A3720) @@ -92,8 +92,8 @@ glabel nuAuDmaCallBack /* 265B0 8004B1B0 00A32821 */ addu $a1, $a1, $v1 /* 265B4 8004B1B4 000528C0 */ sll $a1, $a1, 3 /* 265B8 8004B1B8 00A22821 */ addu $a1, $a1, $v0 -/* 265BC 8004B1BC 3C028008 */ lui $v0, %hi(D_8007817C) -/* 265C0 8004B1C0 8C42817C */ lw $v0, %lo(D_8007817C)($v0) +/* 265BC 8004B1BC 3C028008 */ lui $v0, %hi(nuAuFrameCounter) +/* 265C0 8004B1C0 8C42817C */ lw $v0, %lo(nuAuFrameCounter)($v0) /* 265C4 8004B1C4 24630001 */ addiu $v1, $v1, 1 /* 265C8 8004B1C8 AE22000C */ sw $v0, 0xc($s1) /* 265CC 8004B1CC AC830000 */ sw $v1, ($a0) diff --git a/asm/nonmatchings/code_25f00_len_940/nuAuDmaNew.s b/asm/nonmatchings/code_25f00_len_940/nuAuDmaNew.s deleted file mode 100644 index 02607364ca..0000000000 --- a/asm/nonmatchings/code_25f00_len_940/nuAuDmaNew.s +++ /dev/null @@ -1,22 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel nuAuDmaNew -/* 26624 8004B224 3C03800A */ lui $v1, %hi(D_800A3BD0) -/* 26628 8004B228 24633BD0 */ addiu $v1, $v1, %lo(D_800A3BD0) -/* 2662C 8004B22C 90620000 */ lbu $v0, ($v1) -/* 26630 8004B230 14400007 */ bnez $v0, .L8004B250 -/* 26634 8004B234 00000000 */ nop -/* 26638 8004B238 3C02800A */ lui $v0, %hi(D_800A3BE0) -/* 2663C 8004B23C 24423BE0 */ addiu $v0, $v0, %lo(D_800A3BE0) -/* 26640 8004B240 AC620008 */ sw $v0, 8($v1) -/* 26644 8004B244 24020001 */ addiu $v0, $zero, 1 -/* 26648 8004B248 AC600004 */ sw $zero, 4($v1) -/* 2664C 8004B24C A0620000 */ sb $v0, ($v1) -.L8004B250: -/* 26650 8004B250 3C028005 */ lui $v0, %hi(nuAuDmaCallBack) -/* 26654 8004B254 2442B074 */ addiu $v0, $v0, %lo(nuAuDmaCallBack) -/* 26658 8004B258 3C018008 */ lui $at, %hi(D_80078178) -/* 2665C 8004B25C AC208178 */ sw $zero, %lo(D_80078178)($at) -/* 26660 8004B260 03E00008 */ jr $ra -/* 26664 8004B264 AC830000 */ sw $v1, ($a0) diff --git a/asm/nonmatchings/code_26840_len_20d0/func_8004B440.s b/asm/nonmatchings/code_26840_len_20d0/func_8004B440.s deleted file mode 100644 index ceda053103..0000000000 --- a/asm/nonmatchings/code_26840_len_20d0/func_8004B440.s +++ /dev/null @@ -1,132 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004B440 -/* 26840 8004B440 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 26844 8004B444 AFB00010 */ sw $s0, 0x10($sp) -/* 26848 8004B448 0080802D */ daddu $s0, $a0, $zero -/* 2684C 8004B44C 3C030006 */ lui $v1, 6 -/* 26850 8004B450 3463A25E */ ori $v1, $v1, 0xa25e -/* 26854 8004B454 3C020004 */ lui $v0, 4 -/* 26858 8004B458 8FA40028 */ lw $a0, 0x28($sp) -/* 2685C 8004B45C 3442C4B4 */ ori $v0, $v0, 0xc4b4 -/* 26860 8004B460 AFBF0014 */ sw $ra, 0x14($sp) -/* 26864 8004B464 AE070000 */ sw $a3, ($s0) -/* 26868 8004B468 AE020034 */ sw $v0, 0x34($s0) -/* 2686C 8004B46C AE03003C */ sw $v1, 0x3c($s0) -/* 26870 8004B470 AE030038 */ sw $v1, 0x38($s0) -/* 26874 8004B474 A20500BC */ sb $a1, 0xbc($s0) -/* 26878 8004B478 308200FF */ andi $v0, $a0, 0xff -/* 2687C 8004B47C 2C420011 */ sltiu $v0, $v0, 0x11 -/* 26880 8004B480 14400004 */ bnez $v0, .L8004B494 -/* 26884 8004B484 A20600BE */ sb $a2, 0xbe($s0) -/* 26888 8004B488 24020010 */ addiu $v0, $zero, 0x10 -/* 2688C 8004B48C 08012D26 */ j .L8004B498 -/* 26890 8004B490 A20200BD */ sb $v0, 0xbd($s0) -.L8004B494: -/* 26894 8004B494 A20400BD */ sb $a0, 0xbd($s0) -.L8004B498: -/* 26898 8004B498 0000202D */ daddu $a0, $zero, $zero -/* 2689C 8004B49C 24060040 */ addiu $a2, $zero, 0x40 -/* 268A0 8004B4A0 240500B0 */ addiu $a1, $zero, 0xb0 -/* 268A4 8004B4A4 2403016C */ addiu $v1, $zero, 0x16c -/* 268A8 8004B4A8 34028000 */ ori $v0, $zero, 0x8000 -/* 268AC 8004B4AC AE02005C */ sw $v0, 0x5c($s0) -/* 268B0 8004B4B0 A60200B8 */ sh $v0, 0xb8($s0) -/* 268B4 8004B4B4 AE000030 */ sw $zero, 0x30($s0) -/* 268B8 8004B4B8 AE000060 */ sw $zero, 0x60($s0) -.L8004B4BC: -/* 268BC 8004B4BC 02031021 */ addu $v0, $s0, $v1 -/* 268C0 8004B4C0 24840001 */ addiu $a0, $a0, 1 -/* 268C4 8004B4C4 AC400000 */ sw $zero, ($v0) -/* 268C8 8004B4C8 A440005C */ sh $zero, 0x5c($v0) -/* 268CC 8004B4CC A440008E */ sh $zero, 0x8e($v0) -/* 268D0 8004B4D0 A4400090 */ sh $zero, 0x90($v0) -/* 268D4 8004B4D4 A4400092 */ sh $zero, 0x92($v0) -/* 268D8 8004B4D8 A0400094 */ sb $zero, 0x94($v0) -/* 268DC 8004B4DC A040009B */ sb $zero, 0x9b($v0) -/* 268E0 8004B4E0 A040009C */ sb $zero, 0x9c($v0) -/* 268E4 8004B4E4 A040009D */ sb $zero, 0x9d($v0) -/* 268E8 8004B4E8 A040009E */ sb $zero, 0x9e($v0) -/* 268EC 8004B4EC A040009F */ sb $zero, 0x9f($v0) -/* 268F0 8004B4F0 A0400099 */ sb $zero, 0x99($v0) -/* 268F4 8004B4F4 A0400078 */ sb $zero, 0x78($v0) -/* 268F8 8004B4F8 A0400079 */ sb $zero, 0x79($v0) -/* 268FC 8004B4FC A040007A */ sb $zero, 0x7a($v0) -/* 26900 8004B500 A046007B */ sb $a2, 0x7b($v0) -/* 26904 8004B504 A040007C */ sb $zero, 0x7c($v0) -/* 26908 8004B508 A045007D */ sb $a1, 0x7d($v0) -/* 2690C 8004B50C A040007E */ sb $zero, 0x7e($v0) -/* 26910 8004B510 A040007F */ sb $zero, 0x7f($v0) -/* 26914 8004B514 2C820008 */ sltiu $v0, $a0, 8 -/* 26918 8004B518 1440FFE8 */ bnez $v0, .L8004B4BC -/* 2691C 8004B51C 246300AC */ addiu $v1, $v1, 0xac -/* 26920 8004B520 0000202D */ daddu $a0, $zero, $zero -/* 26924 8004B524 0200182D */ daddu $v1, $s0, $zero -.L8004B528: -/* 26928 8004B528 AC600090 */ sw $zero, 0x90($v1) -/* 2692C 8004B52C 24840001 */ addiu $a0, $a0, 1 -/* 26930 8004B530 2C820004 */ sltiu $v0, $a0, 4 -/* 26934 8004B534 1440FFFC */ bnez $v0, .L8004B528 -/* 26938 8004B538 24630004 */ addiu $v1, $v1, 4 -/* 2693C 8004B53C 0000202D */ daddu $a0, $zero, $zero -/* 26940 8004B540 0200182D */ daddu $v1, $s0, $zero -.L8004B544: -/* 26944 8004B544 A46000A0 */ sh $zero, 0xa0($v1) -/* 26948 8004B548 24840001 */ addiu $a0, $a0, 1 -/* 2694C 8004B54C 2C820004 */ sltiu $v0, $a0, 4 -/* 26950 8004B550 1440FFFC */ bnez $v0, .L8004B544 -/* 26954 8004B554 24630006 */ addiu $v1, $v1, 6 -/* 26958 8004B558 0200202D */ daddu $a0, $s0, $zero -/* 2695C 8004B55C 0000282D */ daddu $a1, $zero, $zero -/* 26960 8004B560 0C012E95 */ jal func_8004BA54 -/* 26964 8004B564 AE000168 */ sw $zero, 0x168($s0) -/* 26968 8004B568 0C012DA6 */ jal func_8004B698 -/* 2696C 8004B56C 0200202D */ daddu $a0, $s0, $zero -/* 26970 8004B570 26040040 */ addiu $a0, $s0, 0x40 -/* 26974 8004B574 0000282D */ daddu $a1, $zero, $zero -/* 26978 8004B578 24067FFF */ addiu $a2, $zero, 0x7fff -/* 2697C 8004B57C 0C014E5D */ jal func_80053974 -/* 26980 8004B580 00C0382D */ daddu $a3, $a2, $zero -/* 26984 8004B584 920400BE */ lbu $a0, 0xbe($s0) -/* 26988 8004B588 96050040 */ lhu $a1, 0x40($s0) -/* 2698C 8004B58C 0C014EA6 */ jal func_80053A98 -/* 26990 8004B590 8E06005C */ lw $a2, 0x5c($s0) -/* 26994 8004B594 0200202D */ daddu $a0, $s0, $zero -/* 26998 8004B598 0000282D */ daddu $a1, $zero, $zero -/* 2699C 8004B59C 240200FF */ addiu $v0, $zero, 0xff -/* 269A0 8004B5A0 A082008C */ sb $v0, 0x8c($a0) -/* 269A4 8004B5A4 3C028008 */ lui $v0, %hi(D_80078290) -/* 269A8 8004B5A8 24428290 */ addiu $v0, $v0, %lo(D_80078290) -/* 269AC 8004B5AC AC820064 */ sw $v0, 0x64($a0) -/* 269B0 8004B5B0 3C028008 */ lui $v0, %hi(D_800782F8) -/* 269B4 8004B5B4 244282F8 */ addiu $v0, $v0, %lo(D_800782F8) -/* 269B8 8004B5B8 AC820068 */ sw $v0, 0x68($a0) -/* 269BC 8004B5BC 3C028008 */ lui $v0, %hi(D_80078320) -/* 269C0 8004B5C0 24428320 */ addiu $v0, $v0, %lo(D_80078320) -/* 269C4 8004B5C4 AC82006C */ sw $v0, 0x6c($a0) -/* 269C8 8004B5C8 3C028008 */ lui $v0, %hi(D_80078348) -/* 269CC 8004B5CC 24428348 */ addiu $v0, $v0, %lo(D_80078348) -/* 269D0 8004B5D0 AC820070 */ sw $v0, 0x70($a0) -/* 269D4 8004B5D4 AC820074 */ sw $v0, 0x74($a0) -/* 269D8 8004B5D8 AC820078 */ sw $v0, 0x78($a0) -/* 269DC 8004B5DC AC82007C */ sw $v0, 0x7c($a0) -/* 269E0 8004B5E0 AC820080 */ sw $v0, 0x80($a0) -/* 269E4 8004B5E4 24020010 */ addiu $v0, $zero, 0x10 -/* 269E8 8004B5E8 A0820084 */ sb $v0, 0x84($a0) -/* 269EC 8004B5EC 24020020 */ addiu $v0, $zero, 0x20 -/* 269F0 8004B5F0 A0820085 */ sb $v0, 0x85($a0) -/* 269F4 8004B5F4 A0820086 */ sb $v0, 0x86($a0) -/* 269F8 8004B5F8 A0820087 */ sb $v0, 0x87($a0) -/* 269FC 8004B5FC A0820088 */ sb $v0, 0x88($a0) -/* 26A00 8004B600 24020030 */ addiu $v0, $zero, 0x30 -/* 26A04 8004B604 A0820089 */ sb $v0, 0x89($a0) -/* 26A08 8004B608 24020040 */ addiu $v0, $zero, 0x40 -/* 26A0C 8004B60C A082008A */ sb $v0, 0x8a($a0) -/* 26A10 8004B610 24020050 */ addiu $v0, $zero, 0x50 -/* 26A14 8004B614 0C012E79 */ jal func_8004B9E4 -/* 26A18 8004B618 A082008B */ sb $v0, 0x8b($a0) -/* 26A1C 8004B61C 8FBF0014 */ lw $ra, 0x14($sp) -/* 26A20 8004B620 8FB00010 */ lw $s0, 0x10($sp) -/* 26A24 8004B624 03E00008 */ jr $ra -/* 26A28 8004B628 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_26840_len_20d0/func_8004B698.s b/asm/nonmatchings/code_26840_len_20d0/func_8004B698.s deleted file mode 100644 index fcdf972b69..0000000000 --- a/asm/nonmatchings/code_26840_len_20d0/func_8004B698.s +++ /dev/null @@ -1,21 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004B698 -/* 26A98 8004B698 0000282D */ daddu $a1, $zero, $zero -/* 26A9C 8004B69C 0080182D */ daddu $v1, $a0, $zero -.L8004B6A0: -/* 26AA0 8004B6A0 A46000C2 */ sh $zero, 0xc2($v1) -/* 26AA4 8004B6A4 A46000C4 */ sh $zero, 0xc4($v1) -/* 26AA8 8004B6A8 A46000C6 */ sh $zero, 0xc6($v1) -/* 26AAC 8004B6AC A46000C8 */ sh $zero, 0xc8($v1) -/* 26AB0 8004B6B0 A06000CA */ sb $zero, 0xca($v1) -/* 26AB4 8004B6B4 24A50001 */ addiu $a1, $a1, 1 -/* 26AB8 8004B6B8 28A20010 */ slti $v0, $a1, 0x10 -/* 26ABC 8004B6BC 1440FFF8 */ bnez $v0, .L8004B6A0 -/* 26AC0 8004B6C0 2463000A */ addiu $v1, $v1, 0xa -/* 26AC4 8004B6C4 A0800165 */ sb $zero, 0x165($a0) -/* 26AC8 8004B6C8 A0800164 */ sb $zero, 0x164($a0) -/* 26ACC 8004B6CC A0800163 */ sb $zero, 0x163($a0) -/* 26AD0 8004B6D0 03E00008 */ jr $ra -/* 26AD4 8004B6D4 A0800162 */ sb $zero, 0x162($a0) diff --git a/asm/nonmatchings/code_26840_len_20d0/func_8004B6D8.s b/asm/nonmatchings/code_26840_len_20d0/func_8004B6D8.s deleted file mode 100644 index a39f22f32e..0000000000 --- a/asm/nonmatchings/code_26840_len_20d0/func_8004B6D8.s +++ /dev/null @@ -1,35 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004B6D8 -/* 26AD8 8004B6D8 90830164 */ lbu $v1, 0x164($a0) -/* 26ADC 8004B6DC 90820163 */ lbu $v0, 0x163($a0) -/* 26AE0 8004B6E0 8FA90010 */ lw $t1, 0x10($sp) -/* 26AE4 8004B6E4 00621023 */ subu $v0, $v1, $v0 -/* 26AE8 8004B6E8 04420001 */ bltzl $v0, .L8004B6F0 -/* 26AEC 8004B6EC 24420010 */ addiu $v0, $v0, 0x10 -.L8004B6F0: -/* 26AF0 8004B6F0 28420010 */ slti $v0, $v0, 0x10 -/* 26AF4 8004B6F4 10400012 */ beqz $v0, .L8004B740 -/* 26AF8 8004B6F8 0060402D */ daddu $t0, $v1, $zero -/* 26AFC 8004B6FC 00081880 */ sll $v1, $t0, 2 -/* 26B00 8004B700 00681821 */ addu $v1, $v1, $t0 -/* 26B04 8004B704 25080001 */ addiu $t0, $t0, 1 -/* 26B08 8004B708 00031840 */ sll $v1, $v1, 1 -/* 26B0C 8004B70C 00831821 */ addu $v1, $a0, $v1 -/* 26B10 8004B710 30A2BFFF */ andi $v0, $a1, 0xbfff -/* 26B14 8004B714 A46200C2 */ sh $v0, 0xc2($v1) -/* 26B18 8004B718 00051402 */ srl $v0, $a1, 0x10 -/* 26B1C 8004B71C 304203FF */ andi $v0, $v0, 0x3ff -/* 26B20 8004B720 A46200C4 */ sh $v0, 0xc4($v1) -/* 26B24 8004B724 2D020010 */ sltiu $v0, $t0, 0x10 -/* 26B28 8004B728 A46600C6 */ sh $a2, 0xc6($v1) -/* 26B2C 8004B72C A46700C8 */ sh $a3, 0xc8($v1) -/* 26B30 8004B730 14400002 */ bnez $v0, .L8004B73C -/* 26B34 8004B734 A06900CA */ sb $t1, 0xca($v1) -/* 26B38 8004B738 0000402D */ daddu $t0, $zero, $zero -.L8004B73C: -/* 26B3C 8004B73C A0880164 */ sb $t0, 0x164($a0) -.L8004B740: -/* 26B40 8004B740 03E00008 */ jr $ra -/* 26B44 8004B744 00000000 */ nop diff --git a/asm/nonmatchings/code_26840_len_20d0/func_8004B9E4.s b/asm/nonmatchings/code_26840_len_20d0/func_8004B9E4.s deleted file mode 100644 index ad7afdb921..0000000000 --- a/asm/nonmatchings/code_26840_len_20d0/func_8004B9E4.s +++ /dev/null @@ -1,35 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004B9E4 -/* 26DE4 8004B9E4 30A500FF */ andi $a1, $a1, 0xff -/* 26DE8 8004B9E8 240200F0 */ addiu $v0, $zero, 0xf0 -/* 26DEC 8004B9EC 10A20017 */ beq $a1, $v0, .L8004BA4C -/* 26DF0 8004B9F0 28A20008 */ slti $v0, $a1, 8 -/* 26DF4 8004B9F4 10400013 */ beqz $v0, .L8004BA44 -/* 26DF8 8004B9F8 240200FF */ addiu $v0, $zero, 0xff -/* 26DFC 8004B9FC 9082008C */ lbu $v0, 0x8c($a0) -/* 26E00 8004BA00 1045000C */ beq $v0, $a1, .L8004BA34 -/* 26E04 8004BA04 24020006 */ addiu $v0, $zero, 6 -/* 26E08 8004BA08 8C830000 */ lw $v1, ($a0) -/* 26E0C 8004BA0C A085008C */ sb $a1, 0x8c($a0) -/* 26E10 8004BA10 A0620044 */ sb $v0, 0x44($v1) -/* 26E14 8004BA14 8C830000 */ lw $v1, ($a0) -/* 26E18 8004BA18 24020001 */ addiu $v0, $zero, 1 -/* 26E1C 8004BA1C A0620045 */ sb $v0, 0x45($v1) -/* 26E20 8004BA20 00051080 */ sll $v0, $a1, 2 -/* 26E24 8004BA24 00821021 */ addu $v0, $a0, $v0 -/* 26E28 8004BA28 8C420064 */ lw $v0, 0x64($v0) -/* 26E2C 8004BA2C 3C018008 */ lui $at, %hi(D_8007F1F8) -/* 26E30 8004BA30 AC22F1F8 */ sw $v0, %lo(D_8007F1F8)($at) -.L8004BA34: -/* 26E34 8004BA34 00851021 */ addu $v0, $a0, $a1 -/* 26E38 8004BA38 90420084 */ lbu $v0, 0x84($v0) -/* 26E3C 8004BA3C 08012E93 */ j .L8004BA4C -/* 26E40 8004BA40 A082008D */ sb $v0, 0x8d($a0) -.L8004BA44: -/* 26E44 8004BA44 A082008C */ sb $v0, 0x8c($a0) -/* 26E48 8004BA48 A080008D */ sb $zero, 0x8d($a0) -.L8004BA4C: -/* 26E4C 8004BA4C 03E00008 */ jr $ra -/* 26E50 8004BA50 9082008C */ lbu $v0, 0x8c($a0) diff --git a/asm/nonmatchings/code_26840_len_20d0/func_8004BA54.s b/asm/nonmatchings/code_26840_len_20d0/func_8004BA54.s deleted file mode 100644 index 06a3e4b95b..0000000000 --- a/asm/nonmatchings/code_26840_len_20d0/func_8004BA54.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004BA54 -/* 26E54 8004BA54 14A00003 */ bnez $a1, .L8004BA64 -/* 26E58 8004BA58 24020001 */ addiu $v0, $zero, 1 -/* 26E5C 8004BA5C 03E00008 */ jr $ra -/* 26E60 8004BA60 A08000C0 */ sb $zero, 0xc0($a0) -.L8004BA64: -/* 26E64 8004BA64 50A20001 */ beql $a1, $v0, .L8004BA6C -/* 26E68 8004BA68 A08500C0 */ sb $a1, 0xc0($a0) -.L8004BA6C: -/* 26E6C 8004BA6C 03E00008 */ jr $ra -/* 26E70 8004BA70 00000000 */ nop diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004E158.s b/asm/nonmatchings/code_28910_len_5090/func_8004E158.s deleted file mode 100644 index 9bc920e90a..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004E158.s +++ /dev/null @@ -1,130 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004E158 -/* 29558 8004E158 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 2955C 8004E15C AFB20018 */ sw $s2, 0x18($sp) -/* 29560 8004E160 0080902D */ daddu $s2, $a0, $zero -/* 29564 8004E164 AFB00010 */ sw $s0, 0x10($sp) -/* 29568 8004E168 00A0802D */ daddu $s0, $a1, $zero -/* 2956C 8004E16C AFB10014 */ sw $s1, 0x14($sp) -/* 29570 8004E170 00C0882D */ daddu $s1, $a2, $zero -/* 29574 8004E174 3C050002 */ lui $a1, 2 -/* 29578 8004E178 34A5625A */ ori $a1, $a1, 0x625a -/* 2957C 8004E17C 24060030 */ addiu $a2, $zero, 0x30 -/* 29580 8004E180 AFBF001C */ sw $ra, 0x1c($sp) -/* 29584 8004E184 0C013A20 */ jal func_8004E880 -/* 29588 8004E188 AE470000 */ sw $a3, ($s2) -/* 2958C 8004E18C 0000282D */ daddu $a1, $zero, $zero -/* 29590 8004E190 2404007F */ addiu $a0, $zero, 0x7f -/* 29594 8004E194 3C013F80 */ lui $at, 0x3f80 -/* 29598 8004E198 44810000 */ mtc1 $at, $f0 -/* 2959C 8004E19C 34028000 */ ori $v0, $zero, 0x8000 -/* 295A0 8004E1A0 AE420048 */ sw $v0, 0x48($s2) -/* 295A4 8004E1A4 24023CF0 */ addiu $v0, $zero, 0x3cf0 -/* 295A8 8004E1A8 AE4200B0 */ sw $v0, 0xb0($s2) -/* 295AC 8004E1AC 3C027F00 */ lui $v0, 0x7f00 -/* 295B0 8004E1B0 AE4200C0 */ sw $v0, 0xc0($s2) -/* 295B4 8004E1B4 24020001 */ addiu $v0, $zero, 1 -/* 295B8 8004E1B8 A242022B */ sb $v0, 0x22b($s2) -/* 295BC 8004E1BC 24020002 */ addiu $v0, $zero, 2 -/* 295C0 8004E1C0 AE400014 */ sw $zero, 0x14($s2) -/* 295C4 8004E1C4 AE400018 */ sw $zero, 0x18($s2) -/* 295C8 8004E1C8 AE40001C */ sw $zero, 0x1c($s2) -/* 295CC 8004E1CC AE400020 */ sw $zero, 0x20($s2) -/* 295D0 8004E1D0 A6400058 */ sh $zero, 0x58($s2) -/* 295D4 8004E1D4 A640005A */ sh $zero, 0x5a($s2) -/* 295D8 8004E1D8 AE400068 */ sw $zero, 0x68($s2) -/* 295DC 8004E1DC AE40006C */ sw $zero, 0x6c($s2) -/* 295E0 8004E1E0 AE400070 */ sw $zero, 0x70($s2) -/* 295E4 8004E1E4 AE4000BC */ sw $zero, 0xbc($s2) -/* 295E8 8004E1E8 AE4000B8 */ sw $zero, 0xb8($s2) -/* 295EC 8004E1EC AE4000B4 */ sw $zero, 0xb4($s2) -/* 295F0 8004E1F0 AE4000CC */ sw $zero, 0xcc($s2) -/* 295F4 8004E1F4 AE4000C8 */ sw $zero, 0xc8($s2) -/* 295F8 8004E1F8 AE4000C4 */ sw $zero, 0xc4($s2) -/* 295FC 8004E1FC A640020C */ sh $zero, 0x20c($s2) -/* 29600 8004E200 A640020E */ sh $zero, 0x20e($s2) -/* 29604 8004E204 A2400220 */ sb $zero, 0x220($s2) -/* 29608 8004E208 AE400204 */ sw $zero, 0x204($s2) -/* 2960C 8004E20C A2400232 */ sb $zero, 0x232($s2) -/* 29610 8004E210 A2400221 */ sb $zero, 0x221($s2) -/* 29614 8004E214 A2500234 */ sb $s0, 0x234($s2) -/* 29618 8004E218 A2510235 */ sb $s1, 0x235($s2) -/* 2961C 8004E21C AE400168 */ sw $zero, 0x168($s2) -/* 29620 8004E220 A2400222 */ sb $zero, 0x222($s2) -/* 29624 8004E224 A2400223 */ sb $zero, 0x223($s2) -/* 29628 8004E228 A240022A */ sb $zero, 0x22a($s2) -/* 2962C 8004E22C A240022C */ sb $zero, 0x22c($s2) -/* 29630 8004E230 E64000D0 */ swc1 $f0, 0xd0($s2) -/* 29634 8004E234 A240022D */ sb $zero, 0x22d($s2) -/* 29638 8004E238 A242022F */ sb $v0, 0x22f($s2) -/* 2963C 8004E23C 24020003 */ addiu $v0, $zero, 3 -/* 29640 8004E240 A2420230 */ sb $v0, 0x230($s2) -/* 29644 8004E244 24020004 */ addiu $v0, $zero, 4 -/* 29648 8004E248 A240022E */ sb $zero, 0x22e($s2) -/* 2964C 8004E24C A2420231 */ sb $v0, 0x231($s2) -/* 29650 8004E250 00051400 */ sll $v0, $a1, 0x10 -.L8004E254: -/* 29654 8004E254 00021C03 */ sra $v1, $v0, 0x10 -/* 29658 8004E258 00031040 */ sll $v0, $v1, 1 -/* 2965C 8004E25C 00431021 */ addu $v0, $v0, $v1 -/* 29660 8004E260 00021140 */ sll $v0, $v0, 5 -/* 29664 8004E264 2442025C */ addiu $v0, $v0, 0x25c -/* 29668 8004E268 02421021 */ addu $v0, $s2, $v0 -/* 2966C 8004E26C AC400018 */ sw $zero, 0x18($v0) -/* 29670 8004E270 AC400028 */ sw $zero, 0x28($v0) -/* 29674 8004E274 A4400046 */ sh $zero, 0x46($v0) -/* 29678 8004E278 A0400048 */ sb $zero, 0x48($v0) -/* 2967C 8004E27C A040004A */ sb $zero, 0x4a($v0) -/* 29680 8004E280 A040004B */ sb $zero, 0x4b($v0) -/* 29684 8004E284 A4400044 */ sh $zero, 0x44($v0) -/* 29688 8004E288 A0400058 */ sb $zero, 0x58($v0) -/* 2968C 8004E28C A0440049 */ sb $a0, 0x49($v0) -/* 29690 8004E290 A040004C */ sb $zero, 0x4c($v0) -/* 29694 8004E294 28620008 */ slti $v0, $v1, 8 -/* 29698 8004E298 10400005 */ beqz $v0, .L8004E2B0 -/* 2969C 8004E29C 24A20001 */ addiu $v0, $a1, 1 -/* 296A0 8004E2A0 00031080 */ sll $v0, $v1, 2 -/* 296A4 8004E2A4 02421021 */ addu $v0, $s2, $v0 -/* 296A8 8004E2A8 AC400238 */ sw $zero, 0x238($v0) -/* 296AC 8004E2AC 24A20001 */ addiu $v0, $a1, 1 -.L8004E2B0: -/* 296B0 8004E2B0 0040282D */ daddu $a1, $v0, $zero -/* 296B4 8004E2B4 00021400 */ sll $v0, $v0, 0x10 -/* 296B8 8004E2B8 00021403 */ sra $v0, $v0, 0x10 -/* 296BC 8004E2BC 28420010 */ slti $v0, $v0, 0x10 -/* 296C0 8004E2C0 1440FFE4 */ bnez $v0, .L8004E254 -/* 296C4 8004E2C4 00051400 */ sll $v0, $a1, 0x10 -/* 296C8 8004E2C8 0000282D */ daddu $a1, $zero, $zero -.L8004E2CC: -/* 296CC 8004E2CC 00051400 */ sll $v0, $a1, 0x10 -/* 296D0 8004E2D0 24A40001 */ addiu $a0, $a1, 1 -/* 296D4 8004E2D4 0080282D */ daddu $a1, $a0, $zero -/* 296D8 8004E2D8 00021403 */ sra $v0, $v0, 0x10 -/* 296DC 8004E2DC 00021840 */ sll $v1, $v0, 1 -/* 296E0 8004E2E0 00621821 */ addu $v1, $v1, $v0 -/* 296E4 8004E2E4 000318C0 */ sll $v1, $v1, 3 -/* 296E8 8004E2E8 2463085C */ addiu $v1, $v1, 0x85c -/* 296EC 8004E2EC 02431821 */ addu $v1, $s2, $v1 -/* 296F0 8004E2F0 00042400 */ sll $a0, $a0, 0x10 -/* 296F4 8004E2F4 00042403 */ sra $a0, $a0, 0x10 -/* 296F8 8004E2F8 28840018 */ slti $a0, $a0, 0x18 -/* 296FC 8004E2FC A4600008 */ sh $zero, 8($v1) -/* 29700 8004E300 A460000A */ sh $zero, 0xa($v1) -/* 29704 8004E304 AC60000C */ sw $zero, 0xc($v1) -/* 29708 8004E308 A4600014 */ sh $zero, 0x14($v1) -/* 2970C 8004E30C A0600016 */ sb $zero, 0x16($v1) -/* 29710 8004E310 1480FFEE */ bnez $a0, .L8004E2CC -/* 29714 8004E314 A0600017 */ sb $zero, 0x17($v1) -/* 29718 8004E318 2644002C */ addiu $a0, $s2, 0x2c -/* 2971C 8004E31C 0C014EBB */ jal func_80053AEC -/* 29720 8004E320 24057FFF */ addiu $a1, $zero, 0x7fff -/* 29724 8004E324 0C015444 */ jal func_80055110 -/* 29728 8004E328 0240202D */ daddu $a0, $s2, $zero -/* 2972C 8004E32C 8FBF001C */ lw $ra, 0x1c($sp) -/* 29730 8004E330 8FB20018 */ lw $s2, 0x18($sp) -/* 29734 8004E334 8FB10014 */ lw $s1, 0x14($sp) -/* 29738 8004E338 8FB00010 */ lw $s0, 0x10($sp) -/* 2973C 8004E33C 03E00008 */ jr $ra -/* 29740 8004E340 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004E3A4.s b/asm/nonmatchings/code_28910_len_5090/func_8004E3A4.s deleted file mode 100644 index 2f4f18eecf..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004E3A4.s +++ /dev/null @@ -1,48 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004E3A4 -/* 297A4 8004E3A4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 297A8 8004E3A8 AFB00010 */ sw $s0, 0x10($sp) -/* 297AC 8004E3AC 0080802D */ daddu $s0, $a0, $zero -/* 297B0 8004E3B0 AFBF0014 */ sw $ra, 0x14($sp) -/* 297B4 8004E3B4 96020036 */ lhu $v0, 0x36($s0) -/* 297B8 8004E3B8 2442FFFF */ addiu $v0, $v0, -1 -/* 297BC 8004E3BC A6020036 */ sh $v0, 0x36($s0) -/* 297C0 8004E3C0 00021400 */ sll $v0, $v0, 0x10 -/* 297C4 8004E3C4 10400006 */ beqz $v0, .L8004E3E0 -/* 297C8 8004E3C8 00000000 */ nop -/* 297CC 8004E3CC 8E02002C */ lw $v0, 0x2c($s0) -/* 297D0 8004E3D0 8E030030 */ lw $v1, 0x30($s0) -/* 297D4 8004E3D4 00431021 */ addu $v0, $v0, $v1 -/* 297D8 8004E3D8 0801390B */ j .L8004E42C -/* 297DC 8004E3DC AE02002C */ sw $v0, 0x2c($s0) -.L8004E3E0: -/* 297E0 8004E3E0 86020034 */ lh $v0, 0x34($s0) -/* 297E4 8004E3E4 8E030038 */ lw $v1, 0x38($s0) -/* 297E8 8004E3E8 00021400 */ sll $v0, $v0, 0x10 -/* 297EC 8004E3EC 10600003 */ beqz $v1, .L8004E3FC -/* 297F0 8004E3F0 AE02002C */ sw $v0, 0x2c($s0) -/* 297F4 8004E3F4 0060F809 */ jalr $v1 -/* 297F8 8004E3F8 00000000 */ nop -.L8004E3FC: -/* 297FC 8004E3FC 8E040020 */ lw $a0, 0x20($s0) -/* 29800 8004E400 10800005 */ beqz $a0, .L8004E418 -/* 29804 8004E404 00000000 */ nop -/* 29808 8004E408 0C013720 */ jal func_8004DC80 -/* 2980C 8004E40C 00000000 */ nop -/* 29810 8004E410 0801390B */ j .L8004E42C -/* 29814 8004E414 00000000 */ nop -.L8004E418: -/* 29818 8004E418 8E02002C */ lw $v0, 0x2c($s0) -/* 2981C 8004E41C 14400003 */ bnez $v0, .L8004E42C -/* 29820 8004E420 00000000 */ nop -/* 29824 8004E424 0C0136AA */ jal func_8004DAA8 -/* 29828 8004E428 0200202D */ daddu $a0, $s0, $zero -.L8004E42C: -/* 2982C 8004E42C 0C013911 */ jal func_8004E444 -/* 29830 8004E430 0200202D */ daddu $a0, $s0, $zero -/* 29834 8004E434 8FBF0014 */ lw $ra, 0x14($sp) -/* 29838 8004E438 8FB00010 */ lw $s0, 0x10($sp) -/* 2983C 8004E43C 03E00008 */ jr $ra -/* 29840 8004E440 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FBBC.s b/asm/nonmatchings/code_28910_len_5090/func_8004FBBC.s deleted file mode 100644 index 072f379b99..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FBBC.s +++ /dev/null @@ -1,23 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FBBC -/* 2AFBC 8004FBBC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 2AFC0 8004FBC0 AFB00010 */ sw $s0, 0x10($sp) -/* 2AFC4 8004FBC4 0080802D */ daddu $s0, $a0, $zero -/* 2AFC8 8004FBC8 AFBF0014 */ sw $ra, 0x14($sp) -/* 2AFCC 8004FBCC 960500D4 */ lhu $a1, 0xd4($s0) -/* 2AFD0 8004FBD0 0C013F02 */ jal func_8004FC08 -/* 2AFD4 8004FBD4 A6050208 */ sh $a1, 0x208($s0) -/* 2AFD8 8004FBD8 00021880 */ sll $v1, $v0, 2 -/* 2AFDC 8004FBDC 00621821 */ addu $v1, $v1, $v0 -/* 2AFE0 8004FBE0 00031840 */ sll $v1, $v1, 1 -/* 2AFE4 8004FBE4 AE0200B0 */ sw $v0, 0xb0($s0) -/* 2AFE8 8004FBE8 AE030008 */ sw $v1, 8($s0) -/* 2AFEC 8004FBEC AE0000BC */ sw $zero, 0xbc($s0) -/* 2AFF0 8004FBF0 AE0000B8 */ sw $zero, 0xb8($s0) -/* 2AFF4 8004FBF4 AE0000B4 */ sw $zero, 0xb4($s0) -/* 2AFF8 8004FBF8 8FBF0014 */ lw $ra, 0x14($sp) -/* 2AFFC 8004FBFC 8FB00010 */ lw $s0, 0x10($sp) -/* 2B000 8004FC00 03E00008 */ jr $ra -/* 2B004 8004FC04 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FC08.s b/asm/nonmatchings/code_28910_len_5090/func_8004FC08.s deleted file mode 100644 index e3f8d0f20f..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FC08.s +++ /dev/null @@ -1,52 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FC08 -/* 2B008 8004FC08 44852000 */ mtc1 $a1, $f4 -/* 2B00C 8004FC0C 00000000 */ nop -/* 2B010 8004FC10 46802121 */ cvt.d.w $f4, $f4 -/* 2B014 8004FC14 04A10006 */ bgez $a1, .L8004FC30 -/* 2B018 8004FC18 9483020A */ lhu $v1, 0x20a($a0) -/* 2B01C 8004FC1C 3C0141F0 */ lui $at, 0x41f0 -/* 2B020 8004FC20 44810800 */ mtc1 $at, $f1 -/* 2B024 8004FC24 44800000 */ mtc1 $zero, $f0 -/* 2B028 8004FC28 00000000 */ nop -/* 2B02C 8004FC2C 46202100 */ add.d $f4, $f4, $f0 -.L8004FC30: -/* 2B030 8004FC30 C48200D0 */ lwc1 $f2, 0xd0($a0) -/* 2B034 8004FC34 46202020 */ cvt.s.d $f0, $f4 -/* 2B038 8004FC38 46020002 */ mul.s $f0, $f0, $f2 -/* 2B03C 8004FC3C 00000000 */ nop -/* 2B040 8004FC40 3C014F00 */ lui $at, 0x4f00 -/* 2B044 8004FC44 44811000 */ mtc1 $at, $f2 -/* 2B048 8004FC48 00000000 */ nop -/* 2B04C 8004FC4C 4600103E */ c.le.s $f2, $f0 -/* 2B050 8004FC50 00000000 */ nop -/* 2B054 8004FC54 45030005 */ bc1tl .L8004FC6C -/* 2B058 8004FC58 46020001 */ sub.s $f0, $f0, $f2 -/* 2B05C 8004FC5C 4600018D */ trunc.w.s $f6, $f0 -/* 2B060 8004FC60 44053000 */ mfc1 $a1, $f6 -/* 2B064 8004FC64 08013F21 */ j .L8004FC84 -/* 2B068 8004FC68 0065102B */ sltu $v0, $v1, $a1 -.L8004FC6C: -/* 2B06C 8004FC6C 3C028000 */ lui $v0, 0x8000 -/* 2B070 8004FC70 4600018D */ trunc.w.s $f6, $f0 -/* 2B074 8004FC74 44053000 */ mfc1 $a1, $f6 -/* 2B078 8004FC78 00000000 */ nop -/* 2B07C 8004FC7C 00A22825 */ or $a1, $a1, $v0 -/* 2B080 8004FC80 0065102B */ sltu $v0, $v1, $a1 -.L8004FC84: -/* 2B084 8004FC84 10400003 */ beqz $v0, .L8004FC94 -/* 2B088 8004FC88 00000000 */ nop -/* 2B08C 8004FC8C 08013F27 */ j .L8004FC9C -/* 2B090 8004FC90 0060282D */ daddu $a1, $v1, $zero -.L8004FC94: -/* 2B094 8004FC94 50A00001 */ beql $a1, $zero, .L8004FC9C -/* 2B098 8004FC98 24050001 */ addiu $a1, $zero, 1 -.L8004FC9C: -/* 2B09C 8004FC9C 00051040 */ sll $v0, $a1, 1 -/* 2B0A0 8004FCA0 00451021 */ addu $v0, $v0, $a1 -/* 2B0A4 8004FCA4 000210C0 */ sll $v0, $v0, 3 -/* 2B0A8 8004FCA8 00451021 */ addu $v0, $v0, $a1 -/* 2B0AC 8004FCAC 03E00008 */ jr $ra -/* 2B0B0 8004FCB0 00021080 */ sll $v0, $v0, 2 diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FCB4.s b/asm/nonmatchings/code_28910_len_5090/func_8004FCB4.s deleted file mode 100644 index e964649142..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FCB4.s +++ /dev/null @@ -1,17 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FCB4 -/* 2B0B4 8004FCB4 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B0B8 8004FCB8 3042007F */ andi $v0, $v0, 0x7f -/* 2B0BC 8004FCBC 54400001 */ bnel $v0, $zero, .L8004FCC4 -/* 2B0C0 8004FCC0 00021600 */ sll $v0, $v0, 0x18 -.L8004FCC4: -/* 2B0C4 8004FCC4 AC8200C0 */ sw $v0, 0xc0($a0) -/* 2B0C8 8004FCC8 24020001 */ addiu $v0, $zero, 1 -/* 2B0CC 8004FCCC AC8000CC */ sw $zero, 0xcc($a0) -/* 2B0D0 8004FCD0 AC8000C8 */ sw $zero, 0xc8($a0) -/* 2B0D4 8004FCD4 AC8000C4 */ sw $zero, 0xc4($a0) -/* 2B0D8 8004FCD8 A082021A */ sb $v0, 0x21a($a0) -/* 2B0DC 8004FCDC 03E00008 */ jr $ra -/* 2B0E0 8004FCE0 A0A20041 */ sb $v0, 0x41($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FCE4.s b/asm/nonmatchings/code_28910_len_5090/func_8004FCE4.s deleted file mode 100644 index e71725d895..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FCE4.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FCE4 -/* 2B0E4 8004FCE4 808300D4 */ lb $v1, 0xd4($a0) -/* 2B0E8 8004FCE8 00031040 */ sll $v0, $v1, 1 -/* 2B0EC 8004FCEC 00431021 */ addu $v0, $v0, $v1 -/* 2B0F0 8004FCF0 000210C0 */ sll $v0, $v0, 3 -/* 2B0F4 8004FCF4 00431021 */ addu $v0, $v0, $v1 -/* 2B0F8 8004FCF8 00021080 */ sll $v0, $v0, 2 -/* 2B0FC 8004FCFC 03E00008 */ jr $ra -/* 2B100 8004FD00 A482020C */ sh $v0, 0x20c($a0) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FD04.s b/asm/nonmatchings/code_28910_len_5090/func_8004FD04.s deleted file mode 100644 index eee88f8b12..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FD04.s +++ /dev/null @@ -1,17 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FD04 -/* 2B104 8004FD04 90830235 */ lbu $v1, 0x235($a0) -/* 2B108 8004FD08 8C820000 */ lw $v0, ($a0) -/* 2B10C 8004FD0C 908500D4 */ lbu $a1, 0xd4($a0) -/* 2B110 8004FD10 00031880 */ sll $v1, $v1, 2 -/* 2B114 8004FD14 00431021 */ addu $v0, $v0, $v1 -/* 2B118 8004FD18 A0450040 */ sb $a1, 0x40($v0) -/* 2B11C 8004FD1C 90820235 */ lbu $v0, 0x235($a0) -/* 2B120 8004FD20 8C830000 */ lw $v1, ($a0) -/* 2B124 8004FD24 00021080 */ sll $v0, $v0, 2 -/* 2B128 8004FD28 00621821 */ addu $v1, $v1, $v0 -/* 2B12C 8004FD2C 24020001 */ addiu $v0, $zero, 1 -/* 2B130 8004FD30 03E00008 */ jr $ra -/* 2B134 8004FD34 A0620041 */ sb $v0, 0x41($v1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FD38.s b/asm/nonmatchings/code_28910_len_5090/func_8004FD38.s deleted file mode 100644 index 7906ad11ee..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FD38.s +++ /dev/null @@ -1,29 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FD38 -/* 2B138 8004FD38 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B13C 8004FD3C 00823821 */ addu $a3, $a0, $v0 -/* 2B140 8004FD40 2C420004 */ sltiu $v0, $v0, 4 -/* 2B144 8004FD44 90E3004C */ lbu $v1, 0x4c($a3) -/* 2B148 8004FD48 10400010 */ beqz $v0, .L8004FD8C -/* 2B14C 8004FD4C 2C620080 */ sltiu $v0, $v1, 0x80 -/* 2B150 8004FD50 1040000E */ beqz $v0, .L8004FD8C -/* 2B154 8004FD54 00033080 */ sll $a2, $v1, 2 -/* 2B158 8004FD58 8C820000 */ lw $v0, ($a0) -/* 2B15C 8004FD5C 908300D5 */ lbu $v1, 0xd5($a0) -/* 2B160 8004FD60 00462821 */ addu $a1, $v0, $a2 -/* 2B164 8004FD64 90A20040 */ lbu $v0, 0x40($a1) -/* 2B168 8004FD68 10430006 */ beq $v0, $v1, .L8004FD84 -/* 2B16C 8004FD6C 00000000 */ nop -/* 2B170 8004FD70 A0A30040 */ sb $v1, 0x40($a1) -/* 2B174 8004FD74 8C820000 */ lw $v0, ($a0) -/* 2B178 8004FD78 24030001 */ addiu $v1, $zero, 1 -/* 2B17C 8004FD7C 00461021 */ addu $v0, $v0, $a2 -/* 2B180 8004FD80 A0430041 */ sb $v1, 0x41($v0) -.L8004FD84: -/* 2B184 8004FD84 908200D5 */ lbu $v0, 0xd5($a0) -/* 2B188 8004FD88 A0E20224 */ sb $v0, 0x224($a3) -.L8004FD8C: -/* 2B18C 8004FD8C 03E00008 */ jr $ra -/* 2B190 8004FD90 00000000 */ nop diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FD94.s b/asm/nonmatchings/code_28910_len_5090/func_8004FD94.s deleted file mode 100644 index 90cdb1b95e..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FD94.s +++ /dev/null @@ -1,38 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FD94 -/* 2B194 8004FD94 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 2B198 8004FD98 AFB10014 */ sw $s1, 0x14($sp) -/* 2B19C 8004FD9C 0080882D */ daddu $s1, $a0, $zero -/* 2B1A0 8004FDA0 AFBF0018 */ sw $ra, 0x18($sp) -/* 2B1A4 8004FDA4 AFB00010 */ sw $s0, 0x10($sp) -/* 2B1A8 8004FDA8 962500D6 */ lhu $a1, 0xd6($s1) -/* 2B1AC 8004FDAC 0C013F02 */ jal func_8004FC08 -/* 2B1B0 8004FDB0 963000D4 */ lhu $s0, 0xd4($s1) -/* 2B1B4 8004FDB4 1E000002 */ bgtz $s0, .L8004FDC0 -/* 2B1B8 8004FDB8 0040202D */ daddu $a0, $v0, $zero -/* 2B1BC 8004FDBC 24100001 */ addiu $s0, $zero, 1 -.L8004FDC0: -/* 2B1C0 8004FDC0 8E2200B0 */ lw $v0, 0xb0($s1) -/* 2B1C4 8004FDC4 00821023 */ subu $v0, $a0, $v0 -/* 2B1C8 8004FDC8 16000002 */ bnez $s0, .L8004FDD4 -/* 2B1CC 8004FDCC 0050001A */ div $zero, $v0, $s0 -/* 2B1D0 8004FDD0 0007000D */ break 7 -.L8004FDD4: -/* 2B1D4 8004FDD4 2401FFFF */ addiu $at, $zero, -1 -/* 2B1D8 8004FDD8 16010004 */ bne $s0, $at, .L8004FDEC -/* 2B1DC 8004FDDC 3C018000 */ lui $at, 0x8000 -/* 2B1E0 8004FDE0 14410002 */ bne $v0, $at, .L8004FDEC -/* 2B1E4 8004FDE4 00000000 */ nop -/* 2B1E8 8004FDE8 0006000D */ break 6 -.L8004FDEC: -/* 2B1EC 8004FDEC 00001012 */ mflo $v0 -/* 2B1F0 8004FDF0 AE3000BC */ sw $s0, 0xbc($s1) -/* 2B1F4 8004FDF4 AE2400B8 */ sw $a0, 0xb8($s1) -/* 2B1F8 8004FDF8 AE2200B4 */ sw $v0, 0xb4($s1) -/* 2B1FC 8004FDFC 8FBF0018 */ lw $ra, 0x18($sp) -/* 2B200 8004FE00 8FB10014 */ lw $s1, 0x14($sp) -/* 2B204 8004FE04 8FB00010 */ lw $s0, 0x10($sp) -/* 2B208 8004FE08 03E00008 */ jr $ra -/* 2B20C 8004FE0C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FE10.s b/asm/nonmatchings/code_28910_len_5090/func_8004FE10.s deleted file mode 100644 index 7c80d22698..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FE10.s +++ /dev/null @@ -1,31 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FE10 -/* 2B210 8004FE10 908200D6 */ lbu $v0, 0xd6($a0) -/* 2B214 8004FE14 948500D4 */ lhu $a1, 0xd4($a0) -/* 2B218 8004FE18 3046007F */ andi $a2, $v0, 0x7f -/* 2B21C 8004FE1C 54C00001 */ bnel $a2, $zero, .L8004FE24 -/* 2B220 8004FE20 00063600 */ sll $a2, $a2, 0x18 -.L8004FE24: -/* 2B224 8004FE24 58A00001 */ blezl $a1, .L8004FE2C -/* 2B228 8004FE28 24050001 */ addiu $a1, $zero, 1 -.L8004FE2C: -/* 2B22C 8004FE2C 8C8200C0 */ lw $v0, 0xc0($a0) -/* 2B230 8004FE30 00C21023 */ subu $v0, $a2, $v0 -/* 2B234 8004FE34 14A00002 */ bnez $a1, .L8004FE40 -/* 2B238 8004FE38 0045001A */ div $zero, $v0, $a1 -/* 2B23C 8004FE3C 0007000D */ break 7 -.L8004FE40: -/* 2B240 8004FE40 2401FFFF */ addiu $at, $zero, -1 -/* 2B244 8004FE44 14A10004 */ bne $a1, $at, .L8004FE58 -/* 2B248 8004FE48 3C018000 */ lui $at, 0x8000 -/* 2B24C 8004FE4C 14410002 */ bne $v0, $at, .L8004FE58 -/* 2B250 8004FE50 00000000 */ nop -/* 2B254 8004FE54 0006000D */ break 6 -.L8004FE58: -/* 2B258 8004FE58 00001012 */ mflo $v0 -/* 2B25C 8004FE5C AC8500CC */ sw $a1, 0xcc($a0) -/* 2B260 8004FE60 AC8600C8 */ sw $a2, 0xc8($a0) -/* 2B264 8004FE64 03E00008 */ jr $ra -/* 2B268 8004FE68 AC8200C4 */ sw $v0, 0xc4($a0) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FEB0.s b/asm/nonmatchings/code_28910_len_5090/func_8004FEB0.s deleted file mode 100644 index cf397c0eb5..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FEB0.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FEB0 -/* 2B2B0 8004FEB0 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B2B4 8004FEB4 3042007F */ andi $v0, $v0, 0x7f -/* 2B2B8 8004FEB8 54400001 */ bnel $v0, $zero, .L8004FEC0 -/* 2B2BC 8004FEBC 00021600 */ sll $v0, $v0, 0x18 -.L8004FEC0: -/* 2B2C0 8004FEC0 ACA20018 */ sw $v0, 0x18($a1) -/* 2B2C4 8004FEC4 24020001 */ addiu $v0, $zero, 1 -/* 2B2C8 8004FEC8 03E00008 */ jr $ra -/* 2B2CC 8004FECC A0A20041 */ sb $v0, 0x41($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FF3C.s b/asm/nonmatchings/code_28910_len_5090/func_8004FF3C.s deleted file mode 100644 index 7515b01594..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FF3C.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FF3C -/* 2B33C 8004FF3C 908300D4 */ lbu $v1, 0xd4($a0) -/* 2B340 8004FF40 24020001 */ addiu $v0, $zero, 1 -/* 2B344 8004FF44 A0A00057 */ sb $zero, 0x57($a1) -/* 2B348 8004FF48 A0A20042 */ sb $v0, 0x42($a1) -/* 2B34C 8004FF4C 3063007F */ andi $v1, $v1, 0x7f -/* 2B350 8004FF50 03E00008 */ jr $ra -/* 2B354 8004FF54 A0A3004A */ sb $v1, 0x4a($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FF58.s b/asm/nonmatchings/code_28910_len_5090/func_8004FF58.s deleted file mode 100644 index 36cd1013e5..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FF58.s +++ /dev/null @@ -1,10 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FF58 -/* 2B358 8004FF58 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B35C 8004FF5C 24030001 */ addiu $v1, $zero, 1 -/* 2B360 8004FF60 A0A30043 */ sb $v1, 0x43($a1) -/* 2B364 8004FF64 3042007F */ andi $v0, $v0, 0x7f -/* 2B368 8004FF68 03E00008 */ jr $ra -/* 2B36C 8004FF6C A0A2004B */ sb $v0, 0x4b($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FF70.s b/asm/nonmatchings/code_28910_len_5090/func_8004FF70.s deleted file mode 100644 index 3ca414af7f..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FF70.s +++ /dev/null @@ -1,10 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FF70 -/* 2B370 8004FF70 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B374 8004FF74 24030001 */ addiu $v1, $zero, 1 -/* 2B378 8004FF78 A0A30041 */ sb $v1, 0x41($a1) -/* 2B37C 8004FF7C 3042007F */ andi $v0, $v0, 0x7f -/* 2B380 8004FF80 03E00008 */ jr $ra -/* 2B384 8004FF84 A0A20049 */ sb $v0, 0x49($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FF88.s b/asm/nonmatchings/code_28910_len_5090/func_8004FF88.s deleted file mode 100644 index e29a31a5cf..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FF88.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FF88 -/* 2B388 8004FF88 808300D4 */ lb $v1, 0xd4($a0) -/* 2B38C 8004FF8C 00031040 */ sll $v0, $v1, 1 -/* 2B390 8004FF90 00431021 */ addu $v0, $v0, $v1 -/* 2B394 8004FF94 000210C0 */ sll $v0, $v0, 3 -/* 2B398 8004FF98 00431021 */ addu $v0, $v0, $v1 -/* 2B39C 8004FF9C 00021080 */ sll $v0, $v0, 2 -/* 2B3A0 8004FFA0 03E00008 */ jr $ra -/* 2B3A4 8004FFA4 A4A20046 */ sh $v0, 0x46($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FFA8.s b/asm/nonmatchings/code_28910_len_5090/func_8004FFA8.s deleted file mode 100644 index 1304ed7ae0..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FFA8.s +++ /dev/null @@ -1,7 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FFA8 -/* 2B3A8 8004FFA8 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B3AC 8004FFAC 03E00008 */ jr $ra -/* 2B3B0 8004FFB0 A0A20048 */ sb $v0, 0x48($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FFB4.s b/asm/nonmatchings/code_28910_len_5090/func_8004FFB4.s deleted file mode 100644 index fab4e3865c..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FFB4.s +++ /dev/null @@ -1,9 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FFB4 -/* 2B3B4 8004FFB4 948300D4 */ lhu $v1, 0xd4($a0) -/* 2B3B8 8004FFB8 24020001 */ addiu $v0, $zero, 1 -/* 2B3BC 8004FFBC A0A20040 */ sb $v0, 0x40($a1) -/* 2B3C0 8004FFC0 03E00008 */ jr $ra -/* 2B3C4 8004FFC4 A4A30038 */ sh $v1, 0x38($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FFC8.s b/asm/nonmatchings/code_28910_len_5090/func_8004FFC8.s deleted file mode 100644 index 796cae8608..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FFC8.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FFC8 -/* 2B3C8 8004FFC8 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B3CC 8004FFCC A4A2003A */ sh $v0, 0x3a($a1) -/* 2B3D0 8004FFD0 908200D5 */ lbu $v0, 0xd5($a0) -/* 2B3D4 8004FFD4 A0A20055 */ sb $v0, 0x55($a1) -/* 2B3D8 8004FFD8 908200D6 */ lbu $v0, 0xd6($a0) -/* 2B3DC 8004FFDC 03E00008 */ jr $ra -/* 2B3E0 8004FFE0 A0A20056 */ sb $v0, 0x56($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FFE4.s b/asm/nonmatchings/code_28910_len_5090/func_8004FFE4.s deleted file mode 100644 index 109cb31479..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FFE4.s +++ /dev/null @@ -1,7 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FFE4 -/* 2B3E4 8004FFE4 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B3E8 8004FFE8 03E00008 */ jr $ra -/* 2B3EC 8004FFEC A0A20055 */ sb $v0, 0x55($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FFF0.s b/asm/nonmatchings/code_28910_len_5090/func_8004FFF0.s deleted file mode 100644 index e8679c87cd..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FFF0.s +++ /dev/null @@ -1,7 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FFF0 -/* 2B3F0 8004FFF0 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B3F4 8004FFF4 03E00008 */ jr $ra -/* 2B3F8 8004FFF8 A0A20056 */ sb $v0, 0x56($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FFFC.s b/asm/nonmatchings/code_28910_len_5090/func_8004FFFC.s deleted file mode 100644 index cd3943bb81..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FFFC.s +++ /dev/null @@ -1,6 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FFFC -/* 2B3FC 8004FFFC 03E00008 */ jr $ra -/* 2B400 80050000 A0A00056 */ sb $zero, 0x56($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_80050004.s b/asm/nonmatchings/code_28910_len_5090/func_80050004.s deleted file mode 100644 index b2533c9057..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_80050004.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80050004 -/* 2B404 80050004 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B408 80050008 3042007F */ andi $v0, $v0, 0x7f -/* 2B40C 8005000C A0A2004A */ sb $v0, 0x4a($a1) -/* 2B410 80050010 908200D5 */ lbu $v0, 0xd5($a0) -/* 2B414 80050014 3042007F */ andi $v0, $v0, 0x7f -/* 2B418 80050018 03E00008 */ jr $ra -/* 2B41C 8005001C A0A20057 */ sb $v0, 0x57($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_80050128.s b/asm/nonmatchings/code_28910_len_5090/func_80050128.s deleted file mode 100644 index 8379a584b3..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_80050128.s +++ /dev/null @@ -1,18 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80050128 -/* 2B528 80050128 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B52C 8005012C 00821821 */ addu $v1, $a0, $v0 -/* 2B530 80050130 2C420004 */ sltiu $v0, $v0, 4 -/* 2B534 80050134 9063004C */ lbu $v1, 0x4c($v1) -/* 2B538 80050138 10400005 */ beqz $v0, .L80050150 -/* 2B53C 8005013C 00031600 */ sll $v0, $v1, 0x18 -/* 2B540 80050140 04400003 */ bltz $v0, .L80050150 -/* 2B544 80050144 00000000 */ nop -/* 2B548 80050148 03E00008 */ jr $ra -/* 2B54C 8005014C A0A3005B */ sb $v1, 0x5b($a1) -.L80050150: -/* 2B550 80050150 90820235 */ lbu $v0, 0x235($a0) -/* 2B554 80050154 03E00008 */ jr $ra -/* 2B558 80050158 A0A2005B */ sb $v0, 0x5b($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_80050184.s b/asm/nonmatchings/code_28910_len_5090/func_80050184.s deleted file mode 100644 index d8725ef0c7..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_80050184.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80050184 -/* 2B584 80050184 908600D6 */ lbu $a2, 0xd6($a0) -/* 2B588 80050188 948200D4 */ lhu $v0, 0xd4($a0) -/* 2B58C 8005018C 8C840064 */ lw $a0, 0x64($a0) -/* 2B590 80050190 8CA30000 */ lw $v1, ($a1) -/* 2B594 80050194 00441021 */ addu $v0, $v0, $a0 -/* 2B598 80050198 A4A6003E */ sh $a2, 0x3e($a1) -/* 2B59C 8005019C ACA30004 */ sw $v1, 4($a1) -/* 2B5A0 800501A0 03E00008 */ jr $ra -/* 2B5A4 800501A4 ACA20000 */ sw $v0, ($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8005083C.s b/asm/nonmatchings/code_28910_len_5090/func_8005083C.s deleted file mode 100644 index 0132c9dde2..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8005083C.s +++ /dev/null @@ -1,21 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8005083C -/* 2BC3C 8005083C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 2BC40 80050840 00051040 */ sll $v0, $a1, 1 -/* 2BC44 80050844 00451021 */ addu $v0, $v0, $a1 -/* 2BC48 80050848 00021140 */ sll $v0, $v0, 5 -/* 2BC4C 8005084C 2442025C */ addiu $v0, $v0, 0x25c -/* 2BC50 80050850 00822821 */ addu $a1, $a0, $v0 -/* 2BC54 80050854 AFBF0010 */ sw $ra, 0x10($sp) -/* 2BC58 80050858 8CA20000 */ lw $v0, ($a1) -/* 2BC5C 8005085C 10400004 */ beqz $v0, .L80050870 -/* 2BC60 80050860 00000000 */ nop -/* 2BC64 80050864 A48600D4 */ sh $a2, 0xd4($a0) -/* 2BC68 80050868 0C013FB4 */ jal func_8004FED0 -/* 2BC6C 8005086C A08700D6 */ sb $a3, 0xd6($a0) -.L80050870: -/* 2BC70 80050870 8FBF0010 */ lw $ra, 0x10($sp) -/* 2BC74 80050874 03E00008 */ jr $ra -/* 2BC78 80050878 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_28910_len_5090/func_80050C30.s b/asm/nonmatchings/code_28910_len_5090/func_80050C30.s deleted file mode 100644 index 15b9f68d46..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_80050C30.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80050C30 -/* 2C030 80050C30 3C02800A */ lui $v0, %hi(D_8009A628) -/* 2C034 80050C34 8C42A628 */ lw $v0, %lo(D_8009A628)($v0) -/* 2C038 80050C38 90430020 */ lbu $v1, 0x20($v0) -/* 2C03C 80050C3C 0083202B */ sltu $a0, $a0, $v1 -/* 2C040 80050C40 10800002 */ beqz $a0, .L80050C4C -/* 2C044 80050C44 24020003 */ addiu $v0, $zero, 3 -/* 2C048 80050C48 0000102D */ daddu $v0, $zero, $zero -.L80050C4C: -/* 2C04C 80050C4C 03E00008 */ jr $ra -/* 2C050 80050C50 00000000 */ nop diff --git a/asm/nonmatchings/code_28910_len_5090/func_80050C54.s b/asm/nonmatchings/code_28910_len_5090/func_80050C54.s deleted file mode 100644 index 0bc0fdef1d..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_80050C54.s +++ /dev/null @@ -1,8 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80050C54 -/* 2C054 80050C54 3C02800A */ lui $v0, %hi(D_8009A628) -/* 2C058 80050C58 8C42A628 */ lw $v0, %lo(D_8009A628)($v0) -/* 2C05C 80050C5C 03E00008 */ jr $ra -/* 2C060 80050C60 A0450021 */ sb $a1, 0x21($v0) diff --git a/asm/nonmatchings/code_2d9a0_len_890/func_800525A0.s b/asm/nonmatchings/code_2d9a0_len_890/func_800525A0.s deleted file mode 100644 index b532f9b647..0000000000 --- a/asm/nonmatchings/code_2d9a0_len_890/func_800525A0.s +++ /dev/null @@ -1,35 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800525A0 -/* 2D9A0 800525A0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 2D9A4 800525A4 AFB3001C */ sw $s3, 0x1c($sp) -/* 2D9A8 800525A8 0080982D */ daddu $s3, $a0, $zero -/* 2D9AC 800525AC AFB10014 */ sw $s1, 0x14($sp) -/* 2D9B0 800525B0 0000882D */ daddu $s1, $zero, $zero -/* 2D9B4 800525B4 AFB20018 */ sw $s2, 0x18($sp) -/* 2D9B8 800525B8 24121320 */ addiu $s2, $zero, 0x1320 -/* 2D9BC 800525BC AFBF0020 */ sw $ra, 0x20($sp) -/* 2D9C0 800525C0 AFB00010 */ sw $s0, 0x10($sp) -.L800525C4: -/* 2D9C4 800525C4 02728021 */ addu $s0, $s3, $s2 -/* 2D9C8 800525C8 92020042 */ lbu $v0, 0x42($s0) -/* 2D9CC 800525CC 50400007 */ beql $v0, $zero, .L800525EC -/* 2D9D0 800525D0 26310001 */ addiu $s1, $s1, 1 -/* 2D9D4 800525D4 0C015BBA */ jal func_80056EE8 -/* 2D9D8 800525D8 322400FF */ andi $a0, $s1, 0xff -/* 2D9DC 800525DC A2000042 */ sb $zero, 0x42($s0) -/* 2D9E0 800525E0 AE00001C */ sw $zero, 0x1c($s0) -/* 2D9E4 800525E4 A2000045 */ sb $zero, 0x45($s0) -/* 2D9E8 800525E8 26310001 */ addiu $s1, $s1, 1 -.L800525EC: -/* 2D9EC 800525EC 2A220018 */ slti $v0, $s1, 0x18 -/* 2D9F0 800525F0 1440FFF4 */ bnez $v0, .L800525C4 -/* 2D9F4 800525F4 26520048 */ addiu $s2, $s2, 0x48 -/* 2D9F8 800525F8 8FBF0020 */ lw $ra, 0x20($sp) -/* 2D9FC 800525FC 8FB3001C */ lw $s3, 0x1c($sp) -/* 2DA00 80052600 8FB20018 */ lw $s2, 0x18($sp) -/* 2DA04 80052604 8FB10014 */ lw $s1, 0x14($sp) -/* 2DA08 80052608 8FB00010 */ lw $s0, 0x10($sp) -/* 2DA0C 8005260C 03E00008 */ jr $ra -/* 2DA10 80052610 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_2d9a0_len_890/func_80052614.s b/asm/nonmatchings/code_2d9a0_len_890/func_80052614.s deleted file mode 100644 index a29039f348..0000000000 --- a/asm/nonmatchings/code_2d9a0_len_890/func_80052614.s +++ /dev/null @@ -1,24 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80052614 -/* 2DA14 80052614 0000282D */ daddu $a1, $zero, $zero -/* 2DA18 80052618 24060080 */ addiu $a2, $zero, 0x80 -/* 2DA1C 8005261C 24031320 */ addiu $v1, $zero, 0x1320 -.L80052620: -/* 2DA20 80052620 00831021 */ addu $v0, $a0, $v1 -/* 2DA24 80052624 24A50001 */ addiu $a1, $a1, 1 -/* 2DA28 80052628 AC40001C */ sw $zero, 0x1c($v0) -/* 2DA2C 8005262C AC400020 */ sw $zero, 0x20($v0) -/* 2DA30 80052630 AC400024 */ sw $zero, 0x24($v0) -/* 2DA34 80052634 AC400028 */ sw $zero, 0x28($v0) -/* 2DA38 80052638 A040003B */ sb $zero, 0x3b($v0) -/* 2DA3C 8005263C A040003C */ sb $zero, 0x3c($v0) -/* 2DA40 80052640 A040003D */ sb $zero, 0x3d($v0) -/* 2DA44 80052644 A040003E */ sb $zero, 0x3e($v0) -/* 2DA48 80052648 A046003F */ sb $a2, 0x3f($v0) -/* 2DA4C 8005264C 28A20018 */ slti $v0, $a1, 0x18 -/* 2DA50 80052650 1440FFF3 */ bnez $v0, .L80052620 -/* 2DA54 80052654 24630048 */ addiu $v1, $v1, 0x48 -/* 2DA58 80052658 03E00008 */ jr $ra -/* 2DA5C 8005265C 00000000 */ nop diff --git a/asm/nonmatchings/code_2d9a0_len_890/func_80052B44.s b/asm/nonmatchings/code_2d9a0_len_890/func_80052B44.s deleted file mode 100644 index 9272b946d9..0000000000 --- a/asm/nonmatchings/code_2d9a0_len_890/func_80052B44.s +++ /dev/null @@ -1,35 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80052B44 -/* 2DF44 80052B44 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 2DF48 80052B48 AFB00010 */ sw $s0, 0x10($sp) -/* 2DF4C 80052B4C 0080802D */ daddu $s0, $a0, $zero -/* 2DF50 80052B50 AFBF0014 */ sw $ra, 0x14($sp) -/* 2DF54 80052B54 9203003A */ lbu $v1, 0x3a($s0) -/* 2DF58 80052B58 86020040 */ lh $v0, 0x40($s0) -/* 2DF5C 80052B5C 00620018 */ mult $v1, $v0 -/* 2DF60 80052B60 00002812 */ mflo $a1 -/* 2DF64 80052B64 9202003F */ lbu $v0, 0x3f($s0) -/* 2DF68 80052B68 00000000 */ nop -/* 2DF6C 80052B6C 00A20018 */ mult $a1, $v0 -/* 2DF70 80052B70 00002812 */ mflo $a1 -/* 2DF74 80052B74 8E030030 */ lw $v1, 0x30($s0) -/* 2DF78 80052B78 00051383 */ sra $v0, $a1, 0xe -/* 2DF7C 80052B7C 00430018 */ mult $v0, $v1 -/* 2DF80 80052B80 8E040028 */ lw $a0, 0x28($s0) -/* 2DF84 80052B84 00002812 */ mflo $a1 -/* 2DF88 80052B88 000511C3 */ sra $v0, $a1, 7 -/* 2DF8C 80052B8C 0C014AF0 */ jal func_80052BC0 -/* 2DF90 80052B90 A602000C */ sh $v0, 0xc($s0) -/* 2DF94 80052B94 AE020008 */ sw $v0, 8($s0) -/* 2DF98 80052B98 9202003D */ lbu $v0, 0x3d($s0) -/* 2DF9C 80052B9C 92030043 */ lbu $v1, 0x43($s0) -/* 2DFA0 80052BA0 304200FD */ andi $v0, $v0, 0xfd -/* 2DFA4 80052BA4 34630004 */ ori $v1, $v1, 4 -/* 2DFA8 80052BA8 A202003D */ sb $v0, 0x3d($s0) -/* 2DFAC 80052BAC A2030043 */ sb $v1, 0x43($s0) -/* 2DFB0 80052BB0 8FBF0014 */ lw $ra, 0x14($sp) -/* 2DFB4 80052BB4 8FB00010 */ lw $s0, 0x10($sp) -/* 2DFB8 80052BB8 03E00008 */ jr $ra -/* 2DFBC 80052BBC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_2d9a0_len_890/func_80052BC0.s b/asm/nonmatchings/code_2d9a0_len_890/func_80052BC0.s deleted file mode 100644 index 9f590f412f..0000000000 --- a/asm/nonmatchings/code_2d9a0_len_890/func_80052BC0.s +++ /dev/null @@ -1,18 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80052BC0 -/* 2DFC0 80052BC0 3C02B65C */ lui $v0, 0xb65c -/* 2DFC4 80052BC4 34426D59 */ ori $v0, $v0, 0x6d59 -/* 2DFC8 80052BC8 00820018 */ mult $a0, $v0 -/* 2DFCC 80052BCC 00002810 */ mfhi $a1 -/* 2DFD0 80052BD0 00A41821 */ addu $v1, $a1, $a0 -/* 2DFD4 80052BD4 00031B03 */ sra $v1, $v1, 0xc -/* 2DFD8 80052BD8 000427C3 */ sra $a0, $a0, 0x1f -/* 2DFDC 80052BDC 00641823 */ subu $v1, $v1, $a0 -/* 2DFE0 80052BE0 00031040 */ sll $v0, $v1, 1 -/* 2DFE4 80052BE4 00431021 */ addu $v0, $v0, $v1 -/* 2DFE8 80052BE8 000210C0 */ sll $v0, $v0, 3 -/* 2DFEC 80052BEC 00431023 */ subu $v0, $v0, $v1 -/* 2DFF0 80052BF0 03E00008 */ jr $ra -/* 2DFF4 80052BF4 000210C0 */ sll $v0, $v0, 3 diff --git a/asm/nonmatchings/code_2e230_len_2190/al_CopyWords.s b/asm/nonmatchings/code_2e230_len_2190/al_CopyWords.s deleted file mode 100644 index 403eb62d40..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/al_CopyWords.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel al_CopyWords -/* 30374 80054F74 04C10002 */ bgez $a2, .L80054F80 -/* 30378 80054F78 00C0102D */ daddu $v0, $a2, $zero -/* 3037C 80054F7C 24C20003 */ addiu $v0, $a2, 3 -.L80054F80: -/* 30380 80054F80 00023083 */ sra $a2, $v0, 2 -/* 30384 80054F84 18C0000B */ blez $a2, .L80054FB4 -/* 30388 80054F88 00851025 */ or $v0, $a0, $a1 -/* 3038C 80054F8C 30420003 */ andi $v0, $v0, 3 -/* 30390 80054F90 14400008 */ bnez $v0, .L80054FB4 -/* 30394 80054F94 24C6FFFF */ addiu $a2, $a2, -1 -.L80054F98: -/* 30398 80054F98 8C820000 */ lw $v0, ($a0) -/* 3039C 80054F9C 24840004 */ addiu $a0, $a0, 4 -/* 303A0 80054FA0 00C0182D */ daddu $v1, $a2, $zero -/* 303A4 80054FA4 24C6FFFF */ addiu $a2, $a2, -1 -/* 303A8 80054FA8 ACA20000 */ sw $v0, ($a1) -/* 303AC 80054FAC 1460FFFA */ bnez $v1, .L80054F98 -/* 303B0 80054FB0 24A50004 */ addiu $a1, $a1, 4 -.L80054FB4: -/* 303B4 80054FB4 03E00008 */ jr $ra -/* 303B8 80054FB8 00000000 */ nop -/* 303BC 80054FBC 00000000 */ nop diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80052E30.s b/asm/nonmatchings/code_2e230_len_2190/func_80052E30.s deleted file mode 100644 index 388131dc4a..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80052E30.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80052E30 -/* 2E230 80052E30 308400FF */ andi $a0, $a0, 0xff -/* 2E234 80052E34 000410C0 */ sll $v0, $a0, 3 -/* 2E238 80052E38 00441021 */ addu $v0, $v0, $a0 -/* 2E23C 80052E3C 000210C0 */ sll $v0, $v0, 3 -/* 2E240 80052E40 3C03800A */ lui $v1, %hi(D_8009A5C0) -/* 2E244 80052E44 8C63A5C0 */ lw $v1, %lo(D_8009A5C0)($v1) -/* 2E248 80052E48 24421320 */ addiu $v0, $v0, 0x1320 -/* 2E24C 80052E4C 00621821 */ addu $v1, $v1, $v0 -/* 2E250 80052E50 AC60001C */ sw $zero, 0x1c($v1) -/* 2E254 80052E54 03E00008 */ jr $ra -/* 2E258 80052E58 A0600045 */ sb $zero, 0x45($v1) diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80052E5C.s b/asm/nonmatchings/code_2e230_len_2190/func_80052E5C.s deleted file mode 100644 index 2e92f2c27c..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80052E5C.s +++ /dev/null @@ -1,306 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80052E5C -/* 2E25C 80052E5C 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 2E260 80052E60 AFB60040 */ sw $s6, 0x40($sp) -/* 2E264 80052E64 0080B02D */ daddu $s6, $a0, $zero -/* 2E268 80052E68 24050001 */ addiu $a1, $zero, 1 -/* 2E26C 80052E6C 3C028008 */ lui $v0, %hi(D_80078E54) -/* 2E270 80052E70 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 2E274 80052E74 240619E0 */ addiu $a2, $zero, 0x19e0 -/* 2E278 80052E78 AFBF0044 */ sw $ra, 0x44($sp) -/* 2E27C 80052E7C AFB5003C */ sw $s5, 0x3c($sp) -/* 2E280 80052E80 AFB40038 */ sw $s4, 0x38($sp) -/* 2E284 80052E84 AFB30034 */ sw $s3, 0x34($sp) -/* 2E288 80052E88 AFB20030 */ sw $s2, 0x30($sp) -/* 2E28C 80052E8C AFB1002C */ sw $s1, 0x2c($sp) -/* 2E290 80052E90 AFB00028 */ sw $s0, 0x28($sp) -/* 2E294 80052E94 8C550018 */ lw $s5, 0x18($v0) -/* 2E298 80052E98 0000982D */ daddu $s3, $zero, $zero -/* 2E29C 80052E9C 0C015FE4 */ jal alHeapAlloc -/* 2E2A0 80052EA0 02A0202D */ daddu $a0, $s5, $zero -/* 2E2A4 80052EA4 02A0202D */ daddu $a0, $s5, $zero -/* 2E2A8 80052EA8 24050001 */ addiu $a1, $zero, 1 -/* 2E2AC 80052EAC 24060A9C */ addiu $a2, $zero, 0xa9c -/* 2E2B0 80052EB0 3C12800A */ lui $s2, %hi(D_8009A5C0) -/* 2E2B4 80052EB4 2652A5C0 */ addiu $s2, $s2, %lo(D_8009A5C0) -/* 2E2B8 80052EB8 0C015FE4 */ jal alHeapAlloc -/* 2E2BC 80052EBC AE420000 */ sw $v0, ($s2) -/* 2E2C0 80052EC0 02A0202D */ daddu $a0, $s5, $zero -/* 2E2C4 80052EC4 24050001 */ addiu $a1, $zero, 1 -/* 2E2C8 80052EC8 24060A9C */ addiu $a2, $zero, 0xa9c -/* 2E2CC 80052ECC 3C11800A */ lui $s1, %hi(D_8009A664) -/* 2E2D0 80052ED0 2631A664 */ addiu $s1, $s1, %lo(D_8009A664) -/* 2E2D4 80052ED4 0C015FE4 */ jal alHeapAlloc -/* 2E2D8 80052ED8 AE220000 */ sw $v0, ($s1) -/* 2E2DC 80052EDC 02A0202D */ daddu $a0, $s5, $zero -/* 2E2E0 80052EE0 24050001 */ addiu $a1, $zero, 1 -/* 2E2E4 80052EE4 3C01800A */ lui $at, %hi(D_8009A5FC) -/* 2E2E8 80052EE8 AC22A5FC */ sw $v0, %lo(D_8009A5FC)($at) -/* 2E2EC 80052EEC 0C015FE4 */ jal alHeapAlloc -/* 2E2F0 80052EF0 24060A9C */ addiu $a2, $zero, 0xa9c -/* 2E2F4 80052EF4 02A0202D */ daddu $a0, $s5, $zero -/* 2E2F8 80052EF8 24050001 */ addiu $a1, $zero, 1 -/* 2E2FC 80052EFC 3C01800A */ lui $at, %hi(D_8009A5CC) -/* 2E300 80052F00 AC22A5CC */ sw $v0, %lo(D_8009A5CC)($at) -/* 2E304 80052F04 0C015FE4 */ jal alHeapAlloc -/* 2E308 80052F08 240606CC */ addiu $a2, $zero, 0x6cc -/* 2E30C 80052F0C 02A0202D */ daddu $a0, $s5, $zero -/* 2E310 80052F10 24050001 */ addiu $a1, $zero, 1 -/* 2E314 80052F14 24060834 */ addiu $a2, $zero, 0x834 -/* 2E318 80052F18 3C10800A */ lui $s0, %hi(D_8009A640) -/* 2E31C 80052F1C 2610A640 */ addiu $s0, $s0, %lo(D_8009A640) -/* 2E320 80052F20 0C015FE4 */ jal alHeapAlloc -/* 2E324 80052F24 AE020000 */ sw $v0, ($s0) -/* 2E328 80052F28 02A0202D */ daddu $a0, $s5, $zero -/* 2E32C 80052F2C 24050001 */ addiu $a1, $zero, 1 -/* 2E330 80052F30 8E280000 */ lw $t0, ($s1) -/* 2E334 80052F34 8E070000 */ lw $a3, ($s0) -/* 2E338 80052F38 8E430000 */ lw $v1, ($s2) -/* 2E33C 80052F3C 34068000 */ ori $a2, $zero, 0x8000 -/* 2E340 80052F40 3C01800A */ lui $at, %hi(D_8009A628) -/* 2E344 80052F44 AC22A628 */ sw $v0, %lo(D_8009A628)($at) -/* 2E348 80052F48 0060A02D */ daddu $s4, $v1, $zero -/* 2E34C 80052F4C AD070004 */ sw $a3, 4($t0) -/* 2E350 80052F50 0C015FE4 */ jal alHeapAlloc -/* 2E354 80052F54 AC430000 */ sw $v1, ($v0) -/* 2E358 80052F58 0280802D */ daddu $s0, $s4, $zero -/* 2E35C 80052F5C 24435000 */ addiu $v1, $v0, 0x5000 -/* 2E360 80052F60 AE82005C */ sw $v0, 0x5c($s4) -/* 2E364 80052F64 24427000 */ addiu $v0, $v0, 0x7000 -/* 2E368 80052F68 AE830060 */ sw $v1, 0x60($s4) -/* 2E36C 80052F6C AE820064 */ sw $v0, 0x64($s4) -/* 2E370 80052F70 AE830068 */ sw $v1, 0x68($s4) -.L80052F74: -/* 2E374 80052F74 02A0202D */ daddu $a0, $s5, $zero -/* 2E378 80052F78 24050001 */ addiu $a1, $zero, 1 -/* 2E37C 80052F7C 0C015FE4 */ jal alHeapAlloc -/* 2E380 80052F80 24060A9C */ addiu $a2, $zero, 0xa9c -/* 2E384 80052F84 AE02006C */ sw $v0, 0x6c($s0) -/* 2E388 80052F88 26730001 */ addiu $s3, $s3, 1 -/* 2E38C 80052F8C 1260FFF9 */ beqz $s3, .L80052F74 -/* 2E390 80052F90 26100008 */ addiu $s0, $s0, 8 -/* 2E394 80052F94 02A0202D */ daddu $a0, $s5, $zero -/* 2E398 80052F98 24050001 */ addiu $a1, $zero, 1 -/* 2E39C 80052F9C 0C015FE4 */ jal alHeapAlloc -/* 2E3A0 80052FA0 24065200 */ addiu $a2, $zero, 0x5200 -/* 2E3A4 80052FA4 02A0202D */ daddu $a0, $s5, $zero -/* 2E3A8 80052FA8 24050001 */ addiu $a1, $zero, 1 -/* 2E3AC 80052FAC 24060030 */ addiu $a2, $zero, 0x30 -/* 2E3B0 80052FB0 0C015FE4 */ jal alHeapAlloc -/* 2E3B4 80052FB4 AE8200A0 */ sw $v0, 0xa0($s4) -/* 2E3B8 80052FB8 02A0202D */ daddu $a0, $s5, $zero -/* 2E3BC 80052FBC 24050001 */ addiu $a1, $zero, 1 -/* 2E3C0 80052FC0 24060360 */ addiu $a2, $zero, 0x360 -/* 2E3C4 80052FC4 0C015FE4 */ jal alHeapAlloc -/* 2E3C8 80052FC8 AE820004 */ sw $v0, 4($s4) -/* 2E3CC 80052FCC 02A0202D */ daddu $a0, $s5, $zero -/* 2E3D0 80052FD0 24050001 */ addiu $a1, $zero, 1 -/* 2E3D4 80052FD4 24060200 */ addiu $a2, $zero, 0x200 -/* 2E3D8 80052FD8 0C015FE4 */ jal alHeapAlloc -/* 2E3DC 80052FDC AE820054 */ sw $v0, 0x54($s4) -/* 2E3E0 80052FE0 02A0202D */ daddu $a0, $s5, $zero -/* 2E3E4 80052FE4 24050001 */ addiu $a1, $zero, 1 -/* 2E3E8 80052FE8 24060040 */ addiu $a2, $zero, 0x40 -/* 2E3EC 80052FEC 0C015FE4 */ jal alHeapAlloc -/* 2E3F0 80052FF0 AE820058 */ sw $v0, 0x58($s4) -/* 2E3F4 80052FF4 0000982D */ daddu $s3, $zero, $zero -/* 2E3F8 80052FF8 8E840004 */ lw $a0, 4($s4) -/* 2E3FC 80052FFC 44960000 */ mtc1 $s6, $f0 -/* 2E400 80053000 00000000 */ nop -/* 2E404 80053004 46800020 */ cvt.s.w $f0, $f0 -/* 2E408 80053008 AE820094 */ sw $v0, 0x94($s4) -/* 2E40C 8005300C 0C014CBD */ jal func_800532F4 -/* 2E410 80053010 E6800000 */ swc1 $f0, ($s4) -/* 2E414 80053014 0C014CDC */ jal func_80053370 -/* 2E418 80053018 26840008 */ addiu $a0, $s4, 8 -/* 2E41C 8005301C 0C014CEA */ jal func_800533A8 -/* 2E420 80053020 26840014 */ addiu $a0, $s4, 0x14 -/* 2E424 80053024 0C015843 */ jal func_8005610C -/* 2E428 80053028 00000000 */ nop -/* 2E42C 8005302C 0280102D */ daddu $v0, $s4, $zero -/* 2E430 80053030 AE8000A4 */ sw $zero, 0xa4($s4) -/* 2E434 80053034 AE8000A8 */ sw $zero, 0xa8($s4) -.L80053038: -/* 2E438 80053038 A0400070 */ sb $zero, 0x70($v0) -/* 2E43C 8005303C A0400071 */ sb $zero, 0x71($v0) -/* 2E440 80053040 26730001 */ addiu $s3, $s3, 1 -/* 2E444 80053044 1260FFFC */ beqz $s3, .L80053038 -/* 2E448 80053048 24420008 */ addiu $v0, $v0, 8 -/* 2E44C 8005304C 0000982D */ daddu $s3, $zero, $zero -/* 2E450 80053050 0280182D */ daddu $v1, $s4, $zero -.L80053054: -/* 2E454 80053054 A0600040 */ sb $zero, 0x40($v1) -/* 2E458 80053058 A0600041 */ sb $zero, 0x41($v1) -/* 2E45C 8005305C 26730001 */ addiu $s3, $s3, 1 -/* 2E460 80053060 2E620004 */ sltiu $v0, $s3, 4 -/* 2E464 80053064 1440FFFB */ bnez $v0, .L80053054 -/* 2E468 80053068 24630004 */ addiu $v1, $v1, 4 -/* 2E46C 8005306C 0000982D */ daddu $s3, $zero, $zero -/* 2E470 80053070 2416FFFF */ addiu $s6, $zero, -1 -/* 2E474 80053074 241200FF */ addiu $s2, $zero, 0xff -/* 2E478 80053078 24111320 */ addiu $s1, $zero, 0x1320 -.L8005307C: -/* 2E47C 8005307C 327000FF */ andi $s0, $s3, 0xff -/* 2E480 80053080 0200202D */ daddu $a0, $s0, $zero -/* 2E484 80053084 0C015BB0 */ jal func_80056EC0 -/* 2E488 80053088 0000282D */ daddu $a1, $zero, $zero -/* 2E48C 8005308C 0200202D */ daddu $a0, $s0, $zero -/* 2E490 80053090 8E850004 */ lw $a1, 4($s4) -/* 2E494 80053094 0C015C89 */ jal func_80057224 -/* 2E498 80053098 26730001 */ addiu $s3, $s3, 1 -/* 2E49C 8005309C 02911021 */ addu $v0, $s4, $s1 -/* 2E4A0 800530A0 AC400000 */ sw $zero, ($v0) -/* 2E4A4 800530A4 AC400004 */ sw $zero, 4($v0) -/* 2E4A8 800530A8 A456000C */ sh $s6, 0xc($v0) -/* 2E4AC 800530AC A052000E */ sb $s2, 0xe($v0) -/* 2E4B0 800530B0 A052000F */ sb $s2, 0xf($v0) -/* 2E4B4 800530B4 A0400010 */ sb $zero, 0x10($v0) -/* 2E4B8 800530B8 A0400042 */ sb $zero, 0x42($v0) -/* 2E4BC 800530BC A0400043 */ sb $zero, 0x43($v0) -/* 2E4C0 800530C0 A0400044 */ sb $zero, 0x44($v0) -/* 2E4C4 800530C4 A0400045 */ sb $zero, 0x45($v0) -/* 2E4C8 800530C8 2E620018 */ sltiu $v0, $s3, 0x18 -/* 2E4CC 800530CC 1440FFEB */ bnez $v0, .L8005307C -/* 2E4D0 800530D0 26310048 */ addiu $s1, $s1, 0x48 -/* 2E4D4 800530D4 0280202D */ daddu $a0, $s4, $zero -/* 2E4D8 800530D8 3C0500F0 */ lui $a1, 0xf0 -/* 2E4DC 800530DC 0C0150AF */ jal al_LoadINIT -/* 2E4E0 800530E0 02A0302D */ daddu $a2, $s5, $zero -/* 2E4E4 800530E4 0000982D */ daddu $s3, $zero, $zero -/* 2E4E8 800530E8 0280802D */ daddu $s0, $s4, $zero -.L800530EC: -/* 2E4EC 800530EC 02A0202D */ daddu $a0, $s5, $zero -/* 2E4F0 800530F0 24050001 */ addiu $a1, $zero, 1 -/* 2E4F4 800530F4 0C015FE4 */ jal alHeapAlloc -/* 2E4F8 800530F8 24060840 */ addiu $a2, $zero, 0x840 -/* 2E4FC 800530FC AE021310 */ sw $v0, 0x1310($s0) -/* 2E500 80053100 26730001 */ addiu $s3, $s3, 1 -/* 2E504 80053104 2E620003 */ sltiu $v0, $s3, 3 -/* 2E508 80053108 1440FFF8 */ bnez $v0, .L800530EC -/* 2E50C 8005310C 26100004 */ addiu $s0, $s0, 4 -/* 2E510 80053110 24050001 */ addiu $a1, $zero, 1 -/* 2E514 80053114 0000302D */ daddu $a2, $zero, $zero -/* 2E518 80053118 3C10800A */ lui $s0, %hi(D_8009A664) -/* 2E51C 8005311C 2610A664 */ addiu $s0, $s0, %lo(D_8009A664) -/* 2E520 80053120 8E040000 */ lw $a0, ($s0) -/* 2E524 80053124 0C013856 */ jal func_8004E158 -/* 2E528 80053128 0280382D */ daddu $a3, $s4, $zero -/* 2E52C 8005312C 27B20020 */ addiu $s2, $sp, 0x20 -/* 2E530 80053130 0240282D */ daddu $a1, $s2, $zero -/* 2E534 80053134 24020003 */ addiu $v0, $zero, 3 -/* 2E538 80053138 8E040000 */ lw $a0, ($s0) -/* 2E53C 8005313C 241000FF */ addiu $s0, $zero, 0xff -/* 2E540 80053140 A3A00020 */ sb $zero, 0x20($sp) -/* 2E544 80053144 A3A20021 */ sb $v0, 0x21($sp) -/* 2E548 80053148 A3B00022 */ sb $s0, 0x22($sp) -/* 2E54C 8005314C 0C0138D1 */ jal func_8004E344 -/* 2E550 80053150 A3B00023 */ sb $s0, 0x23($sp) -/* 2E554 80053154 24050002 */ addiu $a1, $zero, 2 -/* 2E558 80053158 00A0302D */ daddu $a2, $a1, $zero -/* 2E55C 8005315C 3C11800A */ lui $s1, %hi(D_8009A5FC) -/* 2E560 80053160 2631A5FC */ addiu $s1, $s1, %lo(D_8009A5FC) -/* 2E564 80053164 8E240000 */ lw $a0, ($s1) -/* 2E568 80053168 0C013856 */ jal func_8004E158 -/* 2E56C 8005316C 0280382D */ daddu $a3, $s4, $zero -/* 2E570 80053170 0240282D */ daddu $a1, $s2, $zero -/* 2E574 80053174 8E240000 */ lw $a0, ($s1) -/* 2E578 80053178 24020002 */ addiu $v0, $zero, 2 -/* 2E57C 8005317C A3A20020 */ sb $v0, 0x20($sp) -/* 2E580 80053180 A3B00021 */ sb $s0, 0x21($sp) -/* 2E584 80053184 A3B00022 */ sb $s0, 0x22($sp) -/* 2E588 80053188 0C0138D1 */ jal func_8004E344 -/* 2E58C 8005318C A3B00023 */ sb $s0, 0x23($sp) -/* 2E590 80053190 24050004 */ addiu $a1, $zero, 4 -/* 2E594 80053194 24060001 */ addiu $a2, $zero, 1 -/* 2E598 80053198 0280382D */ daddu $a3, $s4, $zero -/* 2E59C 8005319C 3C10800A */ lui $s0, %hi(D_8009A640) -/* 2E5A0 800531A0 2610A640 */ addiu $s0, $s0, %lo(D_8009A640) -/* 2E5A4 800531A4 8E040000 */ lw $a0, ($s0) -/* 2E5A8 800531A8 24020010 */ addiu $v0, $zero, 0x10 -/* 2E5AC 800531AC 0C012D10 */ jal func_8004B440 -/* 2E5B0 800531B0 AFA20010 */ sw $v0, 0x10($sp) -/* 2E5B4 800531B4 24050006 */ addiu $a1, $zero, 6 -/* 2E5B8 800531B8 24060001 */ addiu $a2, $zero, 1 -/* 2E5BC 800531BC 3C04800A */ lui $a0, %hi(D_8009A628) -/* 2E5C0 800531C0 8C84A628 */ lw $a0, %lo(D_8009A628)($a0) -/* 2E5C4 800531C4 0C0142E4 */ jal func_80050B90 -/* 2E5C8 800531C8 0280382D */ daddu $a3, $s4, $zero -/* 2E5CC 800531CC 0C014985 */ jal func_80052614 -/* 2E5D0 800531D0 0280202D */ daddu $a0, $s4, $zero -/* 2E5D4 800531D4 0280202D */ daddu $a0, $s4, $zero -/* 2E5D8 800531D8 0C0153F0 */ jal al_LoadBKHeaders -/* 2E5DC 800531DC 02A0282D */ daddu $a1, $s5, $zero -/* 2E5E0 800531E0 8E82003C */ lw $v0, 0x3c($s4) -/* 2E5E4 800531E4 24050020 */ addiu $a1, $zero, 0x20 -/* 2E5E8 800531E8 94440000 */ lhu $a0, ($v0) -/* 2E5EC 800531EC 0C01511F */ jal al_CopyFileTableEntry -/* 2E5F0 800531F0 27A60018 */ addiu $a2, $sp, 0x18 -/* 2E5F4 800531F4 14400007 */ bnez $v0, .L80053214 -/* 2E5F8 800531F8 3C0200FF */ lui $v0, 0xff -/* 2E5FC 800531FC 3442FFFF */ ori $v0, $v0, 0xffff -/* 2E600 80053200 8FA40018 */ lw $a0, 0x18($sp) -/* 2E604 80053204 8FA6001C */ lw $a2, 0x1c($sp) -/* 2E608 80053208 8E8500A0 */ lw $a1, 0xa0($s4) -/* 2E60C 8005320C 0C015380 */ jal al_DmaCopy -/* 2E610 80053210 00C23024 */ and $a2, $a2, $v0 -.L80053214: -/* 2E614 80053214 8E040000 */ lw $a0, ($s0) -/* 2E618 80053218 0C012D8B */ jal func_8004B62C -/* 2E61C 8005321C 00000000 */ nop -/* 2E620 80053220 8E82003C */ lw $v0, 0x3c($s4) -/* 2E624 80053224 24050040 */ addiu $a1, $zero, 0x40 -/* 2E628 80053228 94440002 */ lhu $a0, 2($v0) -/* 2E62C 8005322C 0C01511F */ jal al_CopyFileTableEntry -/* 2E630 80053230 27A60018 */ addiu $a2, $sp, 0x18 -/* 2E634 80053234 14400004 */ bnez $v0, .L80053248 -/* 2E638 80053238 00000000 */ nop -/* 2E63C 8005323C 8FA50018 */ lw $a1, 0x18($sp) -/* 2E640 80053240 0C01513E */ jal al_LoadPER -/* 2E644 80053244 0280202D */ daddu $a0, $s4, $zero -.L80053248: -/* 2E648 80053248 8E82003C */ lw $v0, 0x3c($s4) -/* 2E64C 8005324C 24050040 */ addiu $a1, $zero, 0x40 -/* 2E650 80053250 94440004 */ lhu $a0, 4($v0) -/* 2E654 80053254 0C01511F */ jal al_CopyFileTableEntry -/* 2E658 80053258 27A60018 */ addiu $a2, $sp, 0x18 -/* 2E65C 8005325C 54400005 */ bnel $v0, $zero, .L80053274 -/* 2E660 80053260 0000202D */ daddu $a0, $zero, $zero -/* 2E664 80053264 8FA50018 */ lw $a1, 0x18($sp) -/* 2E668 80053268 0C01516D */ jal al_LoadPRG -/* 2E66C 8005326C 0280202D */ daddu $a0, $s4, $zero -/* 2E670 80053270 0000202D */ daddu $a0, $zero, $zero -.L80053274: -/* 2E674 80053274 268304EC */ addiu $v1, $s4, 0x4ec -/* 2E678 80053278 268205EC */ addiu $v0, $s4, 0x5ec -/* 2E67C 8005327C AE8212F0 */ sw $v0, 0x12f0($s4) -/* 2E680 80053280 268200AC */ addiu $v0, $s4, 0xac -/* 2E684 80053284 AE8212F4 */ sw $v0, 0x12f4($s4) -/* 2E688 80053288 268200EC */ addiu $v0, $s4, 0xec -/* 2E68C 8005328C AE8212F8 */ sw $v0, 0x12f8($s4) -/* 2E690 80053290 268209EC */ addiu $v0, $s4, 0x9ec -/* 2E694 80053294 AE8212FC */ sw $v0, 0x12fc($s4) -/* 2E698 80053298 26820DEC */ addiu $v0, $s4, 0xdec -/* 2E69C 8005329C AE821300 */ sw $v0, 0x1300($s4) -/* 2E6A0 800532A0 268211EC */ addiu $v0, $s4, 0x11ec -/* 2E6A4 800532A4 AE8312EC */ sw $v1, 0x12ec($s4) -/* 2E6A8 800532A8 AE821304 */ sw $v0, 0x1304($s4) -/* 2E6AC 800532AC AE831308 */ sw $v1, 0x1308($s4) -/* 2E6B0 800532B0 A2800053 */ sb $zero, 0x53($s4) -/* 2E6B4 800532B4 A2800052 */ sb $zero, 0x52($s4) -/* 2E6B8 800532B8 A2800051 */ sb $zero, 0x51($s4) -/* 2E6BC 800532BC 0C015FB4 */ jal func_80057ED0 -/* 2E6C0 800532C0 A2800050 */ sb $zero, 0x50($s4) -/* 2E6C4 800532C4 0C015414 */ jal func_80055050 -/* 2E6C8 800532C8 02A0202D */ daddu $a0, $s5, $zero -/* 2E6CC 800532CC 8FBF0044 */ lw $ra, 0x44($sp) -/* 2E6D0 800532D0 8FB60040 */ lw $s6, 0x40($sp) -/* 2E6D4 800532D4 8FB5003C */ lw $s5, 0x3c($sp) -/* 2E6D8 800532D8 8FB40038 */ lw $s4, 0x38($sp) -/* 2E6DC 800532DC 8FB30034 */ lw $s3, 0x34($sp) -/* 2E6E0 800532E0 8FB20030 */ lw $s2, 0x30($sp) -/* 2E6E4 800532E4 8FB1002C */ lw $s1, 0x2c($sp) -/* 2E6E8 800532E8 8FB00028 */ lw $s0, 0x28($sp) -/* 2E6EC 800532EC 03E00008 */ jr $ra -/* 2E6F0 800532F0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/code_2e230_len_2190/func_800532F4.s b/asm/nonmatchings/code_2e230_len_2190/func_800532F4.s deleted file mode 100644 index 595a3184f4..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_800532F4.s +++ /dev/null @@ -1,35 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800532F4 -/* 2E6F4 800532F4 3C013F00 */ lui $at, 0x3f00 -/* 2E6F8 800532F8 44810000 */ mtc1 $at, $f0 -/* 2E6FC 800532FC 3C028008 */ lui $v0, %hi(D_800781D0) -/* 2E700 80053300 244281D0 */ addiu $v0, $v0, %lo(D_800781D0) -/* 2E704 80053304 AC820000 */ sw $v0, ($a0) -/* 2E708 80053308 240200BE */ addiu $v0, $zero, 0xbe -/* 2E70C 8005330C AC820004 */ sw $v0, 4($a0) -/* 2E710 80053310 3C028008 */ lui $v0, %hi(D_80078190) -/* 2E714 80053314 24428190 */ addiu $v0, $v0, %lo(D_80078190) -/* 2E718 80053318 AC820018 */ sw $v0, 0x18($a0) -/* 2E71C 8005331C 24020040 */ addiu $v0, $zero, 0x40 -/* 2E720 80053320 A482001C */ sh $v0, 0x1c($a0) -/* 2E724 80053324 240212C0 */ addiu $v0, $zero, 0x12c0 -/* 2E728 80053328 A482001E */ sh $v0, 0x1e($a0) -/* 2E72C 8005332C 3C028008 */ lui $v0, %hi(D_80078544) -/* 2E730 80053330 24428544 */ addiu $v0, $v0, %lo(D_80078544) -/* 2E734 80053334 AC800008 */ sw $zero, 8($a0) -/* 2E738 80053338 AC80000C */ sw $zero, 0xc($a0) -/* 2E73C 8005333C AC800010 */ sw $zero, 0x10($a0) -/* 2E740 80053340 AC800014 */ sw $zero, 0x14($a0) -/* 2E744 80053344 A0800024 */ sb $zero, 0x24($a0) -/* 2E748 80053348 A0800025 */ sb $zero, 0x25($a0) -/* 2E74C 8005334C AC82002C */ sw $v0, 0x2c($a0) -/* 2E750 80053350 A0800026 */ sb $zero, 0x26($a0) -/* 2E754 80053354 A0800027 */ sb $zero, 0x27($a0) -/* 2E758 80053358 A0800028 */ sb $zero, 0x28($a0) -/* 2E75C 8005335C A0800029 */ sb $zero, 0x29($a0) -/* 2E760 80053360 A080002A */ sb $zero, 0x2a($a0) -/* 2E764 80053364 A080002B */ sb $zero, 0x2b($a0) -/* 2E768 80053368 03E00008 */ jr $ra -/* 2E76C 8005336C E4800020 */ swc1 $f0, 0x20($a0) diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053370.s b/asm/nonmatchings/code_2e230_len_2190/func_80053370.s deleted file mode 100644 index 2228837a15..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053370.s +++ /dev/null @@ -1,18 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80053370 -/* 2E770 80053370 24022010 */ addiu $v0, $zero, 0x2010 -/* 2E774 80053374 A4820000 */ sh $v0, ($a0) -/* 2E778 80053378 240212C0 */ addiu $v0, $zero, 0x12c0 -/* 2E77C 8005337C A4820002 */ sh $v0, 2($a0) -/* 2E780 80053380 2402007F */ addiu $v0, $zero, 0x7f -/* 2E784 80053384 A0820004 */ sb $v0, 4($a0) -/* 2E788 80053388 24020040 */ addiu $v0, $zero, 0x40 -/* 2E78C 8005338C A0820005 */ sb $v0, 5($a0) -/* 2E790 80053390 A0800006 */ sb $zero, 6($a0) -/* 2E794 80053394 A0800007 */ sb $zero, 7($a0) -/* 2E798 80053398 A0800008 */ sb $zero, 8($a0) -/* 2E79C 8005339C A0800009 */ sb $zero, 9($a0) -/* 2E7A0 800533A0 03E00008 */ jr $ra -/* 2E7A4 800533A4 A080000A */ sb $zero, 0xa($a0) diff --git a/asm/nonmatchings/code_2e230_len_2190/func_800533A8.s b/asm/nonmatchings/code_2e230_len_2190/func_800533A8.s deleted file mode 100644 index 8047bea254..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_800533A8.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800533A8 -/* 2E7A8 800533A8 24022010 */ addiu $v0, $zero, 0x2010 -/* 2E7AC 800533AC A4820000 */ sh $v0, ($a0) -/* 2E7B0 800533B0 2402007F */ addiu $v0, $zero, 0x7f -/* 2E7B4 800533B4 A0820002 */ sb $v0, 2($a0) -/* 2E7B8 800533B8 24020040 */ addiu $v0, $zero, 0x40 -/* 2E7BC 800533BC A0820003 */ sb $v0, 3($a0) -/* 2E7C0 800533C0 A0800004 */ sb $zero, 4($a0) -/* 2E7C4 800533C4 A0800005 */ sb $zero, 5($a0) -/* 2E7C8 800533C8 03E00008 */ jr $ra -/* 2E7CC 800533CC A0800006 */ sb $zero, 6($a0) diff --git a/asm/nonmatchings/code_2e230_len_2190/func_800533D0.s b/asm/nonmatchings/code_2e230_len_2190/func_800533D0.s deleted file mode 100644 index 681a718d1e..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_800533D0.s +++ /dev/null @@ -1,140 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800533D0 -/* 2E7D0 800533D0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 2E7D4 800533D4 AFB20018 */ sw $s2, 0x18($sp) -/* 2E7D8 800533D8 3C12800A */ lui $s2, %hi(D_8009A5C0) -/* 2E7DC 800533DC 8E52A5C0 */ lw $s2, %lo(D_8009A5C0)($s2) -/* 2E7E0 800533E0 AFB10014 */ sw $s1, 0x14($sp) -/* 2E7E4 800533E4 3C11800A */ lui $s1, %hi(D_8009A640) -/* 2E7E8 800533E8 8E31A640 */ lw $s1, %lo(D_8009A640)($s1) -/* 2E7EC 800533EC AFB00010 */ sw $s0, 0x10($sp) -/* 2E7F0 800533F0 3C10800A */ lui $s0, %hi(D_8009A628) -/* 2E7F4 800533F4 8E10A628 */ lw $s0, %lo(D_8009A628)($s0) -/* 2E7F8 800533F8 AFBF001C */ sw $ra, 0x1c($sp) -/* 2E7FC 800533FC 0C014D95 */ jal func_80053654 -/* 2E800 80053400 0240202D */ daddu $a0, $s2, $zero -/* 2E804 80053404 8E03000C */ lw $v1, 0xc($s0) -/* 2E808 80053408 8E020004 */ lw $v0, 4($s0) -/* 2E80C 8005340C 00621823 */ subu $v1, $v1, $v0 -/* 2E810 80053410 1C600006 */ bgtz $v1, .L8005342C -/* 2E814 80053414 AE03000C */ sw $v1, 0xc($s0) -/* 2E818 80053418 8E020008 */ lw $v0, 8($s0) -/* 2E81C 8005341C 0200202D */ daddu $a0, $s0, $zero -/* 2E820 80053420 00621021 */ addu $v0, $v1, $v0 -/* 2E824 80053424 0C01446F */ jal func_800511BC -/* 2E828 80053428 AC82000C */ sw $v0, 0xc($a0) -.L8005342C: -/* 2E82C 8005342C 8622004A */ lh $v0, 0x4a($s1) -/* 2E830 80053430 10400007 */ beqz $v0, .L80053450 -/* 2E834 80053434 00000000 */ nop -/* 2E838 80053438 0C014E8A */ jal func_80053A28 -/* 2E83C 8005343C 26240040 */ addiu $a0, $s1, 0x40 -/* 2E840 80053440 922400BE */ lbu $a0, 0xbe($s1) -/* 2E844 80053444 96250040 */ lhu $a1, 0x40($s1) -/* 2E848 80053448 0C014EA6 */ jal func_80053A98 -/* 2E84C 8005344C 8E26005C */ lw $a2, 0x5c($s1) -.L80053450: -/* 2E850 80053450 8E23003C */ lw $v1, 0x3c($s1) -/* 2E854 80053454 8E220034 */ lw $v0, 0x34($s1) -/* 2E858 80053458 00621823 */ subu $v1, $v1, $v0 -/* 2E85C 8005345C 1C600007 */ bgtz $v1, .L8005347C -/* 2E860 80053460 AE23003C */ sw $v1, 0x3c($s1) -/* 2E864 80053464 8E220038 */ lw $v0, 0x38($s1) -/* 2E868 80053468 0220202D */ daddu $a0, $s1, $zero -/* 2E86C 8005346C 00621021 */ addu $v0, $v1, $v0 -/* 2E870 80053470 0C013111 */ jal func_8004C444 -/* 2E874 80053474 AE22003C */ sw $v0, 0x3c($s1) -/* 2E878 80053478 A62200BA */ sh $v0, 0xba($s1) -.L8005347C: -/* 2E87C 8005347C 3C118008 */ lui $s1, %hi(D_80078DB0) -/* 2E880 80053480 26318DB0 */ addiu $s1, $s1, %lo(D_80078DB0) -/* 2E884 80053484 8E220000 */ lw $v0, ($s1) -/* 2E888 80053488 14400045 */ bnez $v0, .L800535A0 -/* 2E88C 8005348C 00000000 */ nop -/* 2E890 80053490 3C10800A */ lui $s0, %hi(D_8009A5FC) -/* 2E894 80053494 8E10A5FC */ lw $s0, %lo(D_8009A5FC)($s0) -/* 2E898 80053498 86020036 */ lh $v0, 0x36($s0) -/* 2E89C 8005349C 10400003 */ beqz $v0, .L800534AC -/* 2E8A0 800534A0 00000000 */ nop -/* 2E8A4 800534A4 0C0138E9 */ jal func_8004E3A4 -/* 2E8A8 800534A8 0200202D */ daddu $a0, $s0, $zero -.L800534AC: -/* 2E8AC 800534AC 8E02001C */ lw $v0, 0x1c($s0) -/* 2E8B0 800534B0 10400004 */ beqz $v0, .L800534C4 -/* 2E8B4 800534B4 00000000 */ nop -/* 2E8B8 800534B8 8E020018 */ lw $v0, 0x18($s0) -/* 2E8BC 800534BC 24420001 */ addiu $v0, $v0, 1 -/* 2E8C0 800534C0 AE020018 */ sw $v0, 0x18($s0) -.L800534C4: -/* 2E8C4 800534C4 8E030010 */ lw $v1, 0x10($s0) -/* 2E8C8 800534C8 8E020008 */ lw $v0, 8($s0) -/* 2E8CC 800534CC 00621823 */ subu $v1, $v1, $v0 -/* 2E8D0 800534D0 1C600007 */ bgtz $v1, .L800534F0 -/* 2E8D4 800534D4 AE030010 */ sw $v1, 0x10($s0) -/* 2E8D8 800534D8 8E02000C */ lw $v0, 0xc($s0) -/* 2E8DC 800534DC 0200202D */ daddu $a0, $s0, $zero -/* 2E8E0 800534E0 00621021 */ addu $v0, $v1, $v0 -/* 2E8E4 800534E4 0C01392E */ jal func_8004E4B8 -/* 2E8E8 800534E8 AE020010 */ sw $v0, 0x10($s0) -/* 2E8EC 800534EC A602005C */ sh $v0, 0x5c($s0) -.L800534F0: -/* 2E8F0 800534F0 8E220000 */ lw $v0, ($s1) -/* 2E8F4 800534F4 1440002A */ bnez $v0, .L800535A0 -/* 2E8F8 800534F8 00000000 */ nop -/* 2E8FC 800534FC 8E420080 */ lw $v0, 0x80($s2) -/* 2E900 80053500 10400003 */ beqz $v0, .L80053510 -/* 2E904 80053504 00000000 */ nop -/* 2E908 80053508 0C0137F5 */ jal func_8004DFD4 -/* 2E90C 8005350C 0240202D */ daddu $a0, $s2, $zero -.L80053510: -/* 2E910 80053510 3C10800A */ lui $s0, %hi(D_8009A664) -/* 2E914 80053514 8E10A664 */ lw $s0, %lo(D_8009A664)($s0) -/* 2E918 80053518 86020046 */ lh $v0, 0x46($s0) -/* 2E91C 8005351C 1040000A */ beqz $v0, .L80053548 -/* 2E920 80053520 00000000 */ nop -/* 2E924 80053524 0C014EEA */ jal func_80053BA8 -/* 2E928 80053528 2604002C */ addiu $a0, $s0, 0x2c -/* 2E92C 8005352C 86020036 */ lh $v0, 0x36($s0) -/* 2E930 80053530 14400008 */ bnez $v0, .L80053554 -/* 2E934 80053534 00000000 */ nop -/* 2E938 80053538 0C013911 */ jal func_8004E444 -/* 2E93C 8005353C 0200202D */ daddu $a0, $s0, $zero -/* 2E940 80053540 08014D57 */ j .L8005355C -/* 2E944 80053544 00000000 */ nop -.L80053548: -/* 2E948 80053548 86020036 */ lh $v0, 0x36($s0) -/* 2E94C 8005354C 10400003 */ beqz $v0, .L8005355C -/* 2E950 80053550 00000000 */ nop -.L80053554: -/* 2E954 80053554 0C0138E9 */ jal func_8004E3A4 -/* 2E958 80053558 0200202D */ daddu $a0, $s0, $zero -.L8005355C: -/* 2E95C 8005355C 8E02001C */ lw $v0, 0x1c($s0) -/* 2E960 80053560 10400004 */ beqz $v0, .L80053574 -/* 2E964 80053564 00000000 */ nop -/* 2E968 80053568 8E020018 */ lw $v0, 0x18($s0) -/* 2E96C 8005356C 24420001 */ addiu $v0, $v0, 1 -/* 2E970 80053570 AE020018 */ sw $v0, 0x18($s0) -.L80053574: -/* 2E974 80053574 8E030010 */ lw $v1, 0x10($s0) -/* 2E978 80053578 8E020008 */ lw $v0, 8($s0) -/* 2E97C 8005357C 00621823 */ subu $v1, $v1, $v0 -/* 2E980 80053580 1C600007 */ bgtz $v1, .L800535A0 -/* 2E984 80053584 AE030010 */ sw $v1, 0x10($s0) -/* 2E988 80053588 8E02000C */ lw $v0, 0xc($s0) -/* 2E98C 8005358C 0200202D */ daddu $a0, $s0, $zero -/* 2E990 80053590 00621021 */ addu $v0, $v1, $v0 -/* 2E994 80053594 0C01392E */ jal func_8004E4B8 -/* 2E998 80053598 AE020010 */ sw $v0, 0x10($s0) -/* 2E99C 8005359C A602005C */ sh $v0, 0x5c($s0) -.L800535A0: -/* 2E9A0 800535A0 0C014998 */ jal func_80052660 -/* 2E9A4 800535A4 0240202D */ daddu $a0, $s2, $zero -/* 2E9A8 800535A8 8FBF001C */ lw $ra, 0x1c($sp) -/* 2E9AC 800535AC 8FB20018 */ lw $s2, 0x18($sp) -/* 2E9B0 800535B0 8FB10014 */ lw $s1, 0x14($sp) -/* 2E9B4 800535B4 8FB00010 */ lw $s0, 0x10($sp) -/* 2E9B8 800535B8 03E00008 */ jr $ra -/* 2E9BC 800535BC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_2e230_len_2190/func_800535C0.s b/asm/nonmatchings/code_2e230_len_2190/func_800535C0.s deleted file mode 100644 index 3611a11a98..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_800535C0.s +++ /dev/null @@ -1,43 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800535C0 -/* 2E9C0 800535C0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 2E9C4 800535C4 AFB10014 */ sw $s1, 0x14($sp) -/* 2E9C8 800535C8 3C11800A */ lui $s1, %hi(D_8009A5C0) -/* 2E9CC 800535CC 8E31A5C0 */ lw $s1, %lo(D_8009A5C0)($s1) -/* 2E9D0 800535D0 AFB00010 */ sw $s0, 0x10($sp) -/* 2E9D4 800535D4 3C10800A */ lui $s0, %hi(D_8009A664) -/* 2E9D8 800535D8 8E10A664 */ lw $s0, %lo(D_8009A664)($s0) -/* 2E9DC 800535DC AFBF001C */ sw $ra, 0x1c($sp) -/* 2E9E0 800535E0 AFB20018 */ sw $s2, 0x18($sp) -/* 2E9E4 800535E4 8E22009C */ lw $v0, 0x9c($s1) -/* 2E9E8 800535E8 3C12800A */ lui $s2, %hi(D_8009A640) -/* 2E9EC 800535EC 8E52A640 */ lw $s2, %lo(D_8009A640)($s2) -/* 2E9F0 800535F0 10400003 */ beqz $v0, .L80053600 -/* 2E9F4 800535F4 00000000 */ nop -/* 2E9F8 800535F8 0C015843 */ jal func_8005610C -/* 2E9FC 800535FC 00000000 */ nop -.L80053600: -/* 2EA00 80053600 8E2200A4 */ lw $v0, 0xa4($s1) -/* 2EA04 80053604 3C01800A */ lui $at, %hi(D_8009A5E8) -/* 2EA08 80053608 AC22A5E8 */ sw $v0, %lo(D_8009A5E8)($at) -/* 2EA0C 8005360C 10400003 */ beqz $v0, .L8005361C -/* 2EA10 80053610 00000000 */ nop -/* 2EA14 80053614 0040F809 */ jalr $v0 -/* 2EA18 80053618 00000000 */ nop -.L8005361C: -/* 2EA1C 8005361C 0C013544 */ jal func_8004D510 -/* 2EA20 80053620 0200202D */ daddu $a0, $s0, $zero -/* 2EA24 80053624 3C04800A */ lui $a0, %hi(D_8009A5FC) -/* 2EA28 80053628 8C84A5FC */ lw $a0, %lo(D_8009A5FC)($a0) -/* 2EA2C 8005362C 0C013544 */ jal func_8004D510 -/* 2EA30 80053630 00000000 */ nop -/* 2EA34 80053634 0C012DD2 */ jal func_8004B748 -/* 2EA38 80053638 0240202D */ daddu $a0, $s2, $zero -/* 2EA3C 8005363C 8FBF001C */ lw $ra, 0x1c($sp) -/* 2EA40 80053640 8FB20018 */ lw $s2, 0x18($sp) -/* 2EA44 80053644 8FB10014 */ lw $s1, 0x14($sp) -/* 2EA48 80053648 8FB00010 */ lw $s0, 0x10($sp) -/* 2EA4C 8005364C 03E00008 */ jr $ra -/* 2EA50 80053650 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053654.s b/asm/nonmatchings/code_2e230_len_2190/func_80053654.s deleted file mode 100644 index 86c607e953..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053654.s +++ /dev/null @@ -1,161 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80053654 -/* 2EA54 80053654 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 2EA58 80053658 AFB3002C */ sw $s3, 0x2c($sp) -/* 2EA5C 8005365C 0080982D */ daddu $s3, $a0, $zero -/* 2EA60 80053660 AFBF0034 */ sw $ra, 0x34($sp) -/* 2EA64 80053664 AFB40030 */ sw $s4, 0x30($sp) -/* 2EA68 80053668 AFB20028 */ sw $s2, 0x28($sp) -/* 2EA6C 8005366C AFB10024 */ sw $s1, 0x24($sp) -/* 2EA70 80053670 AFB00020 */ sw $s0, 0x20($sp) -/* 2EA74 80053674 9262130C */ lbu $v0, 0x130c($s3) -/* 2EA78 80053678 24100002 */ addiu $s0, $zero, 2 -/* 2EA7C 8005367C 14500003 */ bne $v0, $s0, .L8005368C -/* 2EA80 80053680 24020001 */ addiu $v0, $zero, 1 -/* 2EA84 80053684 0C015FAC */ jal func_80057EB0 -/* 2EA88 80053688 A262130C */ sb $v0, 0x130c($s3) -.L8005368C: -/* 2EA8C 8005368C 92620050 */ lbu $v0, 0x50($s3) -/* 2EA90 80053690 1040001B */ beqz $v0, .L80053700 -/* 2EA94 80053694 00000000 */ nop -/* 2EA98 80053698 9262130C */ lbu $v0, 0x130c($s3) -/* 2EA9C 8005369C 14400018 */ bnez $v0, .L80053700 -/* 2EAA0 800536A0 24020001 */ addiu $v0, $zero, 1 -/* 2EAA4 800536A4 92630053 */ lbu $v1, 0x53($s3) -/* 2EAA8 800536A8 10620005 */ beq $v1, $v0, .L800536C0 -/* 2EAAC 800536AC 00000000 */ nop -/* 2EAB0 800536B0 10700009 */ beq $v1, $s0, .L800536D8 -/* 2EAB4 800536B4 00000000 */ nop -/* 2EAB8 800536B8 08014DBD */ j .L800536F4 -/* 2EABC 800536BC 00000000 */ nop -.L800536C0: -/* 2EAC0 800536C0 0C015F72 */ jal func_80057DC8 -/* 2EAC4 800536C4 92640052 */ lbu $a0, 0x52($s3) -/* 2EAC8 800536C8 0C015F82 */ jal func_80057E08 -/* 2EACC 800536CC 92640051 */ lbu $a0, 0x51($s3) -/* 2EAD0 800536D0 08014DC0 */ j .L80053700 -/* 2EAD4 800536D4 A2600050 */ sb $zero, 0x50($s3) -.L800536D8: -/* 2EAD8 800536D8 92640052 */ lbu $a0, 0x52($s3) -/* 2EADC 800536DC 0C015F72 */ jal func_80057DC8 -/* 2EAE0 800536E0 00000000 */ nop -/* 2EAE4 800536E4 0C015F97 */ jal func_80057E5C -/* 2EAE8 800536E8 92640051 */ lbu $a0, 0x51($s3) -/* 2EAEC 800536EC 08014DC0 */ j .L80053700 -/* 2EAF0 800536F0 A2600050 */ sb $zero, 0x50($s3) -.L800536F4: -/* 2EAF4 800536F4 0C015FAC */ jal func_80057EB0 -/* 2EAF8 800536F8 00000000 */ nop -/* 2EAFC 800536FC A2600050 */ sb $zero, 0x50($s3) -.L80053700: -/* 2EB00 80053700 92620041 */ lbu $v0, 0x41($s3) -/* 2EB04 80053704 10400005 */ beqz $v0, .L8005371C -/* 2EB08 80053708 00000000 */ nop -/* 2EB0C 8005370C 92650040 */ lbu $a1, 0x40($s3) -/* 2EB10 80053710 0C015B73 */ jal func_80056DCC -/* 2EB14 80053714 0000202D */ daddu $a0, $zero, $zero -/* 2EB18 80053718 A2600041 */ sb $zero, 0x41($s3) -.L8005371C: -/* 2EB1C 8005371C 92620045 */ lbu $v0, 0x45($s3) -/* 2EB20 80053720 10400005 */ beqz $v0, .L80053738 -/* 2EB24 80053724 00000000 */ nop -/* 2EB28 80053728 92650044 */ lbu $a1, 0x44($s3) -/* 2EB2C 8005372C 0C015B73 */ jal func_80056DCC -/* 2EB30 80053730 24040001 */ addiu $a0, $zero, 1 -/* 2EB34 80053734 A2600045 */ sb $zero, 0x45($s3) -.L80053738: -/* 2EB38 80053738 92620049 */ lbu $v0, 0x49($s3) -/* 2EB3C 8005373C 10400005 */ beqz $v0, .L80053754 -/* 2EB40 80053740 00000000 */ nop -/* 2EB44 80053744 92650048 */ lbu $a1, 0x48($s3) -/* 2EB48 80053748 0C015B73 */ jal func_80056DCC -/* 2EB4C 8005374C 24040002 */ addiu $a0, $zero, 2 -/* 2EB50 80053750 A2600049 */ sb $zero, 0x49($s3) -.L80053754: -/* 2EB54 80053754 9262004D */ lbu $v0, 0x4d($s3) -/* 2EB58 80053758 10400006 */ beqz $v0, .L80053774 -/* 2EB5C 8005375C 0000902D */ daddu $s2, $zero, $zero -/* 2EB60 80053760 9265004C */ lbu $a1, 0x4c($s3) -/* 2EB64 80053764 0C015B73 */ jal func_80056DCC -/* 2EB68 80053768 24040003 */ addiu $a0, $zero, 3 -/* 2EB6C 8005376C A260004D */ sb $zero, 0x4d($s3) -/* 2EB70 80053770 0000902D */ daddu $s2, $zero, $zero -.L80053774: -/* 2EB74 80053774 24141320 */ addiu $s4, $zero, 0x1320 -.L80053778: -/* 2EB78 80053778 02748021 */ addu $s0, $s3, $s4 -/* 2EB7C 8005377C 92020042 */ lbu $v0, 0x42($s0) -/* 2EB80 80053780 92110043 */ lbu $s1, 0x43($s0) -/* 2EB84 80053784 10400007 */ beqz $v0, .L800537A4 -/* 2EB88 80053788 32220002 */ andi $v0, $s1, 2 -/* 2EB8C 8005378C 0C015BBA */ jal func_80056EE8 -/* 2EB90 80053790 324400FF */ andi $a0, $s2, 0xff -/* 2EB94 80053794 A2000042 */ sb $zero, 0x42($s0) -/* 2EB98 80053798 AE00001C */ sw $zero, 0x1c($s0) -/* 2EB9C 8005379C A2000045 */ sb $zero, 0x45($s0) -/* 2EBA0 800537A0 32220002 */ andi $v0, $s1, 2 -.L800537A4: -/* 2EBA4 800537A4 10400013 */ beqz $v0, .L800537F4 -/* 2EBA8 800537A8 0200202D */ daddu $a0, $s0, $zero -/* 2EBAC 800537AC 0C014AFE */ jal func_80052BF8 -/* 2EBB0 800537B0 26050014 */ addiu $a1, $s0, 0x14 -/* 2EBB4 800537B4 8602000C */ lh $v0, 0xc($s0) -/* 2EBB8 800537B8 92050010 */ lbu $a1, 0x10($s0) -/* 2EBBC 800537BC AFA20010 */ sw $v0, 0x10($sp) -/* 2EBC0 800537C0 9202000E */ lbu $v0, 0xe($s0) -/* 2EBC4 800537C4 AFA20014 */ sw $v0, 0x14($sp) -/* 2EBC8 800537C8 9202000F */ lbu $v0, 0xf($s0) -/* 2EBCC 800537CC AFA20018 */ sw $v0, 0x18($sp) -/* 2EBD0 800537D0 8E020008 */ lw $v0, 8($s0) -/* 2EBD4 800537D4 AFA2001C */ sw $v0, 0x1c($sp) -/* 2EBD8 800537D8 8E060000 */ lw $a2, ($s0) -/* 2EBDC 800537DC 8E070004 */ lw $a3, 4($s0) -/* 2EBE0 800537E0 0C015BE9 */ jal func_80056FA4 -/* 2EBE4 800537E4 324400FF */ andi $a0, $s2, 0xff -/* 2EBE8 800537E8 92020044 */ lbu $v0, 0x44($s0) -/* 2EBEC 800537EC 08014E15 */ j .L80053854 -/* 2EBF0 800537F0 A2020045 */ sb $v0, 0x45($s0) -.L800537F4: -/* 2EBF4 800537F4 32220008 */ andi $v0, $s1, 8 -/* 2EBF8 800537F8 10400005 */ beqz $v0, .L80053810 -/* 2EBFC 800537FC 32220004 */ andi $v0, $s1, 4 -/* 2EC00 80053800 8E050004 */ lw $a1, 4($s0) -/* 2EC04 80053804 0C015CD1 */ jal func_80057344 -/* 2EC08 80053808 324400FF */ andi $a0, $s2, 0xff -/* 2EC0C 8005380C 32220004 */ andi $v0, $s1, 4 -.L80053810: -/* 2EC10 80053810 1040000A */ beqz $v0, .L8005383C -/* 2EC14 80053814 32220010 */ andi $v0, $s1, 0x10 -/* 2EC18 80053818 9202000F */ lbu $v0, 0xf($s0) -/* 2EC1C 8005381C 8605000C */ lh $a1, 0xc($s0) -/* 2EC20 80053820 9207000E */ lbu $a3, 0xe($s0) -/* 2EC24 80053824 AFA20010 */ sw $v0, 0x10($sp) -/* 2EC28 80053828 8E060008 */ lw $a2, 8($s0) -/* 2EC2C 8005382C 0C015CDB */ jal func_8005736C -/* 2EC30 80053830 324400FF */ andi $a0, $s2, 0xff -/* 2EC34 80053834 08014E16 */ j .L80053858 -/* 2EC38 80053838 A2000043 */ sb $zero, 0x43($s0) -.L8005383C: -/* 2EC3C 8005383C 50400006 */ beql $v0, $zero, .L80053858 -/* 2EC40 80053840 A2000043 */ sb $zero, 0x43($s0) -/* 2EC44 80053844 9205000E */ lbu $a1, 0xe($s0) -/* 2EC48 80053848 9206000F */ lbu $a2, 0xf($s0) -/* 2EC4C 8005384C 0C015D52 */ jal func_80057548 -/* 2EC50 80053850 324400FF */ andi $a0, $s2, 0xff -.L80053854: -/* 2EC54 80053854 A2000043 */ sb $zero, 0x43($s0) -.L80053858: -/* 2EC58 80053858 26520001 */ addiu $s2, $s2, 1 -/* 2EC5C 8005385C 2E420018 */ sltiu $v0, $s2, 0x18 -/* 2EC60 80053860 1440FFC5 */ bnez $v0, .L80053778 -/* 2EC64 80053864 26940048 */ addiu $s4, $s4, 0x48 -/* 2EC68 80053868 8FBF0034 */ lw $ra, 0x34($sp) -/* 2EC6C 8005386C 8FB40030 */ lw $s4, 0x30($sp) -/* 2EC70 80053870 8FB3002C */ lw $s3, 0x2c($sp) -/* 2EC74 80053874 8FB20028 */ lw $s2, 0x28($sp) -/* 2EC78 80053878 8FB10024 */ lw $s1, 0x24($sp) -/* 2EC7C 8005387C 8FB00020 */ lw $s0, 0x20($sp) -/* 2EC80 80053880 03E00008 */ jr $ra -/* 2EC84 80053884 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053888.s b/asm/nonmatchings/code_2e230_len_2190/func_80053888.s deleted file mode 100644 index a6db62b84e..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053888.s +++ /dev/null @@ -1,20 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80053888 -/* 2EC88 80053888 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 2EC8C 8005388C AFBF0010 */ sw $ra, 0x10($sp) -/* 2EC90 80053890 90820045 */ lbu $v0, 0x45($a0) -/* 2EC94 80053894 10400008 */ beqz $v0, .L800538B8 -/* 2EC98 80053898 24020001 */ addiu $v0, $zero, 1 -/* 2EC9C 8005389C AC80001C */ sw $zero, 0x1c($a0) -/* 2ECA0 800538A0 A0820042 */ sb $v0, 0x42($a0) -/* 2ECA4 800538A4 A0800043 */ sb $zero, 0x43($a0) -/* 2ECA8 800538A8 30A400FF */ andi $a0, $a1, 0xff -/* 2ECAC 800538AC 0000282D */ daddu $a1, $zero, $zero -/* 2ECB0 800538B0 0C015DBB */ jal func_800576EC -/* 2ECB4 800538B4 240600B8 */ addiu $a2, $zero, 0xb8 -.L800538B8: -/* 2ECB8 800538B8 8FBF0010 */ lw $ra, 0x10($sp) -/* 2ECBC 800538BC 03E00008 */ jr $ra -/* 2ECC0 800538C0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_2e230_len_2190/func_800538C4.s b/asm/nonmatchings/code_2e230_len_2190/func_800538C4.s deleted file mode 100644 index 4006541dac..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_800538C4.s +++ /dev/null @@ -1,17 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800538C4 -/* 2ECC4 800538C4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 2ECC8 800538C8 24020001 */ addiu $v0, $zero, 1 -/* 2ECCC 800538CC AFBF0010 */ sw $ra, 0x10($sp) -/* 2ECD0 800538D0 AC80001C */ sw $zero, 0x1c($a0) -/* 2ECD4 800538D4 A0820042 */ sb $v0, 0x42($a0) -/* 2ECD8 800538D8 A0800043 */ sb $zero, 0x43($a0) -/* 2ECDC 800538DC 30A400FF */ andi $a0, $a1, 0xff -/* 2ECE0 800538E0 0000282D */ daddu $a1, $zero, $zero -/* 2ECE4 800538E4 0C015DBB */ jal func_800576EC -/* 2ECE8 800538E8 240600B8 */ addiu $a2, $zero, 0xb8 -/* 2ECEC 800538EC 8FBF0010 */ lw $ra, 0x10($sp) -/* 2ECF0 800538F0 03E00008 */ jr $ra -/* 2ECF4 800538F4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053A28.s b/asm/nonmatchings/code_2e230_len_2190/func_80053A28.s deleted file mode 100644 index 89b8e8f39a..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053A28.s +++ /dev/null @@ -1,34 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80053A28 -/* 2EE28 80053A28 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 2EE2C 80053A2C AFB00010 */ sw $s0, 0x10($sp) -/* 2EE30 80053A30 0080802D */ daddu $s0, $a0, $zero -/* 2EE34 80053A34 AFBF0014 */ sw $ra, 0x14($sp) -/* 2EE38 80053A38 9602000A */ lhu $v0, 0xa($s0) -/* 2EE3C 80053A3C 2442FFFF */ addiu $v0, $v0, -1 -/* 2EE40 80053A40 A602000A */ sh $v0, 0xa($s0) -/* 2EE44 80053A44 00021400 */ sll $v0, $v0, 0x10 -/* 2EE48 80053A48 10400006 */ beqz $v0, .L80053A64 -/* 2EE4C 80053A4C 00000000 */ nop -/* 2EE50 80053A50 8E020000 */ lw $v0, ($s0) -/* 2EE54 80053A54 8E030004 */ lw $v1, 4($s0) -/* 2EE58 80053A58 00431021 */ addu $v0, $v0, $v1 -/* 2EE5C 80053A5C 08014EA2 */ j .L80053A88 -/* 2EE60 80053A60 AE020000 */ sw $v0, ($s0) -.L80053A64: -/* 2EE64 80053A64 86020008 */ lh $v0, 8($s0) -/* 2EE68 80053A68 8E03000C */ lw $v1, 0xc($s0) -/* 2EE6C 80053A6C 00021400 */ sll $v0, $v0, 0x10 -/* 2EE70 80053A70 10600005 */ beqz $v1, .L80053A88 -/* 2EE74 80053A74 AE020000 */ sw $v0, ($s0) -/* 2EE78 80053A78 0060F809 */ jalr $v1 -/* 2EE7C 80053A7C 00000000 */ nop -/* 2EE80 80053A80 AE000004 */ sw $zero, 4($s0) -/* 2EE84 80053A84 AE00000C */ sw $zero, 0xc($s0) -.L80053A88: -/* 2EE88 80053A88 8FBF0014 */ lw $ra, 0x14($sp) -/* 2EE8C 80053A8C 8FB00010 */ lw $s0, 0x10($sp) -/* 2EE90 80053A90 03E00008 */ jr $ra -/* 2EE94 80053A94 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053A98.s b/asm/nonmatchings/code_2e230_len_2190/func_80053A98.s deleted file mode 100644 index 884bc57de1..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053A98.s +++ /dev/null @@ -1,16 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80053A98 -/* 2EE98 80053A98 30A5FFFF */ andi $a1, $a1, 0xffff -/* 2EE9C 80053A9C 00A60018 */ mult $a1, $a2 -/* 2EEA0 80053AA0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 2EEA4 80053AA4 308400FF */ andi $a0, $a0, 0xff -/* 2EEA8 80053AA8 AFBF0010 */ sw $ra, 0x10($sp) -/* 2EEAC 80053AAC 00001012 */ mflo $v0 -/* 2EEB0 80053AB0 00022BC2 */ srl $a1, $v0, 0xf -/* 2EEB4 80053AB4 0C015B5E */ jal func_80056D78 -/* 2EEB8 80053AB8 30A5FFFF */ andi $a1, $a1, 0xffff -/* 2EEBC 80053ABC 8FBF0010 */ lw $ra, 0x10($sp) -/* 2EEC0 80053AC0 03E00008 */ jr $ra -/* 2EEC4 80053AC4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053AC8.s b/asm/nonmatchings/code_2e230_len_2190/func_80053AC8.s deleted file mode 100644 index 1d710cf1dc..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053AC8.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80053AC8 -/* 2EEC8 80053AC8 8482000A */ lh $v0, 0xa($a0) -/* 2EECC 80053ACC 14400005 */ bnez $v0, .L80053AE4 -/* 2EED0 80053AD0 24020001 */ addiu $v0, $zero, 1 -/* 2EED4 80053AD4 94830000 */ lhu $v1, ($a0) -/* 2EED8 80053AD8 A482000A */ sh $v0, 0xa($a0) -/* 2EEDC 80053ADC AC800004 */ sw $zero, 4($a0) -/* 2EEE0 80053AE0 A4830008 */ sh $v1, 8($a0) -.L80053AE4: -/* 2EEE4 80053AE4 03E00008 */ jr $ra -/* 2EEE8 80053AE8 00000000 */ nop diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053AEC.s b/asm/nonmatchings/code_2e230_len_2190/func_80053AEC.s deleted file mode 100644 index 3f44a2a8a0..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053AEC.s +++ /dev/null @@ -1,10 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80053AEC -/* 2EEEC 80053AEC 00051400 */ sll $v0, $a1, 0x10 -/* 2EEF0 80053AF0 AC820010 */ sw $v0, 0x10($a0) -/* 2EEF4 80053AF4 A4850018 */ sh $a1, 0x18($a0) -/* 2EEF8 80053AF8 A480001A */ sh $zero, 0x1a($a0) -/* 2EEFC 80053AFC 03E00008 */ jr $ra -/* 2EF00 80053B00 AC800014 */ sw $zero, 0x14($a0) diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053B04.s b/asm/nonmatchings/code_2e230_len_2190/func_80053B04.s deleted file mode 100644 index 3c528e30e4..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053B04.s +++ /dev/null @@ -1,48 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80053B04 -/* 2EF04 80053B04 3C020001 */ lui $v0, 1 -/* 2EF08 80053B08 344285A6 */ ori $v0, $v0, 0x85a6 -/* 2EF0C 80053B0C 24A3FF06 */ addiu $v1, $a1, -0xfa -/* 2EF10 80053B10 0043102B */ sltu $v0, $v0, $v1 -/* 2EF14 80053B14 14400021 */ bnez $v0, .L80053B9C -/* 2EF18 80053B18 0080382D */ daddu $a3, $a0, $zero -/* 2EF1C 80053B1C 3C03B65C */ lui $v1, 0xb65c -/* 2EF20 80053B20 34636D59 */ ori $v1, $v1, 0x6d59 -/* 2EF24 80053B24 00051140 */ sll $v0, $a1, 5 -/* 2EF28 80053B28 00451023 */ subu $v0, $v0, $a1 -/* 2EF2C 80053B2C 00021080 */ sll $v0, $v0, 2 -/* 2EF30 80053B30 00451021 */ addu $v0, $v0, $a1 -/* 2EF34 80053B34 000210C0 */ sll $v0, $v0, 3 -/* 2EF38 80053B38 00430018 */ mult $v0, $v1 -/* 2EF3C 80053B3C 00001810 */ mfhi $v1 -/* 2EF40 80053B40 00622021 */ addu $a0, $v1, $v0 -/* 2EF44 80053B44 00042303 */ sra $a0, $a0, 0xc -/* 2EF48 80053B48 000217C3 */ sra $v0, $v0, 0x1f -/* 2EF4C 80053B4C 00822023 */ subu $a0, $a0, $v0 -/* 2EF50 80053B50 8CE20010 */ lw $v0, 0x10($a3) -/* 2EF54 80053B54 00061C00 */ sll $v1, $a2, 0x10 -/* 2EF58 80053B58 00621823 */ subu $v1, $v1, $v0 -/* 2EF5C 80053B5C 00041400 */ sll $v0, $a0, 0x10 -/* 2EF60 80053B60 00021403 */ sra $v0, $v0, 0x10 -/* 2EF64 80053B64 14400002 */ bnez $v0, .L80053B70 -/* 2EF68 80053B68 0062001A */ div $zero, $v1, $v0 -/* 2EF6C 80053B6C 0007000D */ break 7 -.L80053B70: -/* 2EF70 80053B70 2401FFFF */ addiu $at, $zero, -1 -/* 2EF74 80053B74 14410004 */ bne $v0, $at, .L80053B88 -/* 2EF78 80053B78 3C018000 */ lui $at, 0x8000 -/* 2EF7C 80053B7C 14610002 */ bne $v1, $at, .L80053B88 -/* 2EF80 80053B80 00000000 */ nop -/* 2EF84 80053B84 0006000D */ break 6 -.L80053B88: -/* 2EF88 80053B88 00001812 */ mflo $v1 -/* 2EF8C 80053B8C A4E60018 */ sh $a2, 0x18($a3) -/* 2EF90 80053B90 A4E4001A */ sh $a0, 0x1a($a3) -/* 2EF94 80053B94 03E00008 */ jr $ra -/* 2EF98 80053B98 ACE30014 */ sw $v1, 0x14($a3) -.L80053B9C: -/* 2EF9C 80053B9C A4E0001A */ sh $zero, 0x1a($a3) -/* 2EFA0 80053BA0 03E00008 */ jr $ra -/* 2EFA4 80053BA4 ACE00014 */ sw $zero, 0x14($a3) diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053BA8.s b/asm/nonmatchings/code_2e230_len_2190/func_80053BA8.s deleted file mode 100644 index feae26bb38..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053BA8.s +++ /dev/null @@ -1,21 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80053BA8 -/* 2EFA8 80053BA8 9482001A */ lhu $v0, 0x1a($a0) -/* 2EFAC 80053BAC 2442FFFF */ addiu $v0, $v0, -1 -/* 2EFB0 80053BB0 A482001A */ sh $v0, 0x1a($a0) -/* 2EFB4 80053BB4 00021400 */ sll $v0, $v0, 0x10 -/* 2EFB8 80053BB8 10400006 */ beqz $v0, .L80053BD4 -/* 2EFBC 80053BBC 00000000 */ nop -/* 2EFC0 80053BC0 8C820010 */ lw $v0, 0x10($a0) -/* 2EFC4 80053BC4 8C830014 */ lw $v1, 0x14($a0) -/* 2EFC8 80053BC8 00431021 */ addu $v0, $v0, $v1 -/* 2EFCC 80053BCC 03E00008 */ jr $ra -/* 2EFD0 80053BD0 AC820010 */ sw $v0, 0x10($a0) -.L80053BD4: -/* 2EFD4 80053BD4 84820018 */ lh $v0, 0x18($a0) -/* 2EFD8 80053BD8 AC800014 */ sw $zero, 0x14($a0) -/* 2EFDC 80053BDC 00021400 */ sll $v0, $v0, 0x10 -/* 2EFE0 80053BE0 03E00008 */ jr $ra -/* 2EFE4 80053BE4 AC820010 */ sw $v0, 0x10($a0) diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053C58.s b/asm/nonmatchings/code_2e230_len_2190/func_80053C58.s index 9487cda58b..dd89b4351d 100644 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053C58.s +++ b/asm/nonmatchings/code_2e230_len_2190/func_80053C58.s @@ -6,7 +6,7 @@ glabel func_80053C58 /* 2F05C 80053C5C 8C63A5C0 */ lw $v1, %lo(D_8009A5C0)($v1) /* 2F060 80053C60 24020001 */ addiu $v0, $zero, 1 /* 2F064 80053C64 1082000B */ beq $a0, $v0, .L80053C94 -/* 2F068 80053C68 00000000 */ nop +/* 2F068 80053C68 00000000 */ nop /* 2F06C 80053C6C 10800003 */ beqz $a0, .L80053C7C /* 2F070 80053C70 24020002 */ addiu $v0, $zero, 2 /* 2F074 80053C74 5482000D */ bnel $a0, $v0, .L80053CAC diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053F64.s b/asm/nonmatchings/code_2e230_len_2190/func_80053F64.s deleted file mode 100644 index 712603f73d..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053F64.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80053F64 -/* 2F364 80053F64 14800004 */ bnez $a0, .L80053F78 -/* 2F368 80053F68 0000102D */ daddu $v0, $zero, $zero -/* 2F36C 80053F6C 3C02800A */ lui $v0, %hi(D_8009A5C0) -/* 2F370 80053F70 8C42A5C0 */ lw $v0, %lo(D_8009A5C0)($v0) -/* 2F374 80053F74 8C42006C */ lw $v0, 0x6c($v0) -.L80053F78: -/* 2F378 80053F78 03E00008 */ jr $ra -/* 2F37C 80053F7C 00000000 */ nop diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80054248.s b/asm/nonmatchings/code_2e230_len_2190/func_80054248.s deleted file mode 100644 index 5f82ba2fe8..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80054248.s +++ /dev/null @@ -1,38 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80054248 -/* 2F648 80054248 308400FF */ andi $a0, $a0, 0xff -/* 2F64C 8005424C 24020002 */ addiu $v0, $zero, 2 -/* 2F650 80054250 10820010 */ beq $a0, $v0, .L80054294 -/* 2F654 80054254 28820003 */ slti $v0, $a0, 3 -/* 2F658 80054258 10400005 */ beqz $v0, .L80054270 -/* 2F65C 8005425C 24020001 */ addiu $v0, $zero, 1 -/* 2F660 80054260 10820008 */ beq $a0, $v0, .L80054284 -/* 2F664 80054264 0000102D */ daddu $v0, $zero, $zero -/* 2F668 80054268 080150AD */ j .L800542B4 -/* 2F66C 8005426C 00000000 */ nop -.L80054270: -/* 2F670 80054270 24020004 */ addiu $v0, $zero, 4 -/* 2F674 80054274 1082000B */ beq $a0, $v0, .L800542A4 -/* 2F678 80054278 0000102D */ daddu $v0, $zero, $zero -/* 2F67C 8005427C 080150AD */ j .L800542B4 -/* 2F680 80054280 00000000 */ nop -.L80054284: -/* 2F684 80054284 3C02800A */ lui $v0, %hi(D_8009A664) -/* 2F688 80054288 8C42A664 */ lw $v0, %lo(D_8009A664)($v0) -/* 2F68C 8005428C 03E00008 */ jr $ra -/* 2F690 80054290 00000000 */ nop -.L80054294: -/* 2F694 80054294 3C02800A */ lui $v0, %hi(D_8009A5FC) -/* 2F698 80054298 8C42A5FC */ lw $v0, %lo(D_8009A5FC)($v0) -/* 2F69C 8005429C 03E00008 */ jr $ra -/* 2F6A0 800542A0 00000000 */ nop -.L800542A4: -/* 2F6A4 800542A4 3C02800A */ lui $v0, %hi(D_8009A640) -/* 2F6A8 800542A8 8C42A640 */ lw $v0, %lo(D_8009A640)($v0) -/* 2F6AC 800542AC 03E00008 */ jr $ra -/* 2F6B0 800542B0 00000000 */ nop -.L800542B4: -/* 2F6B4 800542B4 03E00008 */ jr $ra -/* 2F6B8 800542B8 00000000 */ nop diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80054C4C.s b/asm/nonmatchings/code_2e230_len_2190/func_80054C4C.s deleted file mode 100644 index 6e297b8883..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80054C4C.s +++ /dev/null @@ -1,18 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80054C4C -/* 3004C 80054C4C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 30050 80054C50 00051080 */ sll $v0, $a1, 2 -/* 30054 80054C54 3C03800A */ lui $v1, %hi(D_8009A5C0) -/* 30058 80054C58 8C63A5C0 */ lw $v1, %lo(D_8009A5C0)($v1) -/* 3005C 80054C5C 00A0302D */ daddu $a2, $a1, $zero -/* 30060 80054C60 AFBF0010 */ sw $ra, 0x10($sp) -/* 30064 80054C64 00621821 */ addu $v1, $v1, $v0 -/* 30068 80054C68 8C651310 */ lw $a1, 0x1310($v1) -/* 3006C 80054C6C 0C0151F2 */ jal al_LoadBank -/* 30070 80054C70 24070001 */ addiu $a3, $zero, 1 -/* 30074 80054C74 8FBF0010 */ lw $ra, 0x10($sp) -/* 30078 80054C78 0000102D */ daddu $v0, $zero, $zero -/* 3007C 80054C7C 03E00008 */ jr $ra -/* 30080 80054C80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80054D74.s b/asm/nonmatchings/code_2e230_len_2190/func_80054D74.s deleted file mode 100644 index 61be04f91a..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80054D74.s +++ /dev/null @@ -1,19 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80054D74 -/* 30174 80054D74 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 30178 80054D78 30840010 */ andi $a0, $a0, 0x10 -/* 3017C 80054D7C 14800003 */ bnez $a0, .L80054D8C -/* 30180 80054D80 AFBF0010 */ sw $ra, 0x10($sp) -/* 30184 80054D84 08015367 */ j .L80054D9C -/* 30188 80054D88 0000102D */ daddu $v0, $zero, $zero -.L80054D8C: -/* 3018C 80054D8C 3C04800A */ lui $a0, %hi(D_8009A640) -/* 30190 80054D90 8C84A640 */ lw $a0, %lo(D_8009A640)($a0) -/* 30194 80054D94 0C012E79 */ jal func_8004B9E4 -/* 30198 80054D98 00000000 */ nop -.L80054D9C: -/* 3019C 80054D9C 8FBF0010 */ lw $ra, 0x10($sp) -/* 301A0 80054DA0 03E00008 */ jr $ra -/* 301A4 80054DA4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/alHeapAlloc.s b/asm/nonmatchings/code_303c0_len_3e10/alHeapAlloc.s deleted file mode 100644 index e6d02ad8a7..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/alHeapAlloc.s +++ /dev/null @@ -1,23 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel alHeapAlloc -/* 33390 80057F90 0080382D */ daddu $a3, $a0, $zero -/* 33394 80057F94 00A60018 */ mult $a1, $a2 -/* 33398 80057F98 2402FFF0 */ addiu $v0, $zero, -0x10 -/* 3339C 80057F9C 8CE50004 */ lw $a1, 4($a3) -/* 333A0 80057FA0 8CE40008 */ lw $a0, 8($a3) -/* 333A4 80057FA4 00004012 */ mflo $t0 -/* 333A8 80057FA8 2503000F */ addiu $v1, $t0, 0xf -/* 333AC 80057FAC 00621824 */ and $v1, $v1, $v0 -/* 333B0 80057FB0 8CE20000 */ lw $v0, ($a3) -/* 333B4 80057FB4 00A31821 */ addu $v1, $a1, $v1 -/* 333B8 80057FB8 00441021 */ addu $v0, $v0, $a0 -/* 333BC 80057FBC 0043102B */ sltu $v0, $v0, $v1 -/* 333C0 80057FC0 14400003 */ bnez $v0, .L80057FD0 -/* 333C4 80057FC4 0000302D */ daddu $a2, $zero, $zero -/* 333C8 80057FC8 00A0302D */ daddu $a2, $a1, $zero -/* 333CC 80057FCC ACE30004 */ sw $v1, 4($a3) -.L80057FD0: -/* 333D0 80057FD0 03E00008 */ jr $ra -/* 333D4 80057FD4 00C0102D */ daddu $v0, $a2, $zero diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055050.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055050.s deleted file mode 100644 index dd88d59e19..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055050.s +++ /dev/null @@ -1,10 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055050 -/* 30450 80055050 24020001 */ addiu $v0, $zero, 1 -/* 30454 80055054 3C018008 */ lui $at, 0x8008 -/* 30458 80055058 A4228DB4 */ sh $v0, -0x724c($at) -/* 3045C 8005505C 3C018008 */ lui $at, 0x8008 -/* 30460 80055060 03E00008 */ jr $ra -/* 30464 80055064 AC208DB0 */ sw $zero, -0x7250($at) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055110.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055110.s deleted file mode 100644 index e07c52186c..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055110.s +++ /dev/null @@ -1,16 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055110 -/* 30510 80055110 24030007 */ addiu $v1, $zero, 7 -/* 30514 80055114 2482001C */ addiu $v0, $a0, 0x1c -.L80055118: -/* 30518 80055118 AC400238 */ sw $zero, 0x238($v0) -/* 3051C 8005511C 2463FFFF */ addiu $v1, $v1, -1 -/* 30520 80055120 0461FFFD */ bgez $v1, .L80055118 -/* 30524 80055124 2442FFFC */ addiu $v0, $v0, -4 -/* 30528 80055128 A080025B */ sb $zero, 0x25b($a0) -/* 3052C 8005512C A080025A */ sb $zero, 0x25a($a0) -/* 30530 80055130 A0800259 */ sb $zero, 0x259($a0) -/* 30534 80055134 03E00008 */ jr $ra -/* 30538 80055138 A0800258 */ sb $zero, 0x258($a0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800551E0.s b/asm/nonmatchings/code_303c0_len_3e10/func_800551E0.s deleted file mode 100644 index 324d0aab4c..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800551E0.s +++ /dev/null @@ -1,30 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800551E0 -/* 305E0 800551E0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 305E4 800551E4 0080482D */ daddu $t1, $a0, $zero -/* 305E8 800551E8 00C0402D */ daddu $t0, $a2, $zero -/* 305EC 800551EC 30A500FF */ andi $a1, $a1, 0xff -/* 305F0 800551F0 00051A00 */ sll $v1, $a1, 8 -/* 305F4 800551F4 3C04800A */ lui $a0, %hi(D_8009A640) -/* 305F8 800551F8 8C84A640 */ lw $a0, %lo(D_8009A640)($a0) -/* 305FC 800551FC 0060382D */ daddu $a3, $v1, $zero -/* 30600 80055200 10A00002 */ beqz $a1, .L8005520C -/* 30604 80055204 AFBF0018 */ sw $ra, 0x18($sp) -/* 30608 80055208 346700FF */ ori $a3, $v1, 0xff -.L8005520C: -/* 3060C 8005520C 00061600 */ sll $v0, $a2, 0x18 -/* 30610 80055210 04420001 */ bltzl $v0, .L80055218 -/* 30614 80055214 2408007F */ addiu $t0, $zero, 0x7f -.L80055218: -/* 30618 80055218 310200FF */ andi $v0, $t0, 0xff -/* 3061C 8005521C 00073400 */ sll $a2, $a3, 0x10 -/* 30620 80055220 0120282D */ daddu $a1, $t1, $zero -/* 30624 80055224 00063403 */ sra $a2, $a2, 0x10 -/* 30628 80055228 0000382D */ daddu $a3, $zero, $zero -/* 3062C 8005522C 0C012DB6 */ jal func_8004B6D8 -/* 30630 80055230 AFA20010 */ sw $v0, 0x10($sp) -/* 30634 80055234 8FBF0018 */ lw $ra, 0x18($sp) -/* 30638 80055238 03E00008 */ jr $ra -/* 3063C 8005523C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055240.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055240.s deleted file mode 100644 index e2fcc6b414..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055240.s +++ /dev/null @@ -1,44 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055240 -/* 30640 80055240 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30644 80055244 0080582D */ daddu $t3, $a0, $zero -/* 30648 80055248 00C0502D */ daddu $t2, $a2, $zero -/* 3064C 8005524C 00E0402D */ daddu $t0, $a3, $zero -/* 30650 80055250 0100382D */ daddu $a3, $t0, $zero -/* 30654 80055254 30A500FF */ andi $a1, $a1, 0xff -/* 30658 80055258 00051A00 */ sll $v1, $a1, 8 -/* 3065C 8005525C 3C04800A */ lui $a0, %hi(D_8009A640) -/* 30660 80055260 8C84A640 */ lw $a0, %lo(D_8009A640)($a0) -/* 30664 80055264 0060482D */ daddu $t1, $v1, $zero -/* 30668 80055268 10A00002 */ beqz $a1, .L80055274 -/* 3066C 8005526C AFBF0018 */ sw $ra, 0x18($sp) -/* 30670 80055270 346900FF */ ori $t1, $v1, 0xff -.L80055274: -/* 30674 80055274 00061600 */ sll $v0, $a2, 0x18 -/* 30678 80055278 04420001 */ bltzl $v0, .L80055280 -/* 3067C 8005527C 240A007F */ addiu $t2, $zero, 0x7f -.L80055280: -/* 30680 80055280 00081400 */ sll $v0, $t0, 0x10 -/* 30684 80055284 00021C03 */ sra $v1, $v0, 0x10 -/* 30688 80055288 28620961 */ slti $v0, $v1, 0x961 -/* 3068C 8005528C 14400003 */ bnez $v0, .L8005529C -/* 30690 80055290 2862F6A0 */ slti $v0, $v1, -0x960 -/* 30694 80055294 080154A9 */ j .L800552A4 -/* 30698 80055298 24070960 */ addiu $a3, $zero, 0x960 -.L8005529C: -/* 3069C 8005529C 54400001 */ bnel $v0, $zero, .L800552A4 -/* 306A0 800552A0 2407F6A0 */ addiu $a3, $zero, -0x960 -.L800552A4: -/* 306A4 800552A4 314200FF */ andi $v0, $t2, 0xff -/* 306A8 800552A8 00093400 */ sll $a2, $t1, 0x10 -/* 306AC 800552AC 00073C00 */ sll $a3, $a3, 0x10 -/* 306B0 800552B0 0160282D */ daddu $a1, $t3, $zero -/* 306B4 800552B4 00063403 */ sra $a2, $a2, 0x10 -/* 306B8 800552B8 00073C03 */ sra $a3, $a3, 0x10 -/* 306BC 800552BC 0C012DB6 */ jal func_8004B6D8 -/* 306C0 800552C0 AFA20010 */ sw $v0, 0x10($sp) -/* 306C4 800552C4 8FBF0018 */ lw $ra, 0x18($sp) -/* 306C8 800552C8 03E00008 */ jr $ra -/* 306CC 800552CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800552D0.s b/asm/nonmatchings/code_303c0_len_3e10/func_800552D0.s deleted file mode 100644 index 0b82c43298..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800552D0.s +++ /dev/null @@ -1,30 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800552D0 -/* 306D0 800552D0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 306D4 800552D4 0080482D */ daddu $t1, $a0, $zero -/* 306D8 800552D8 00C0402D */ daddu $t0, $a2, $zero -/* 306DC 800552DC 30A500FF */ andi $a1, $a1, 0xff -/* 306E0 800552E0 00051A00 */ sll $v1, $a1, 8 -/* 306E4 800552E4 3C04800A */ lui $a0, %hi(D_8009A640) -/* 306E8 800552E8 8C84A640 */ lw $a0, %lo(D_8009A640)($a0) -/* 306EC 800552EC 0060382D */ daddu $a3, $v1, $zero -/* 306F0 800552F0 10A00002 */ beqz $a1, .L800552FC -/* 306F4 800552F4 AFBF0018 */ sw $ra, 0x18($sp) -/* 306F8 800552F8 346700FF */ ori $a3, $v1, 0xff -.L800552FC: -/* 306FC 800552FC 00061600 */ sll $v0, $a2, 0x18 -/* 30700 80055300 04420001 */ bltzl $v0, .L80055308 -/* 30704 80055304 2408007F */ addiu $t0, $zero, 0x7f -.L80055308: -/* 30708 80055308 310200FF */ andi $v0, $t0, 0xff -/* 3070C 8005530C 00073400 */ sll $a2, $a3, 0x10 -/* 30710 80055310 35251000 */ ori $a1, $t1, 0x1000 -/* 30714 80055314 00063403 */ sra $a2, $a2, 0x10 -/* 30718 80055318 0000382D */ daddu $a3, $zero, $zero -/* 3071C 8005531C 0C012DB6 */ jal func_8004B6D8 -/* 30720 80055320 AFA20010 */ sw $v0, 0x10($sp) -/* 30724 80055324 8FBF0018 */ lw $ra, 0x18($sp) -/* 30728 80055328 03E00008 */ jr $ra -/* 3072C 8005532C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055330.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055330.s deleted file mode 100644 index 9f994c3fb5..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055330.s +++ /dev/null @@ -1,44 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055330 -/* 30730 80055330 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30734 80055334 0080582D */ daddu $t3, $a0, $zero -/* 30738 80055338 00C0502D */ daddu $t2, $a2, $zero -/* 3073C 8005533C 00E0402D */ daddu $t0, $a3, $zero -/* 30740 80055340 0100382D */ daddu $a3, $t0, $zero -/* 30744 80055344 30A500FF */ andi $a1, $a1, 0xff -/* 30748 80055348 00051A00 */ sll $v1, $a1, 8 -/* 3074C 8005534C 3C04800A */ lui $a0, %hi(D_8009A640) -/* 30750 80055350 8C84A640 */ lw $a0, %lo(D_8009A640)($a0) -/* 30754 80055354 0060482D */ daddu $t1, $v1, $zero -/* 30758 80055358 10A00002 */ beqz $a1, .L80055364 -/* 3075C 8005535C AFBF0018 */ sw $ra, 0x18($sp) -/* 30760 80055360 346900FF */ ori $t1, $v1, 0xff -.L80055364: -/* 30764 80055364 00061600 */ sll $v0, $a2, 0x18 -/* 30768 80055368 04420001 */ bltzl $v0, .L80055370 -/* 3076C 8005536C 240A007F */ addiu $t2, $zero, 0x7f -.L80055370: -/* 30770 80055370 00081400 */ sll $v0, $t0, 0x10 -/* 30774 80055374 00021C03 */ sra $v1, $v0, 0x10 -/* 30778 80055378 28620961 */ slti $v0, $v1, 0x961 -/* 3077C 8005537C 14400003 */ bnez $v0, .L8005538C -/* 30780 80055380 2862F6A0 */ slti $v0, $v1, -0x960 -/* 30784 80055384 080154E5 */ j .L80055394 -/* 30788 80055388 24070960 */ addiu $a3, $zero, 0x960 -.L8005538C: -/* 3078C 8005538C 54400001 */ bnel $v0, $zero, .L80055394 -/* 30790 80055390 2407F6A0 */ addiu $a3, $zero, -0x960 -.L80055394: -/* 30794 80055394 314200FF */ andi $v0, $t2, 0xff -/* 30798 80055398 00093400 */ sll $a2, $t1, 0x10 -/* 3079C 8005539C 00073C00 */ sll $a3, $a3, 0x10 -/* 307A0 800553A0 35651000 */ ori $a1, $t3, 0x1000 -/* 307A4 800553A4 00063403 */ sra $a2, $a2, 0x10 -/* 307A8 800553A8 00073C03 */ sra $a3, $a3, 0x10 -/* 307AC 800553AC 0C012DB6 */ jal func_8004B6D8 -/* 307B0 800553B0 AFA20010 */ sw $v0, 0x10($sp) -/* 307B4 800553B4 8FBF0018 */ lw $ra, 0x18($sp) -/* 307B8 800553B8 03E00008 */ jr $ra -/* 307BC 800553BC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800553C0.s b/asm/nonmatchings/code_303c0_len_3e10/func_800553C0.s deleted file mode 100644 index c71e1b6505..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800553C0.s +++ /dev/null @@ -1,17 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800553C0 -/* 307C0 800553C0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 307C4 800553C4 34858000 */ ori $a1, $a0, 0x8000 -/* 307C8 800553C8 0000302D */ daddu $a2, $zero, $zero -/* 307CC 800553CC 3C02800A */ lui $v0, %hi(D_8009A640) -/* 307D0 800553D0 8C42A640 */ lw $v0, %lo(D_8009A640)($v0) -/* 307D4 800553D4 00C0382D */ daddu $a3, $a2, $zero -/* 307D8 800553D8 AFBF0018 */ sw $ra, 0x18($sp) -/* 307DC 800553DC AFA00010 */ sw $zero, 0x10($sp) -/* 307E0 800553E0 0C012DB6 */ jal func_8004B6D8 -/* 307E4 800553E4 0040202D */ daddu $a0, $v0, $zero -/* 307E8 800553E8 8FBF0018 */ lw $ra, 0x18($sp) -/* 307EC 800553EC 03E00008 */ jr $ra -/* 307F0 800553F0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800553F4.s b/asm/nonmatchings/code_303c0_len_3e10/func_800553F4.s deleted file mode 100644 index 4392134469..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800553F4.s +++ /dev/null @@ -1,9 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800553F4 -/* 307F4 800553F4 3C03800A */ lui $v1, %hi(D_8009A640) -/* 307F8 800553F8 8C63A640 */ lw $v1, %lo(D_8009A640)($v1) -/* 307FC 800553FC 24020001 */ addiu $v0, $zero, 1 -/* 30800 80055400 03E00008 */ jr $ra -/* 30804 80055404 AC620168 */ sw $v0, 0x168($v1) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055408.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055408.s deleted file mode 100644 index 1c6b51600a..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055408.s +++ /dev/null @@ -1,20 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055408 -/* 30808 80055408 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 3080C 8005540C 0080182D */ daddu $v1, $a0, $zero -/* 30810 80055410 30E700FF */ andi $a3, $a3, 0xff -/* 30814 80055414 00051400 */ sll $v0, $a1, 0x10 -/* 30818 80055418 AFA70010 */ sw $a3, 0x10($sp) -/* 3081C 8005541C 00063C00 */ sll $a3, $a2, 0x10 -/* 30820 80055420 0060282D */ daddu $a1, $v1, $zero -/* 30824 80055424 00023403 */ sra $a2, $v0, 0x10 -/* 30828 80055428 3C04800A */ lui $a0, %hi(D_8009A640) -/* 3082C 8005542C 8C84A640 */ lw $a0, %lo(D_8009A640)($a0) -/* 30830 80055430 AFBF0018 */ sw $ra, 0x18($sp) -/* 30834 80055434 0C012DB6 */ jal func_8004B6D8 -/* 30838 80055438 00073C03 */ sra $a3, $a3, 0x10 -/* 3083C 8005543C 8FBF0018 */ lw $ra, 0x18($sp) -/* 30840 80055440 03E00008 */ jr $ra -/* 30844 80055444 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055448.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055448.s deleted file mode 100644 index 36b9043bfd..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055448.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055448 -/* 30848 80055448 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 3084C 8005544C AFBF0010 */ sw $ra, 0x10($sp) -/* 30850 80055450 0C014FE0 */ jal func_80053F80 -/* 30854 80055454 00000000 */ nop -/* 30858 80055458 8FBF0010 */ lw $ra, 0x10($sp) -/* 3085C 8005545C 03E00008 */ jr $ra -/* 30860 80055460 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055464.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055464.s deleted file mode 100644 index 6d7f64c816..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055464.s +++ /dev/null @@ -1,21 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055464 -/* 30864 80055464 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30868 80055468 AFB00010 */ sw $s0, 0x10($sp) -/* 3086C 8005546C 0080802D */ daddu $s0, $a0, $zero -/* 30870 80055470 AFB10014 */ sw $s1, 0x14($sp) -/* 30874 80055474 AFBF0018 */ sw $ra, 0x18($sp) -/* 30878 80055478 0C01430C */ jal func_80050C30 -/* 3087C 8005547C 00A0882D */ daddu $s1, $a1, $zero -/* 30880 80055480 14400003 */ bnez $v0, .L80055490 -/* 30884 80055484 0200202D */ daddu $a0, $s0, $zero -/* 30888 80055488 0C014328 */ jal func_80050CA0 -/* 3088C 8005548C 0220282D */ daddu $a1, $s1, $zero -.L80055490: -/* 30890 80055490 8FBF0018 */ lw $ra, 0x18($sp) -/* 30894 80055494 8FB10014 */ lw $s1, 0x14($sp) -/* 30898 80055498 8FB00010 */ lw $s0, 0x10($sp) -/* 3089C 8005549C 03E00008 */ jr $ra -/* 308A0 800554A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800554A4.s b/asm/nonmatchings/code_303c0_len_3e10/func_800554A4.s deleted file mode 100644 index 45b2471fdd..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800554A4.s +++ /dev/null @@ -1,22 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800554A4 -/* 308A4 800554A4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 308A8 800554A8 AFB10014 */ sw $s1, 0x14($sp) -/* 308AC 800554AC 0080882D */ daddu $s1, $a0, $zero -/* 308B0 800554B0 AFBF0018 */ sw $ra, 0x18($sp) -/* 308B4 800554B4 0C01430C */ jal func_80050C30 -/* 308B8 800554B8 AFB00010 */ sw $s0, 0x10($sp) -/* 308BC 800554BC 0040802D */ daddu $s0, $v0, $zero -/* 308C0 800554C0 16000004 */ bnez $s0, .L800554D4 -/* 308C4 800554C4 0200102D */ daddu $v0, $s0, $zero -/* 308C8 800554C8 0C0143BC */ jal func_80050EF0 -/* 308CC 800554CC 0220202D */ daddu $a0, $s1, $zero -/* 308D0 800554D0 0200102D */ daddu $v0, $s0, $zero -.L800554D4: -/* 308D4 800554D4 8FBF0018 */ lw $ra, 0x18($sp) -/* 308D8 800554D8 8FB10014 */ lw $s1, 0x14($sp) -/* 308DC 800554DC 8FB00010 */ lw $s0, 0x10($sp) -/* 308E0 800554E0 03E00008 */ jr $ra -/* 308E4 800554E4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800554E8.s b/asm/nonmatchings/code_303c0_len_3e10/func_800554E8.s deleted file mode 100644 index aa3883a30b..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800554E8.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800554E8 -/* 308E8 800554E8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 308EC 800554EC AFB10014 */ sw $s1, 0x14($sp) -/* 308F0 800554F0 0080882D */ daddu $s1, $a0, $zero -/* 308F4 800554F4 AFB20018 */ sw $s2, 0x18($sp) -/* 308F8 800554F8 00A0902D */ daddu $s2, $a1, $zero -/* 308FC 800554FC AFBF001C */ sw $ra, 0x1c($sp) -/* 30900 80055500 0C01430C */ jal func_80050C30 -/* 30904 80055504 AFB00010 */ sw $s0, 0x10($sp) -/* 30908 80055508 0040802D */ daddu $s0, $v0, $zero -/* 3090C 8005550C 16000005 */ bnez $s0, .L80055524 -/* 30910 80055510 0200102D */ daddu $v0, $s0, $zero -/* 30914 80055514 0220202D */ daddu $a0, $s1, $zero -/* 30918 80055518 0C0143D9 */ jal func_80050F64 -/* 3091C 8005551C 0240282D */ daddu $a1, $s2, $zero -/* 30920 80055520 0200102D */ daddu $v0, $s0, $zero -.L80055524: -/* 30924 80055524 8FBF001C */ lw $ra, 0x1c($sp) -/* 30928 80055528 8FB20018 */ lw $s2, 0x18($sp) -/* 3092C 8005552C 8FB10014 */ lw $s1, 0x14($sp) -/* 30930 80055530 8FB00010 */ lw $s0, 0x10($sp) -/* 30934 80055534 03E00008 */ jr $ra -/* 30938 80055538 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_8005553C.s b/asm/nonmatchings/code_303c0_len_3e10/func_8005553C.s deleted file mode 100644 index e19aa7f17e..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_8005553C.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8005553C -/* 3093C 8005553C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30940 80055540 AFB10014 */ sw $s1, 0x14($sp) -/* 30944 80055544 0080882D */ daddu $s1, $a0, $zero -/* 30948 80055548 AFB20018 */ sw $s2, 0x18($sp) -/* 3094C 8005554C 00A0902D */ daddu $s2, $a1, $zero -/* 30950 80055550 AFBF001C */ sw $ra, 0x1c($sp) -/* 30954 80055554 0C01430C */ jal func_80050C30 -/* 30958 80055558 AFB00010 */ sw $s0, 0x10($sp) -/* 3095C 8005555C 0040802D */ daddu $s0, $v0, $zero -/* 30960 80055560 16000005 */ bnez $s0, .L80055578 -/* 30964 80055564 0200102D */ daddu $v0, $s0, $zero -/* 30968 80055568 0220202D */ daddu $a0, $s1, $zero -/* 3096C 8005556C 0C014386 */ jal func_80050E18 -/* 30970 80055570 0240282D */ daddu $a1, $s2, $zero -/* 30974 80055574 0200102D */ daddu $v0, $s0, $zero -.L80055578: -/* 30978 80055578 8FBF001C */ lw $ra, 0x1c($sp) -/* 3097C 8005557C 8FB20018 */ lw $s2, 0x18($sp) -/* 30980 80055580 8FB10014 */ lw $s1, 0x14($sp) -/* 30984 80055584 8FB00010 */ lw $s0, 0x10($sp) -/* 30988 80055588 03E00008 */ jr $ra -/* 3098C 8005558C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055590.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055590.s deleted file mode 100644 index 6ce28090ad..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055590.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055590 -/* 30990 80055590 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30994 80055594 AFB10014 */ sw $s1, 0x14($sp) -/* 30998 80055598 0080882D */ daddu $s1, $a0, $zero -/* 3099C 8005559C AFB20018 */ sw $s2, 0x18($sp) -/* 309A0 800555A0 00A0902D */ daddu $s2, $a1, $zero -/* 309A4 800555A4 AFBF001C */ sw $ra, 0x1c($sp) -/* 309A8 800555A8 0C01430C */ jal func_80050C30 -/* 309AC 800555AC AFB00010 */ sw $s0, 0x10($sp) -/* 309B0 800555B0 0040802D */ daddu $s0, $v0, $zero -/* 309B4 800555B4 16000005 */ bnez $s0, .L800555CC -/* 309B8 800555B8 0200102D */ daddu $v0, $s0, $zero -/* 309BC 800555BC 0220202D */ daddu $a0, $s1, $zero -/* 309C0 800555C0 0C0143A1 */ jal func_80050E84 -/* 309C4 800555C4 0240282D */ daddu $a1, $s2, $zero -/* 309C8 800555C8 0200102D */ daddu $v0, $s0, $zero -.L800555CC: -/* 309CC 800555CC 8FBF001C */ lw $ra, 0x1c($sp) -/* 309D0 800555D0 8FB20018 */ lw $s2, 0x18($sp) -/* 309D4 800555D4 8FB10014 */ lw $s1, 0x14($sp) -/* 309D8 800555D8 8FB00010 */ lw $s0, 0x10($sp) -/* 309DC 800555DC 03E00008 */ jr $ra -/* 309E0 800555E0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800555E4.s b/asm/nonmatchings/code_303c0_len_3e10/func_800555E4.s deleted file mode 100644 index 76478744f6..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800555E4.s +++ /dev/null @@ -1,18 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800555E4 -/* 309E4 800555E4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 309E8 800555E8 AFB00010 */ sw $s0, 0x10($sp) -/* 309EC 800555EC AFBF0014 */ sw $ra, 0x14($sp) -/* 309F0 800555F0 0C01430C */ jal func_80050C30 -/* 309F4 800555F4 0080802D */ daddu $s0, $a0, $zero -/* 309F8 800555F8 14400003 */ bnez $v0, .L80055608 -/* 309FC 800555FC 00000000 */ nop -/* 30A00 80055600 0C014414 */ jal func_80051050 -/* 30A04 80055604 0200202D */ daddu $a0, $s0, $zero -.L80055608: -/* 30A08 80055608 8FBF0014 */ lw $ra, 0x14($sp) -/* 30A0C 8005560C 8FB00010 */ lw $s0, 0x10($sp) -/* 30A10 80055610 03E00008 */ jr $ra -/* 30A14 80055614 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055618.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055618.s deleted file mode 100644 index 7e6c18a327..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055618.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055618 -/* 30A18 80055618 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30A1C 8005561C AFB10014 */ sw $s1, 0x14($sp) -/* 30A20 80055620 0080882D */ daddu $s1, $a0, $zero -/* 30A24 80055624 AFB20018 */ sw $s2, 0x18($sp) -/* 30A28 80055628 00A0902D */ daddu $s2, $a1, $zero -/* 30A2C 8005562C AFBF001C */ sw $ra, 0x1c($sp) -/* 30A30 80055630 0C01430C */ jal func_80050C30 -/* 30A34 80055634 AFB00010 */ sw $s0, 0x10($sp) -/* 30A38 80055638 0040802D */ daddu $s0, $v0, $zero -/* 30A3C 8005563C 16000005 */ bnez $s0, .L80055654 -/* 30A40 80055640 0200102D */ daddu $v0, $s0, $zero -/* 30A44 80055644 0220202D */ daddu $a0, $s1, $zero -/* 30A48 80055648 0C014315 */ jal func_80050C54 -/* 30A4C 8005564C 0240282D */ daddu $a1, $s2, $zero -/* 30A50 80055650 0200102D */ daddu $v0, $s0, $zero -.L80055654: -/* 30A54 80055654 8FBF001C */ lw $ra, 0x1c($sp) -/* 30A58 80055658 8FB20018 */ lw $s2, 0x18($sp) -/* 30A5C 8005565C 8FB10014 */ lw $s1, 0x14($sp) -/* 30A60 80055660 8FB00010 */ lw $s0, 0x10($sp) -/* 30A64 80055664 03E00008 */ jr $ra -/* 30A68 80055668 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_8005566C.s b/asm/nonmatchings/code_303c0_len_3e10/func_8005566C.s deleted file mode 100644 index f4bbf974e5..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_8005566C.s +++ /dev/null @@ -1,30 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8005566C -/* 30A6C 8005566C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 30A70 80055670 AFB10014 */ sw $s1, 0x14($sp) -/* 30A74 80055674 0080882D */ daddu $s1, $a0, $zero -/* 30A78 80055678 AFB20018 */ sw $s2, 0x18($sp) -/* 30A7C 8005567C 00A0902D */ daddu $s2, $a1, $zero -/* 30A80 80055680 AFB3001C */ sw $s3, 0x1c($sp) -/* 30A84 80055684 00C0982D */ daddu $s3, $a2, $zero -/* 30A88 80055688 AFBF0020 */ sw $ra, 0x20($sp) -/* 30A8C 8005568C 0C01430C */ jal func_80050C30 -/* 30A90 80055690 AFB00010 */ sw $s0, 0x10($sp) -/* 30A94 80055694 0040802D */ daddu $s0, $v0, $zero -/* 30A98 80055698 16000006 */ bnez $s0, .L800556B4 -/* 30A9C 8005569C 0200102D */ daddu $v0, $s0, $zero -/* 30AA0 800556A0 0220202D */ daddu $a0, $s1, $zero -/* 30AA4 800556A4 0240282D */ daddu $a1, $s2, $zero -/* 30AA8 800556A8 0C0143F4 */ jal func_80050FD0 -/* 30AAC 800556AC 0260302D */ daddu $a2, $s3, $zero -/* 30AB0 800556B0 0200102D */ daddu $v0, $s0, $zero -.L800556B4: -/* 30AB4 800556B4 8FBF0020 */ lw $ra, 0x20($sp) -/* 30AB8 800556B8 8FB3001C */ lw $s3, 0x1c($sp) -/* 30ABC 800556BC 8FB20018 */ lw $s2, 0x18($sp) -/* 30AC0 800556C0 8FB10014 */ lw $s1, 0x14($sp) -/* 30AC4 800556C4 8FB00010 */ lw $s0, 0x10($sp) -/* 30AC8 800556C8 03E00008 */ jr $ra -/* 30ACC 800556CC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800556D0.s b/asm/nonmatchings/code_303c0_len_3e10/func_800556D0.s deleted file mode 100644 index 4a2fe9b37a..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800556D0.s +++ /dev/null @@ -1,23 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800556D0 -/* 30AD0 800556D0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30AD4 800556D4 AFB10014 */ sw $s1, 0x14($sp) -/* 30AD8 800556D8 0080882D */ daddu $s1, $a0, $zero -/* 30ADC 800556DC AFBF0018 */ sw $ra, 0x18($sp) -/* 30AE0 800556E0 0C01430C */ jal func_80050C30 -/* 30AE4 800556E4 AFB00010 */ sw $s0, 0x10($sp) -/* 30AE8 800556E8 0040802D */ daddu $s0, $v0, $zero -/* 30AEC 800556EC 16000005 */ bnez $s0, .L80055704 -/* 30AF0 800556F0 0200102D */ daddu $v0, $s0, $zero -/* 30AF4 800556F4 0220202D */ daddu $a0, $s1, $zero -/* 30AF8 800556F8 0C014319 */ jal func_80050C64 -/* 30AFC 800556FC 24050001 */ addiu $a1, $zero, 1 -/* 30B00 80055700 0200102D */ daddu $v0, $s0, $zero -.L80055704: -/* 30B04 80055704 8FBF0018 */ lw $ra, 0x18($sp) -/* 30B08 80055708 8FB10014 */ lw $s1, 0x14($sp) -/* 30B0C 8005570C 8FB00010 */ lw $s0, 0x10($sp) -/* 30B10 80055710 03E00008 */ jr $ra -/* 30B14 80055714 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055718.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055718.s deleted file mode 100644 index 088d248bda..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055718.s +++ /dev/null @@ -1,23 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055718 -/* 30B18 80055718 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30B1C 8005571C AFB10014 */ sw $s1, 0x14($sp) -/* 30B20 80055720 0080882D */ daddu $s1, $a0, $zero -/* 30B24 80055724 AFBF0018 */ sw $ra, 0x18($sp) -/* 30B28 80055728 0C01430C */ jal func_80050C30 -/* 30B2C 8005572C AFB00010 */ sw $s0, 0x10($sp) -/* 30B30 80055730 0040802D */ daddu $s0, $v0, $zero -/* 30B34 80055734 16000005 */ bnez $s0, .L8005574C -/* 30B38 80055738 0200102D */ daddu $v0, $s0, $zero -/* 30B3C 8005573C 0220202D */ daddu $a0, $s1, $zero -/* 30B40 80055740 0C014319 */ jal func_80050C64 -/* 30B44 80055744 0000282D */ daddu $a1, $zero, $zero -/* 30B48 80055748 0200102D */ daddu $v0, $s0, $zero -.L8005574C: -/* 30B4C 8005574C 8FBF0018 */ lw $ra, 0x18($sp) -/* 30B50 80055750 8FB10014 */ lw $s1, 0x14($sp) -/* 30B54 80055754 8FB00010 */ lw $s0, 0x10($sp) -/* 30B58 80055758 03E00008 */ jr $ra -/* 30B5C 8005575C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055760.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055760.s deleted file mode 100644 index 2cbf40cc5c..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055760.s +++ /dev/null @@ -1,33 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055760 -/* 30B60 80055760 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30B64 80055764 AFB20018 */ sw $s2, 0x18($sp) -/* 30B68 80055768 0080902D */ daddu $s2, $a0, $zero -/* 30B6C 8005576C AFB10014 */ sw $s1, 0x14($sp) -/* 30B70 80055770 24110004 */ addiu $s1, $zero, 4 -/* 30B74 80055774 240200FF */ addiu $v0, $zero, 0xff -/* 30B78 80055778 AFB00010 */ sw $s0, 0x10($sp) -/* 30B7C 8005577C 0000802D */ daddu $s0, $zero, $zero -/* 30B80 80055780 AFBF001C */ sw $ra, 0x1c($sp) -/* 30B84 80055784 3C018008 */ lui $at, %hi(D_80078DB6) -/* 30B88 80055788 A4228DB6 */ sh $v0, %lo(D_80078DB6)($at) -/* 30B8C 8005578C 0200202D */ daddu $a0, $s0, $zero -.L80055790: -/* 30B90 80055790 0C015519 */ jal func_80055464 -/* 30B94 80055794 0000282D */ daddu $a1, $zero, $zero -/* 30B98 80055798 14400006 */ bnez $v0, .L800557B4 -/* 30B9C 8005579C 26100001 */ addiu $s0, $s0, 1 -/* 30BA0 800557A0 0211102B */ sltu $v0, $s0, $s1 -/* 30BA4 800557A4 1440FFFA */ bnez $v0, .L80055790 -/* 30BA8 800557A8 0200202D */ daddu $a0, $s0, $zero -/* 30BAC 800557AC 0C015612 */ jal func_80055848 -/* 30BB0 800557B0 0240202D */ daddu $a0, $s2, $zero -.L800557B4: -/* 30BB4 800557B4 8FBF001C */ lw $ra, 0x1c($sp) -/* 30BB8 800557B8 8FB20018 */ lw $s2, 0x18($sp) -/* 30BBC 800557BC 8FB10014 */ lw $s1, 0x14($sp) -/* 30BC0 800557C0 8FB00010 */ lw $s0, 0x10($sp) -/* 30BC4 800557C4 03E00008 */ jr $ra -/* 30BC8 800557C8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800557CC.s b/asm/nonmatchings/code_303c0_len_3e10/func_800557CC.s deleted file mode 100644 index bbe2c23395..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800557CC.s +++ /dev/null @@ -1,39 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800557CC -/* 30BCC 800557CC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30BD0 800557D0 AFB10014 */ sw $s1, 0x14($sp) -/* 30BD4 800557D4 0080882D */ daddu $s1, $a0, $zero -/* 30BD8 800557D8 AFB20018 */ sw $s2, 0x18($sp) -/* 30BDC 800557DC 24120004 */ addiu $s2, $zero, 4 -/* 30BE0 800557E0 AFB00010 */ sw $s0, 0x10($sp) -/* 30BE4 800557E4 0000802D */ daddu $s0, $zero, $zero -/* 30BE8 800557E8 AFBF001C */ sw $ra, 0x1c($sp) -.L800557EC: -/* 30BEC 800557EC 3C028008 */ lui $v0, %hi(D_80078DB6) -/* 30BF0 800557F0 94428DB6 */ lhu $v0, %lo(D_80078DB6)($v0) -/* 30BF4 800557F4 16020005 */ bne $s0, $v0, .L8005580C -/* 30BF8 800557F8 0200202D */ daddu $a0, $s0, $zero -/* 30BFC 800557FC 0C01553A */ jal func_800554E8 -/* 30C00 80055800 0220282D */ daddu $a1, $s1, $zero -/* 30C04 80055804 08015606 */ j .L80055818 -/* 30C08 80055808 0040182D */ daddu $v1, $v0, $zero -.L8005580C: -/* 30C0C 8005580C 0C015529 */ jal func_800554A4 -/* 30C10 80055810 0200202D */ daddu $a0, $s0, $zero -/* 30C14 80055814 0040182D */ daddu $v1, $v0, $zero -.L80055818: -/* 30C18 80055818 14600004 */ bnez $v1, .L8005582C -/* 30C1C 8005581C 26100001 */ addiu $s0, $s0, 1 -/* 30C20 80055820 0212102B */ sltu $v0, $s0, $s2 -/* 30C24 80055824 1440FFF1 */ bnez $v0, .L800557EC -/* 30C28 80055828 00000000 */ nop -.L8005582C: -/* 30C2C 8005582C 8FBF001C */ lw $ra, 0x1c($sp) -/* 30C30 80055830 8FB20018 */ lw $s2, 0x18($sp) -/* 30C34 80055834 8FB10014 */ lw $s1, 0x14($sp) -/* 30C38 80055838 8FB00010 */ lw $s0, 0x10($sp) -/* 30C3C 8005583C 0060102D */ daddu $v0, $v1, $zero -/* 30C40 80055840 03E00008 */ jr $ra -/* 30C44 80055844 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055848.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055848.s deleted file mode 100644 index 90e0ef7ec1..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055848.s +++ /dev/null @@ -1,43 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055848 -/* 30C48 80055848 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30C4C 8005584C AFB10014 */ sw $s1, 0x14($sp) -/* 30C50 80055850 0080882D */ daddu $s1, $a0, $zero -/* 30C54 80055854 3C028008 */ lui $v0, %hi(D_80078DB6) -/* 30C58 80055858 94428DB6 */ lhu $v0, %lo(D_80078DB6)($v0) -/* 30C5C 8005585C 0000182D */ daddu $v1, $zero, $zero -/* 30C60 80055860 AFB20018 */ sw $s2, 0x18($sp) -/* 30C64 80055864 24120004 */ addiu $s2, $zero, 4 -/* 30C68 80055868 AFBF001C */ sw $ra, 0x1c($sp) -/* 30C6C 8005586C 12220012 */ beq $s1, $v0, .L800558B8 -/* 30C70 80055870 AFB00010 */ sw $s0, 0x10($sp) -/* 30C74 80055874 0060802D */ daddu $s0, $v1, $zero -.L80055878: -/* 30C78 80055878 16110005 */ bne $s0, $s1, .L80055890 -/* 30C7C 8005587C 00000000 */ nop -/* 30C80 80055880 0C0155C6 */ jal func_80055718 -/* 30C84 80055884 0220202D */ daddu $a0, $s1, $zero -/* 30C88 80055888 08015627 */ j .L8005589C -/* 30C8C 8005588C 0040182D */ daddu $v1, $v0, $zero -.L80055890: -/* 30C90 80055890 0C0155B4 */ jal func_800556D0 -/* 30C94 80055894 0200202D */ daddu $a0, $s0, $zero -/* 30C98 80055898 0040182D */ daddu $v1, $v0, $zero -.L8005589C: -/* 30C9C 8005589C 14600006 */ bnez $v1, .L800558B8 -/* 30CA0 800558A0 26100001 */ addiu $s0, $s0, 1 -/* 30CA4 800558A4 0212102B */ sltu $v0, $s0, $s2 -/* 30CA8 800558A8 1440FFF3 */ bnez $v0, .L80055878 -/* 30CAC 800558AC 00000000 */ nop -/* 30CB0 800558B0 3C018008 */ lui $at, %hi(D_80078DB6) -/* 30CB4 800558B4 A4318DB6 */ sh $s1, %lo(D_80078DB6)($at) -.L800558B8: -/* 30CB8 800558B8 8FBF001C */ lw $ra, 0x1c($sp) -/* 30CBC 800558BC 8FB20018 */ lw $s2, 0x18($sp) -/* 30CC0 800558C0 8FB10014 */ lw $s1, 0x14($sp) -/* 30CC4 800558C4 8FB00010 */ lw $s0, 0x10($sp) -/* 30CC8 800558C8 0060102D */ daddu $v0, $v1, $zero -/* 30CCC 800558CC 03E00008 */ jr $ra -/* 30CD0 800558D0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800559E0.s b/asm/nonmatchings/code_303c0_len_3e10/func_800559E0.s deleted file mode 100644 index a7ec8e7fa0..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800559E0.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800559E0 -/* 30DE0 800559E0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 30DE4 800559E4 AFBF0010 */ sw $ra, 0x10($sp) -/* 30DE8 800559E8 0C01369D */ jal func_8004DA74 -/* 30DEC 800559EC 00000000 */ nop -/* 30DF0 800559F0 8FBF0010 */ lw $ra, 0x10($sp) -/* 30DF4 800559F4 03E00008 */ jr $ra -/* 30DF8 800559F8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800559FC.s b/asm/nonmatchings/code_303c0_len_3e10/func_800559FC.s deleted file mode 100644 index 813bb214c5..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800559FC.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800559FC -/* 30DFC 800559FC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 30E00 80055A00 AFBF0010 */ sw $ra, 0x10($sp) -/* 30E04 80055A04 0C0136B8 */ jal func_8004DAE0 -/* 30E08 80055A08 00000000 */ nop -/* 30E0C 80055A0C 8FBF0010 */ lw $ra, 0x10($sp) -/* 30E10 80055A10 03E00008 */ jr $ra -/* 30E14 80055A14 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055F58.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055F58.s deleted file mode 100644 index 9ec70efa82..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055F58.s +++ /dev/null @@ -1,38 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055F58 -/* 31358 80055F58 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 3135C 80055F5C AFB00018 */ sw $s0, 0x18($sp) -/* 31360 80055F60 00A0802D */ daddu $s0, $a1, $zero -/* 31364 80055F64 AFB1001C */ sw $s1, 0x1c($sp) -/* 31368 80055F68 00C0882D */ daddu $s1, $a2, $zero -/* 3136C 80055F6C 27A50010 */ addiu $a1, $sp, 0x10 -/* 31370 80055F70 27A60014 */ addiu $a2, $sp, 0x14 -/* 31374 80055F74 AFBF0024 */ sw $ra, 0x24($sp) -/* 31378 80055F78 0C01573A */ jal func_80055CE8 -/* 3137C 80055F7C AFB20020 */ sw $s2, 0x20($sp) -/* 31380 80055F80 0040902D */ daddu $s2, $v0, $zero -/* 31384 80055F84 1640000D */ bnez $s2, .L80055FBC -/* 31388 80055F88 0240102D */ daddu $v0, $s2, $zero -/* 3138C 80055F8C 2E220080 */ sltiu $v0, $s1, 0x80 -/* 31390 80055F90 50400001 */ beql $v0, $zero, .L80055F98 -/* 31394 80055F94 2411007F */ addiu $s1, $zero, 0x7f -.L80055F98: -/* 31398 80055F98 2E020010 */ sltiu $v0, $s0, 0x10 -/* 3139C 80055F9C 50400001 */ beql $v0, $zero, .L80055FA4 -/* 313A0 80055FA0 2410000F */ addiu $s0, $zero, 0xf -.L80055FA4: -/* 313A4 80055FA4 8FA40014 */ lw $a0, 0x14($sp) -/* 313A8 80055FA8 0200282D */ daddu $a1, $s0, $zero -/* 313AC 80055FAC 24060060 */ addiu $a2, $zero, 0x60 -/* 313B0 80055FB0 0C01420F */ jal func_8005083C -/* 313B4 80055FB4 322700FF */ andi $a3, $s1, 0xff -/* 313B8 80055FB8 0240102D */ daddu $v0, $s2, $zero -.L80055FBC: -/* 313BC 80055FBC 8FBF0024 */ lw $ra, 0x24($sp) -/* 313C0 80055FC0 8FB20020 */ lw $s2, 0x20($sp) -/* 313C4 80055FC4 8FB1001C */ lw $s1, 0x1c($sp) -/* 313C8 80055FC8 8FB00018 */ lw $s0, 0x18($sp) -/* 313CC 80055FCC 03E00008 */ jr $ra -/* 313D0 80055FD0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055FD4.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055FD4.s deleted file mode 100644 index 3bde86a368..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055FD4.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055FD4 -/* 313D4 80055FD4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 313D8 80055FD8 AFBF0010 */ sw $ra, 0x10($sp) -/* 313DC 80055FDC 0C0157D6 */ jal func_80055F58 -/* 313E0 80055FE0 0000302D */ daddu $a2, $zero, $zero -/* 313E4 80055FE4 8FBF0010 */ lw $ra, 0x10($sp) -/* 313E8 80055FE8 03E00008 */ jr $ra -/* 313EC 80055FEC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055FF0.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055FF0.s deleted file mode 100644 index 3c2b7ba36f..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055FF0.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055FF0 -/* 313F0 80055FF0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 313F4 80055FF4 AFBF0010 */ sw $ra, 0x10($sp) -/* 313F8 80055FF8 0C0157D6 */ jal func_80055F58 -/* 313FC 80055FFC 2406003F */ addiu $a2, $zero, 0x3f -/* 31400 80056000 8FBF0010 */ lw $ra, 0x10($sp) -/* 31404 80056004 03E00008 */ jr $ra -/* 31408 80056008 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_8005600C.s b/asm/nonmatchings/code_303c0_len_3e10/func_8005600C.s deleted file mode 100644 index 22e31486e7..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_8005600C.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8005600C -/* 3140C 8005600C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 31410 80056010 AFBF0010 */ sw $ra, 0x10($sp) -/* 31414 80056014 0C0157D6 */ jal func_80055F58 -/* 31418 80056018 2406007F */ addiu $a2, $zero, 0x7f -/* 3141C 8005601C 8FBF0010 */ lw $ra, 0x10($sp) -/* 31420 80056020 03E00008 */ jr $ra -/* 31424 80056024 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056028.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056028.s deleted file mode 100644 index c14fcb341b..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056028.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056028 -/* 31428 80056028 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 3142C 8005602C AFBF0010 */ sw $ra, 0x10($sp) -/* 31430 80056030 0C0141B2 */ jal func_800506C8 -/* 31434 80056034 30A500FF */ andi $a1, $a1, 0xff -/* 31438 80056038 8FBF0010 */ lw $ra, 0x10($sp) -/* 3143C 8005603C 03E00008 */ jr $ra -/* 31440 80056040 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056044.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056044.s deleted file mode 100644 index 9e7c6b5f52..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056044.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056044 -/* 31444 80056044 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 31448 80056048 30A200FF */ andi $v0, $a1, 0xff -/* 3144C 8005604C 3C055700 */ lui $a1, 0x5700 -/* 31450 80056050 AFBF0010 */ sw $ra, 0x10($sp) -/* 31454 80056054 0C0141B2 */ jal func_800506C8 -/* 31458 80056058 00452825 */ or $a1, $v0, $a1 -/* 3145C 8005605C 8FBF0010 */ lw $ra, 0x10($sp) -/* 31460 80056060 03E00008 */ jr $ra -/* 31464 80056064 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056068.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056068.s deleted file mode 100644 index 15aee12753..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056068.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056068 -/* 31468 80056068 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 3146C 8005606C 30A200FF */ andi $v0, $a1, 0xff -/* 31470 80056070 3C057F00 */ lui $a1, 0x7f00 -/* 31474 80056074 AFBF0010 */ sw $ra, 0x10($sp) -/* 31478 80056078 0C0141B2 */ jal func_800506C8 -/* 3147C 8005607C 00452825 */ or $a1, $v0, $a1 -/* 31480 80056080 8FBF0010 */ lw $ra, 0x10($sp) -/* 31484 80056084 03E00008 */ jr $ra -/* 31488 80056088 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_8005608C.s b/asm/nonmatchings/code_303c0_len_3e10/func_8005608C.s deleted file mode 100644 index afbd6c6c53..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_8005608C.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8005608C -/* 3148C 8005608C 3C02800A */ lui $v0, %hi(D_8009A5C0) -/* 31490 80056090 8C42A5C0 */ lw $v0, %lo(D_8009A5C0)($v0) -/* 31494 80056094 8C430094 */ lw $v1, 0x94($v0) -/* 31498 80056098 AC830000 */ sw $v1, ($a0) -/* 3149C 8005609C 8C420098 */ lw $v0, 0x98($v0) -/* 314A0 800560A0 03E00008 */ jr $ra -/* 314A4 800560A4 ACA20000 */ sw $v0, ($a1) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800560A8.s b/asm/nonmatchings/code_303c0_len_3e10/func_800560A8.s deleted file mode 100644 index 707c564c6e..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800560A8.s +++ /dev/null @@ -1,9 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800560A8 -/* 314A8 800560A8 3C03800A */ lui $v1, %hi(D_8009A5C0) -/* 314AC 800560AC 8C63A5C0 */ lw $v1, %lo(D_8009A5C0)($v1) -/* 314B0 800560B0 24020001 */ addiu $v0, $zero, 1 -/* 314B4 800560B4 03E00008 */ jr $ra -/* 314B8 800560B8 AC62009C */ sw $v0, 0x9c($v1) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056144.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056144.s deleted file mode 100644 index e621946915..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056144.s +++ /dev/null @@ -1,10 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056144 -/* 31544 80056144 3C02800A */ lui $v0, %hi(D_8009A5C0) -/* 31548 80056148 8C42A5C0 */ lw $v0, %lo(D_8009A5C0)($v0) -/* 3154C 8005614C 00052880 */ sll $a1, $a1, 2 -/* 31550 80056150 00451021 */ addu $v0, $v0, $a1 -/* 31554 80056154 03E00008 */ jr $ra -/* 31558 80056158 AC4400A4 */ sw $a0, 0xa4($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_8005615C.s b/asm/nonmatchings/code_303c0_len_3e10/func_8005615C.s deleted file mode 100644 index d4f3c631ee..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_8005615C.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8005615C -/* 3155C 8005615C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 31560 80056160 AFBF0010 */ sw $ra, 0x10($sp) -/* 31564 80056164 0C015B57 */ jal func_80056D5C -/* 31568 80056168 24040001 */ addiu $a0, $zero, 1 -/* 3156C 8005616C 0C01536A */ jal func_80054DA8 -/* 31570 80056170 0000202D */ daddu $a0, $zero, $zero -/* 31574 80056174 8FBF0010 */ lw $ra, 0x10($sp) -/* 31578 80056178 03E00008 */ jr $ra -/* 3157C 8005617C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056180.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056180.s deleted file mode 100644 index dbd51cb5e3..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056180.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056180 -/* 31580 80056180 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 31584 80056184 AFBF0010 */ sw $ra, 0x10($sp) -/* 31588 80056188 0C015B57 */ jal func_80056D5C -/* 3158C 8005618C 0000202D */ daddu $a0, $zero, $zero -/* 31590 80056190 0C01536A */ jal func_80054DA8 -/* 31594 80056194 24040001 */ addiu $a0, $zero, 1 -/* 31598 80056198 8FBF0010 */ lw $ra, 0x10($sp) -/* 3159C 8005619C 03E00008 */ jr $ra -/* 315A0 800561A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800561A4.s b/asm/nonmatchings/code_303c0_len_3e10/func_800561A4.s deleted file mode 100644 index d847963244..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800561A4.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800561A4 -/* 315A4 800561A4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 315A8 800561A8 0080282D */ daddu $a1, $a0, $zero -/* 315AC 800561AC AFBF0010 */ sw $ra, 0x10($sp) -/* 315B0 800561B0 0C015338 */ jal func_80054CE0 -/* 315B4 800561B4 24040001 */ addiu $a0, $zero, 1 -/* 315B8 800561B8 8FBF0010 */ lw $ra, 0x10($sp) -/* 315BC 800561BC 03E00008 */ jr $ra -/* 315C0 800561C0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800561C4.s b/asm/nonmatchings/code_303c0_len_3e10/func_800561C4.s deleted file mode 100644 index bd0f54c7f1..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800561C4.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800561C4 -/* 315C4 800561C4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 315C8 800561C8 0080282D */ daddu $a1, $a0, $zero -/* 315CC 800561CC AFBF0010 */ sw $ra, 0x10($sp) -/* 315D0 800561D0 0C015338 */ jal func_80054CE0 -/* 315D4 800561D4 24040010 */ addiu $a0, $zero, 0x10 -/* 315D8 800561D8 8FBF0010 */ lw $ra, 0x10($sp) -/* 315DC 800561DC 03E00008 */ jr $ra -/* 315E0 800561E0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800561E4.s b/asm/nonmatchings/code_303c0_len_3e10/func_800561E4.s deleted file mode 100644 index 2109ee5fea..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800561E4.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800561E4 -/* 315E4 800561E4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 315E8 800561E8 0080282D */ daddu $a1, $a0, $zero -/* 315EC 800561EC AFBF0010 */ sw $ra, 0x10($sp) -/* 315F0 800561F0 0C01535D */ jal func_80054D74 -/* 315F4 800561F4 24040010 */ addiu $a0, $zero, 0x10 -/* 315F8 800561F8 8FBF0010 */ lw $ra, 0x10($sp) -/* 315FC 800561FC 03E00008 */ jr $ra -/* 31600 80056200 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056204.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056204.s deleted file mode 100644 index 913c730c2e..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056204.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056204 -/* 31604 80056204 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 31608 80056208 3C04800A */ lui $a0, %hi(D_8009A640) -/* 3160C 8005620C 8C84A640 */ lw $a0, %lo(D_8009A640)($a0) -/* 31610 80056210 AFBF0010 */ sw $ra, 0x10($sp) -/* 31614 80056214 0C012E95 */ jal func_8004BA54 -/* 31618 80056218 0000282D */ daddu $a1, $zero, $zero -/* 3161C 8005621C 8FBF0010 */ lw $ra, 0x10($sp) -/* 31620 80056220 03E00008 */ jr $ra -/* 31624 80056224 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056228.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056228.s deleted file mode 100644 index 3a48629bd8..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056228.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056228 -/* 31628 80056228 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 3162C 8005622C 3C04800A */ lui $a0, %hi(D_8009A640) -/* 31630 80056230 8C84A640 */ lw $a0, %lo(D_8009A640)($a0) -/* 31634 80056234 AFBF0010 */ sw $ra, 0x10($sp) -/* 31638 80056238 0C012E95 */ jal func_8004BA54 -/* 3163C 8005623C 24050001 */ addiu $a1, $zero, 1 -/* 31640 80056240 8FBF0010 */ lw $ra, 0x10($sp) -/* 31644 80056244 03E00008 */ jr $ra -/* 31648 80056248 27BD0018 */ addiu $sp, $sp, 0x18 -/* 3164C 8005624C 00000000 */ nop diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800565A4.s b/asm/nonmatchings/code_303c0_len_3e10/func_800565A4.s deleted file mode 100644 index d831b054be..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800565A4.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800565A4 -/* 319A4 800565A4 3C038008 */ lui $v1, %hi(D_80078E50) -/* 319A8 800565A8 24638E50 */ addiu $v1, $v1, %lo(D_80078E50) -/* 319AC 800565AC 8C620000 */ lw $v0, ($v1) -/* 319B0 800565B0 54400001 */ bnel $v0, $zero, .L800565B8 -/* 319B4 800565B4 AC600000 */ sw $zero, ($v1) -.L800565B8: -/* 319B8 800565B8 03E00008 */ jr $ra -/* 319BC 800565BC 00000000 */ nop diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056D34.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056D34.s deleted file mode 100644 index 56fc10663e..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056D34.s +++ /dev/null @@ -1,8 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056D34 -/* 32134 80056D34 24020001 */ addiu $v0, $zero, 1 -/* 32138 80056D38 3C018008 */ lui $at, %hi(D_80078E58) -/* 3213C 80056D3C 03E00008 */ jr $ra -/* 32140 80056D40 A0228E58 */ sb $v0, %lo(D_80078E58)($at) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056D44.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056D44.s deleted file mode 100644 index c7f3137a8b..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056D44.s +++ /dev/null @@ -1,7 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056D44 -/* 32144 80056D44 3C018008 */ lui $at, %hi(D_80078E5A) -/* 32148 80056D48 03E00008 */ jr $ra -/* 3214C 80056D4C A4248E5A */ sh $a0, %lo(D_80078E5A)($at) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056D50.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056D50.s deleted file mode 100644 index 35aca52663..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056D50.s +++ /dev/null @@ -1,7 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056D50 -/* 32150 80056D50 3C028008 */ lui $v0, %hi(D_80078E5A) -/* 32154 80056D54 03E00008 */ jr $ra -/* 32158 80056D58 84428E5A */ lh $v0, %lo(D_80078E5A)($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056D78.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056D78.s deleted file mode 100644 index f81c89cc13..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056D78.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056D78 -/* 32178 80056D78 308400FF */ andi $a0, $a0, 0xff -/* 3217C 80056D7C 00041040 */ sll $v0, $a0, 1 -/* 32180 80056D80 00441021 */ addu $v0, $v0, $a0 -/* 32184 80056D84 3C038008 */ lui $v1, %hi(D_80078E54) -/* 32188 80056D88 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 3218C 80056D8C 000210C0 */ sll $v0, $v0, 3 -/* 32190 80056D90 8C630020 */ lw $v1, 0x20($v1) -/* 32194 80056D94 30A57FFF */ andi $a1, $a1, 0x7fff -/* 32198 80056D98 00621821 */ addu $v1, $v1, $v0 -/* 3219C 80056D9C 03E00008 */ jr $ra -/* 321A0 80056DA0 A4650000 */ sh $a1, ($v1) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056DA4.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056DA4.s deleted file mode 100644 index 5929744cea..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056DA4.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056DA4 -/* 321A4 80056DA4 308400FF */ andi $a0, $a0, 0xff -/* 321A8 80056DA8 00041840 */ sll $v1, $a0, 1 -/* 321AC 80056DAC 3C028008 */ lui $v0, %hi(D_80078E54) -/* 321B0 80056DB0 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 321B4 80056DB4 00641821 */ addu $v1, $v1, $a0 -/* 321B8 80056DB8 8C420020 */ lw $v0, 0x20($v0) -/* 321BC 80056DBC 000318C0 */ sll $v1, $v1, 3 -/* 321C0 80056DC0 00431021 */ addu $v0, $v0, $v1 -/* 321C4 80056DC4 03E00008 */ jr $ra -/* 321C8 80056DC8 94420000 */ lhu $v0, ($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056DCC.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056DCC.s deleted file mode 100644 index 0b3ee24ab1..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056DCC.s +++ /dev/null @@ -1,30 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056DCC -/* 321CC 80056DCC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 321D0 80056DD0 00A0302D */ daddu $a2, $a1, $zero -/* 321D4 80056DD4 308400FF */ andi $a0, $a0, 0xff -/* 321D8 80056DD8 00041040 */ sll $v0, $a0, 1 -/* 321DC 80056DDC 00441021 */ addu $v0, $v0, $a0 -/* 321E0 80056DE0 3C038008 */ lui $v1, %hi(D_80078E54) -/* 321E4 80056DE4 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 321E8 80056DE8 000210C0 */ sll $v0, $v0, 3 -/* 321EC 80056DEC AFBF0018 */ sw $ra, 0x18($sp) -/* 321F0 80056DF0 AFB10014 */ sw $s1, 0x14($sp) -/* 321F4 80056DF4 AFB00010 */ sw $s0, 0x10($sp) -/* 321F8 80056DF8 8C700020 */ lw $s0, 0x20($v1) -/* 321FC 80056DFC 30D100FF */ andi $s1, $a2, 0xff -/* 32200 80056E00 02028021 */ addu $s0, $s0, $v0 -/* 32204 80056E04 8E040004 */ lw $a0, 4($s0) -/* 32208 80056E08 0220282D */ daddu $a1, $s1, $zero -/* 3220C 80056E0C 0C016413 */ jal func_8005904C -/* 32210 80056E10 A206000C */ sb $a2, 0xc($s0) -/* 32214 80056E14 8E040008 */ lw $a0, 8($s0) -/* 32218 80056E18 0C016413 */ jal func_8005904C -/* 3221C 80056E1C 0220282D */ daddu $a1, $s1, $zero -/* 32220 80056E20 8FBF0018 */ lw $ra, 0x18($sp) -/* 32224 80056E24 8FB10014 */ lw $s1, 0x14($sp) -/* 32228 80056E28 8FB00010 */ lw $s0, 0x10($sp) -/* 3222C 80056E2C 03E00008 */ jr $ra -/* 32230 80056E30 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056EC0.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056EC0.s deleted file mode 100644 index bbfc4ef0eb..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056EC0.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056EC0 -/* 322C0 80056EC0 308400FF */ andi $a0, $a0, 0xff -/* 322C4 80056EC4 00041940 */ sll $v1, $a0, 5 -/* 322C8 80056EC8 3C028008 */ lui $v0, %hi(D_80078E54) -/* 322CC 80056ECC 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 322D0 80056ED0 00641823 */ subu $v1, $v1, $a0 -/* 322D4 80056ED4 8C42001C */ lw $v0, 0x1c($v0) -/* 322D8 80056ED8 00031880 */ sll $v1, $v1, 2 -/* 322DC 80056EDC 00431021 */ addu $v0, $v0, $v1 -/* 322E0 80056EE0 03E00008 */ jr $ra -/* 322E4 80056EE4 A0450078 */ sb $a1, 0x78($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056F78.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056F78.s deleted file mode 100644 index 2716ed4dd7..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056F78.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056F78 -/* 32378 80056F78 308400FF */ andi $a0, $a0, 0xff -/* 3237C 80056F7C 00041140 */ sll $v0, $a0, 5 -/* 32380 80056F80 3C038008 */ lui $v1, %hi(D_80078E54) -/* 32384 80056F84 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 32388 80056F88 00441023 */ subu $v0, $v0, $a0 -/* 3238C 80056F8C 8C63001C */ lw $v1, 0x1c($v1) -/* 32390 80056F90 00021080 */ sll $v0, $v0, 2 -/* 32394 80056F94 00621821 */ addu $v1, $v1, $v0 -/* 32398 80056F98 24020001 */ addiu $v0, $zero, 1 -/* 3239C 80056F9C 03E00008 */ jr $ra -/* 323A0 80056FA0 AC620070 */ sw $v0, 0x70($v1) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057344.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057344.s deleted file mode 100644 index 107e6ba4ca..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057344.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057344 -/* 32744 80057344 308400FF */ andi $a0, $a0, 0xff -/* 32748 80057348 00041940 */ sll $v1, $a0, 5 -/* 3274C 8005734C 3C028008 */ lui $v0, %hi(D_80078E54) -/* 32750 80057350 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 32754 80057354 00641823 */ subu $v1, $v1, $a0 -/* 32758 80057358 8C42001C */ lw $v0, 0x1c($v0) -/* 3275C 8005735C 00031880 */ sll $v1, $v1, 2 -/* 32760 80057360 00431021 */ addu $v0, $v0, $v1 -/* 32764 80057364 03E00008 */ jr $ra -/* 32768 80057368 AC45003C */ sw $a1, 0x3c($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057B64.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057B64.s deleted file mode 100644 index 33a238ea38..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057B64.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057B64 -/* 32F64 80057B64 308400FF */ andi $a0, $a0, 0xff -/* 32F68 80057B68 00041940 */ sll $v1, $a0, 5 -/* 32F6C 80057B6C 3C028008 */ lui $v0, %hi(D_80078E54) -/* 32F70 80057B70 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 32F74 80057B74 00641823 */ subu $v1, $v1, $a0 -/* 32F78 80057B78 8C42001C */ lw $v0, 0x1c($v0) -/* 32F7C 80057B7C 00031880 */ sll $v1, $v1, 2 -/* 32F80 80057B80 00431021 */ addu $v0, $v0, $v1 -/* 32F84 80057B84 03E00008 */ jr $ra -/* 32F88 80057B88 8C420070 */ lw $v0, 0x70($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057B8C.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057B8C.s deleted file mode 100644 index c3600f33bd..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057B8C.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057B8C -/* 32F8C 80057B8C 308400FF */ andi $a0, $a0, 0xff -/* 32F90 80057B90 00041940 */ sll $v1, $a0, 5 -/* 32F94 80057B94 3C028008 */ lui $v0, %hi(D_80078E54) -/* 32F98 80057B98 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 32F9C 80057B9C 00641823 */ subu $v1, $v1, $a0 -/* 32FA0 80057BA0 8C42001C */ lw $v0, 0x1c($v0) -/* 32FA4 80057BA4 00031880 */ sll $v1, $v1, 2 -/* 32FA8 80057BA8 00431021 */ addu $v0, $v0, $v1 -/* 32FAC 80057BAC 03E00008 */ jr $ra -/* 32FB0 80057BB0 90420078 */ lbu $v0, 0x78($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057BB4.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057BB4.s deleted file mode 100644 index 8ee44c1d63..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057BB4.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057BB4 -/* 32FB4 80057BB4 308400FF */ andi $a0, $a0, 0xff -/* 32FB8 80057BB8 00041940 */ sll $v1, $a0, 5 -/* 32FBC 80057BBC 3C028008 */ lui $v0, %hi(D_80078E54) -/* 32FC0 80057BC0 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 32FC4 80057BC4 00641823 */ subu $v1, $v1, $a0 -/* 32FC8 80057BC8 8C42001C */ lw $v0, 0x1c($v0) -/* 32FCC 80057BCC 00031880 */ sll $v1, $v1, 2 -/* 32FD0 80057BD0 00431021 */ addu $v0, $v0, $v1 -/* 32FD4 80057BD4 03E00008 */ jr $ra -/* 32FD8 80057BD8 C440003C */ lwc1 $f0, 0x3c($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057BDC.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057BDC.s deleted file mode 100644 index c2d51bf68a..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057BDC.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057BDC -/* 32FDC 80057BDC 308400FF */ andi $a0, $a0, 0xff -/* 32FE0 80057BE0 00041940 */ sll $v1, $a0, 5 -/* 32FE4 80057BE4 3C028008 */ lui $v0, %hi(D_80078E54) -/* 32FE8 80057BE8 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 32FEC 80057BEC 00641823 */ subu $v1, $v1, $a0 -/* 32FF0 80057BF0 8C42001C */ lw $v0, 0x1c($v0) -/* 32FF4 80057BF4 00031880 */ sll $v1, $v1, 2 -/* 32FF8 80057BF8 00431021 */ addu $v0, $v0, $v1 -/* 32FFC 80057BFC 03E00008 */ jr $ra -/* 33000 80057C00 9042004D */ lbu $v0, 0x4d($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057C04.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057C04.s deleted file mode 100644 index 85b9121543..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057C04.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057C04 -/* 33004 80057C04 308400FF */ andi $a0, $a0, 0xff -/* 33008 80057C08 00041940 */ sll $v1, $a0, 5 -/* 3300C 80057C0C 3C028008 */ lui $v0, %hi(D_80078E54) -/* 33010 80057C10 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 33014 80057C14 00641823 */ subu $v1, $v1, $a0 -/* 33018 80057C18 8C42001C */ lw $v0, 0x1c($v0) -/* 3301C 80057C1C 00031880 */ sll $v1, $v1, 2 -/* 33020 80057C20 00431021 */ addu $v0, $v0, $v1 -/* 33024 80057C24 03E00008 */ jr $ra -/* 33028 80057C28 84420054 */ lh $v0, 0x54($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057C2C.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057C2C.s deleted file mode 100644 index 1a9c1fde19..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057C2C.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057C2C -/* 3302C 80057C2C 308400FF */ andi $a0, $a0, 0xff -/* 33030 80057C30 00041940 */ sll $v1, $a0, 5 -/* 33034 80057C34 3C028008 */ lui $v0, %hi(D_80078E54) -/* 33038 80057C38 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 3303C 80057C3C 00641823 */ subu $v1, $v1, $a0 -/* 33040 80057C40 8C42001C */ lw $v0, 0x1c($v0) -/* 33044 80057C44 00031880 */ sll $v1, $v1, 2 -/* 33048 80057C48 00431021 */ addu $v0, $v0, $v1 -/* 3304C 80057C4C 03E00008 */ jr $ra -/* 33050 80057C50 84420056 */ lh $v0, 0x56($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057DC8.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057DC8.s deleted file mode 100644 index 5ed3d3687f..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057DC8.s +++ /dev/null @@ -1,22 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057DC8 -/* 331C8 80057DC8 28820002 */ slti $v0, $a0, 2 -/* 331CC 80057DCC 10400005 */ beqz $v0, .L80057DE4 -/* 331D0 80057DD0 00000000 */ nop -/* 331D4 80057DD4 3C01800A */ lui $at, %hi(D_800A3FF0) -/* 331D8 80057DD8 AC203FF0 */ sw $zero, %lo(D_800A3FF0)($at) -/* 331DC 80057DDC 3C01800A */ lui $at, %hi(D_800A3FEE) -/* 331E0 80057DE0 A4203FEE */ sh $zero, %lo(D_800A3FEE)($at) -.L80057DE4: -/* 331E4 80057DE4 3C03800A */ lui $v1, %hi(D_800A3FF0) -/* 331E8 80057DE8 24633FF0 */ addiu $v1, $v1, %lo(D_800A3FF0) -/* 331EC 80057DEC 28820005 */ slti $v0, $a0, 5 -/* 331F0 80057DF0 14400003 */ bnez $v0, .L80057E00 -/* 331F4 80057DF4 AC640000 */ sw $a0, ($v1) -/* 331F8 80057DF8 24020004 */ addiu $v0, $zero, 4 -/* 331FC 80057DFC AC620000 */ sw $v0, ($v1) -.L80057E00: -/* 33200 80057E00 03E00008 */ jr $ra -/* 33204 80057E04 00000000 */ nop diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057E08.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057E08.s deleted file mode 100644 index cc772371cf..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057E08.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057E08 -/* 33208 80057E08 0000302D */ daddu $a2, $zero, $zero -/* 3320C 80057E0C 3C05800A */ lui $a1, %hi(D_800A3FE0) -/* 33210 80057E10 8CA53FE0 */ lw $a1, %lo(D_800A3FE0)($a1) -/* 33214 80057E14 3C03800A */ lui $v1, %hi(D_800A3FE4) -/* 33218 80057E18 8C633FE4 */ lw $v1, %lo(D_800A3FE4)($v1) -.L80057E1C: -/* 3321C 80057E1C ACA00000 */ sw $zero, ($a1) -/* 33220 80057E20 24A50004 */ addiu $a1, $a1, 4 -/* 33224 80057E24 AC600000 */ sw $zero, ($v1) -/* 33228 80057E28 24C60001 */ addiu $a2, $a2, 1 -/* 3322C 80057E2C 28C20170 */ slti $v0, $a2, 0x170 -/* 33230 80057E30 1440FFFA */ bnez $v0, .L80057E1C -/* 33234 80057E34 24630004 */ addiu $v1, $v1, 4 -/* 33238 80057E38 24020001 */ addiu $v0, $zero, 1 -/* 3323C 80057E3C 3C01800A */ lui $at, %hi(D_800A3FEC) -/* 33240 80057E40 A0243FEC */ sb $a0, %lo(D_800A3FEC)($at) -/* 33244 80057E44 3C01800A */ lui $at, %hi(D_800A3FEE) -/* 33248 80057E48 A4223FEE */ sh $v0, %lo(D_800A3FEE)($at) -/* 3324C 80057E4C 3C01800A */ lui $at, %hi(D_800A3FE8) -/* 33250 80057E50 AC203FE8 */ sw $zero, %lo(D_800A3FE8)($at) -/* 33254 80057E54 03E00008 */ jr $ra -/* 33258 80057E58 00000000 */ nop diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057E5C.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057E5C.s deleted file mode 100644 index 0080543cf0..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057E5C.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057E5C -/* 3325C 80057E5C 0000302D */ daddu $a2, $zero, $zero -/* 33260 80057E60 3C05800A */ lui $a1, %hi(D_800A3FE0) -/* 33264 80057E64 8CA53FE0 */ lw $a1, %lo(D_800A3FE0)($a1) -/* 33268 80057E68 3C03800A */ lui $v1, %hi(D_800A3FE4) -/* 3326C 80057E6C 8C633FE4 */ lw $v1, %lo(D_800A3FE4)($v1) -.L80057E70: -/* 33270 80057E70 ACA00000 */ sw $zero, ($a1) -/* 33274 80057E74 24A50004 */ addiu $a1, $a1, 4 -/* 33278 80057E78 AC600000 */ sw $zero, ($v1) -/* 3327C 80057E7C 24C60001 */ addiu $a2, $a2, 1 -/* 33280 80057E80 28C20170 */ slti $v0, $a2, 0x170 -/* 33284 80057E84 1440FFFA */ bnez $v0, .L80057E70 -/* 33288 80057E88 24630004 */ addiu $v1, $v1, 4 -/* 3328C 80057E8C 24020002 */ addiu $v0, $zero, 2 -/* 33290 80057E90 3C01800A */ lui $at, %hi(D_800A3FEC) -/* 33294 80057E94 A0243FEC */ sb $a0, %lo(D_800A3FEC)($at) -/* 33298 80057E98 3C01800A */ lui $at, %hi(D_800A3FEE) -/* 3329C 80057E9C A4223FEE */ sh $v0, %lo(D_800A3FEE)($at) -/* 332A0 80057EA0 3C01800A */ lui $at, %hi(D_800A3FE8) -/* 332A4 80057EA4 AC203FE8 */ sw $zero, %lo(D_800A3FE8)($at) -/* 332A8 80057EA8 03E00008 */ jr $ra -/* 332AC 80057EAC 00000000 */ nop diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057EB0.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057EB0.s deleted file mode 100644 index 4159ded706..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057EB0.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057EB0 -/* 332B0 80057EB0 3C01800A */ lui $at, %hi(D_800A3FEC) -/* 332B4 80057EB4 A0203FEC */ sb $zero, %lo(D_800A3FEC)($at) -/* 332B8 80057EB8 3C01800A */ lui $at, %hi(D_800A3FEE) -/* 332BC 80057EBC A4203FEE */ sh $zero, %lo(D_800A3FEE)($at) -/* 332C0 80057EC0 3C01800A */ lui $at, %hi(D_800A3FE8) -/* 332C4 80057EC4 AC203FE8 */ sw $zero, %lo(D_800A3FE8)($at) -/* 332C8 80057EC8 03E00008 */ jr $ra -/* 332CC 80057ECC 00000000 */ nop diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057ED0.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057ED0.s deleted file mode 100644 index 2b400e97f9..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057ED0.s +++ /dev/null @@ -1,25 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057ED0 -/* 332D0 80057ED0 0000302D */ daddu $a2, $zero, $zero -/* 332D4 80057ED4 3C05800A */ lui $a1, %hi(D_800A3FE0) -/* 332D8 80057ED8 8CA53FE0 */ lw $a1, %lo(D_800A3FE0)($a1) -/* 332DC 80057EDC 3C03800A */ lui $v1, %hi(D_800A3FE4) -/* 332E0 80057EE0 8C633FE4 */ lw $v1, %lo(D_800A3FE4)($v1) -.L80057EE4: -/* 332E4 80057EE4 ACA00000 */ sw $zero, ($a1) -/* 332E8 80057EE8 24A50004 */ addiu $a1, $a1, 4 -/* 332EC 80057EEC AC600000 */ sw $zero, ($v1) -/* 332F0 80057EF0 24C60001 */ addiu $a2, $a2, 1 -/* 332F4 80057EF4 28C20170 */ slti $v0, $a2, 0x170 -/* 332F8 80057EF8 1440FFFA */ bnez $v0, .L80057EE4 -/* 332FC 80057EFC 24630004 */ addiu $v1, $v1, 4 -/* 33300 80057F00 3C01800A */ lui $at, %hi(D_800A3FEC) -/* 33304 80057F04 A0203FEC */ sb $zero, %lo(D_800A3FEC)($at) -/* 33308 80057F08 3C01800A */ lui $at, %hi(D_800A3FEE) -/* 3330C 80057F0C A4243FEE */ sh $a0, %lo(D_800A3FEE)($at) -/* 33310 80057F10 3C01800A */ lui $at, %hi(D_800A3FE8) -/* 33314 80057F14 AC203FE8 */ sw $zero, %lo(D_800A3FE8)($at) -/* 33318 80057F18 03E00008 */ jr $ra -/* 3331C 80057F1C 00000000 */ nop diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057FD8.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057FD8.s deleted file mode 100644 index b84379d644..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057FD8.s +++ /dev/null @@ -1,17 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057FD8 -/* 333D8 80057FD8 18C00008 */ blez $a2, .L80057FFC -/* 333DC 80057FDC 0000182D */ daddu $v1, $zero, $zero -.L80057FE0: -/* 333E0 80057FE0 90820000 */ lbu $v0, ($a0) -/* 333E4 80057FE4 24840001 */ addiu $a0, $a0, 1 -/* 333E8 80057FE8 24630001 */ addiu $v1, $v1, 1 -/* 333EC 80057FEC A0A20000 */ sb $v0, ($a1) -/* 333F0 80057FF0 0066102A */ slt $v0, $v1, $a2 -/* 333F4 80057FF4 1440FFFA */ bnez $v0, .L80057FE0 -/* 333F8 80057FF8 24A50001 */ addiu $a1, $a1, 1 -.L80057FFC: -/* 333FC 80057FFC 03E00008 */ jr $ra -/* 33400 80058000 00000000 */ nop diff --git a/asm/nonmatchings/code_303c0_len_3e10/alAudioFrame.s b/asm/nonmatchings/code_31650/alAudioFrame.s similarity index 100% rename from asm/nonmatchings/code_303c0_len_3e10/alAudioFrame.s rename to asm/nonmatchings/code_31650/alAudioFrame.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056250.s b/asm/nonmatchings/code_31650/func_80056250.s similarity index 100% rename from asm/nonmatchings/code_303c0_len_3e10/func_80056250.s rename to asm/nonmatchings/code_31650/func_80056250.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056D5C.s b/asm/nonmatchings/code_31650/func_80056D5C.s similarity index 100% rename from asm/nonmatchings/code_303c0_len_3e10/func_80056D5C.s rename to asm/nonmatchings/code_31650/func_80056D5C.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056E34.s b/asm/nonmatchings/code_31650/func_80056E34.s similarity index 100% rename from asm/nonmatchings/code_303c0_len_3e10/func_80056E34.s rename to asm/nonmatchings/code_31650/func_80056E34.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056EE8.s b/asm/nonmatchings/code_31650/func_80056EE8.s similarity index 100% rename from asm/nonmatchings/code_303c0_len_3e10/func_80056EE8.s rename to asm/nonmatchings/code_31650/func_80056EE8.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056FA4.s b/asm/nonmatchings/code_31650/func_80056FA4.s similarity index 100% rename from asm/nonmatchings/code_303c0_len_3e10/func_80056FA4.s rename to asm/nonmatchings/code_31650/func_80056FA4.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057224.s b/asm/nonmatchings/code_31650/func_80057224.s similarity index 100% rename from asm/nonmatchings/code_303c0_len_3e10/func_80057224.s rename to asm/nonmatchings/code_31650/func_80057224.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_8005736C.s b/asm/nonmatchings/code_31650/func_8005736C.s similarity index 100% rename from asm/nonmatchings/code_303c0_len_3e10/func_8005736C.s rename to asm/nonmatchings/code_31650/func_8005736C.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057548.s b/asm/nonmatchings/code_31650/func_80057548.s similarity index 100% rename from asm/nonmatchings/code_303c0_len_3e10/func_80057548.s rename to asm/nonmatchings/code_31650/func_80057548.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800576EC.s b/asm/nonmatchings/code_31650/func_800576EC.s similarity index 100% rename from asm/nonmatchings/code_303c0_len_3e10/func_800576EC.s rename to asm/nonmatchings/code_31650/func_800576EC.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057874.s b/asm/nonmatchings/code_31650/func_80057874.s similarity index 100% rename from asm/nonmatchings/code_303c0_len_3e10/func_80057874.s rename to asm/nonmatchings/code_31650/func_80057874.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800579D8.s b/asm/nonmatchings/code_31650/func_800579D8.s similarity index 100% rename from asm/nonmatchings/code_303c0_len_3e10/func_800579D8.s rename to asm/nonmatchings/code_31650/func_800579D8.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057C54.s b/asm/nonmatchings/code_31650/func_80057C54.s similarity index 100% rename from asm/nonmatchings/code_303c0_len_3e10/func_80057C54.s rename to asm/nonmatchings/code_31650/func_80057C54.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057D0C.s b/asm/nonmatchings/code_31650/func_80057D0C.s similarity index 100% rename from asm/nonmatchings/code_303c0_len_3e10/func_80057D0C.s rename to asm/nonmatchings/code_31650/func_80057D0C.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057F20.s b/asm/nonmatchings/code_31650/func_80057F20.s similarity index 100% rename from asm/nonmatchings/code_303c0_len_3e10/func_80057F20.s rename to asm/nonmatchings/code_31650/func_80057F20.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80058004.s b/asm/nonmatchings/code_31650/func_80058004.s similarity index 100% rename from asm/nonmatchings/code_303c0_len_3e10/func_80058004.s rename to asm/nonmatchings/code_31650/func_80058004.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80058050.s b/asm/nonmatchings/code_31650/func_80058050.s similarity index 100% rename from asm/nonmatchings/code_303c0_len_3e10/func_80058050.s rename to asm/nonmatchings/code_31650/func_80058050.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80058B20.s b/asm/nonmatchings/code_31650/func_80058B20.s similarity index 100% rename from asm/nonmatchings/code_303c0_len_3e10/func_80058B20.s rename to asm/nonmatchings/code_31650/func_80058B20.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80058C6C.s b/asm/nonmatchings/code_31650/func_80058C6C.s similarity index 100% rename from asm/nonmatchings/code_303c0_len_3e10/func_80058C6C.s rename to asm/nonmatchings/code_31650/func_80058C6C.s diff --git a/asm/nonmatchings/code_316a70/func_80200080.s b/asm/nonmatchings/code_316a70/func_80200080.s index 3c4e6da5b3..f02f703480 100644 --- a/asm/nonmatchings/code_316a70/func_80200080.s +++ b/asm/nonmatchings/code_316a70/func_80200080.s @@ -29,13 +29,13 @@ glabel func_80200080 /* 316AC8 802000D8 34427508 */ ori $v0, $v0, 0x7508 /* 316ACC 802000DC 0000482D */ daddu $t1, $zero, $zero /* 316AD0 802000E0 00821021 */ addu $v0, $a0, $v0 -/* 316AD4 802000E4 3C03A000 */ lui $v1, %hi(D_A0006A70) +/* 316AD4 802000E4 3C03A000 */ lui $v1, 0xa000 /* 316AD8 802000E8 00431025 */ or $v0, $v0, $v1 /* 316ADC 802000EC 8C420000 */ lw $v0, ($v0) /* 316AE0 802000F0 3C080031 */ lui $t0, 0x31 /* 316AE4 802000F4 250869F0 */ addiu $t0, $t0, 0x69f0 /* 316AE8 802000F8 3C030031 */ lui $v1, 0x31 -/* 316AEC 802000FC 24636A70 */ addiu $v1, $v1, %lo(D_A0006A70) +/* 316AEC 802000FC 24636A70 */ addiu $v1, $v1, 0x6a70 /* 316AF0 80200100 01625823 */ subu $t3, $t3, $v0 /* 316AF4 80200104 0103102B */ sltu $v0, $t0, $v1 /* 316AF8 80200108 10400034 */ beqz $v0, .L802001DC diff --git a/asm/nonmatchings/code_333EC0/func_E00205D0.s b/asm/nonmatchings/code_333EC0/func_E00205D0.s index 02cdf417fc..bc117a8f12 100644 --- a/asm/nonmatchings/code_333EC0/func_E00205D0.s +++ b/asm/nonmatchings/code_333EC0/func_E00205D0.s @@ -419,7 +419,7 @@ glabel func_E00205D0 /* 334ADC E0020C1C ACA30004 */ sw $v1, 4($a1) /* 334AE0 E0020C20 24C20008 */ addiu $v0, $a2, 8 /* 334AE4 E0020C24 ACE20000 */ sw $v0, ($a3) -/* 334AE8 E0020C28 3C02DE00 */ lui $v0, %hi(D_DE000008) +/* 334AE8 E0020C28 3C02DE00 */ lui $v0, 0xde00 /* 334AEC E0020C2C ACC20000 */ sw $v0, ($a2) /* 334AF0 E0020C30 ACC80004 */ sw $t0, 4($a2) .LE0020C34: @@ -427,7 +427,7 @@ glabel func_E00205D0 /* 334AF8 E0020C38 8CE20000 */ lw $v0, ($a3) /* 334AFC E0020C3C 34840002 */ ori $a0, $a0, 2 /* 334B00 E0020C40 0040182D */ daddu $v1, $v0, $zero -/* 334B04 E0020C44 24420008 */ addiu $v0, $v0, %lo(D_DE000008) +/* 334B04 E0020C44 24420008 */ addiu $v0, $v0, 8 /* 334B08 E0020C48 ACE20000 */ sw $v0, ($a3) /* 334B0C E0020C4C 24020040 */ addiu $v0, $zero, 0x40 /* 334B10 E0020C50 AC640000 */ sw $a0, ($v1) diff --git a/asm/nonmatchings/code_337240/func_E0022998.s b/asm/nonmatchings/code_337240/func_E0022998.s index f2a3dd956e..997c82647c 100644 --- a/asm/nonmatchings/code_337240/func_E0022998.s +++ b/asm/nonmatchings/code_337240/func_E0022998.s @@ -40,14 +40,14 @@ glabel func_E0022998 /* 337C64 E0022A24 3C020900 */ lui $v0, 0x900 /* 337C68 E0022A28 24420F20 */ addiu $v0, $v0, %lo(D_DE000F20) /* 337C6C E0022A2C AC62000C */ sw $v0, 0xc($v1) -/* 337C70 E0022A30 3C028000 */ lui $v0, %hi(D_7FFFFFFF) +/* 337C70 E0022A30 3C028000 */ lui $v0, 0x8000 /* 337C74 E0022A34 00A22821 */ addu $a1, $a1, $v0 /* 337C78 E0022A38 AC650004 */ sw $a1, 4($v1) /* 337C7C E0022A3C 8E050004 */ lw $a1, 4($s0) /* 337C80 E0022A40 8E060008 */ lw $a2, 8($s0) /* 337C84 E0022A44 8E020020 */ lw $v0, 0x20($s0) /* 337C88 E0022A48 8E07000C */ lw $a3, 0xc($s0) -/* 337C8C E0022A4C 2442FFFF */ addiu $v0, $v0, %lo(D_7FFFFFFF) +/* 337C8C E0022A4C 2442FFFF */ addiu $v0, $v0, -1 /* 337C90 E0022A50 00021840 */ sll $v1, $v0, 1 /* 337C94 E0022A54 0C080108 */ jal func_E0200420 /* 337C98 E0022A58 00628821 */ addu $s1, $v1, $v0 @@ -158,13 +158,13 @@ glabel func_E0022998 /* 337E38 E0022BF8 00651825 */ or $v1, $v1, $a1 /* 337E3C E0022BFC 346300FF */ ori $v1, $v1, 0xff /* 337E40 E0022C00 AE420000 */ sw $v0, ($s2) -/* 337E44 E0022C04 3C02DA38 */ lui $v0, %hi(D_DA37A674) +/* 337E44 E0022C04 3C02DA38 */ lui $v0, 0xda38 /* 337E48 E0022C08 3084FFFF */ andi $a0, $a0, 0xffff /* 337E4C E0022C0C 00042180 */ sll $a0, $a0, 6 /* 337E50 E0022C10 AD030004 */ sw $v1, 4($t0) /* 337E54 E0022C14 ACE20000 */ sw $v0, ($a3) /* 337E58 E0022C18 3C02800A */ lui $v0, %hi(D_8009A674) -/* 337E5C E0022C1C 8C42A674 */ lw $v0, %lo(D_DA37A674)($v0) +/* 337E5C E0022C1C 8C42A674 */ lw $v0, %lo(D_8009A674)($v0) /* 337E60 E0022C20 00952021 */ addu $a0, $a0, $s5 /* 337E64 E0022C24 00441021 */ addu $v0, $v0, $a0 /* 337E68 E0022C28 ACE20004 */ sw $v0, 4($a3) diff --git a/asm/nonmatchings/code_339250/func_E0024454.s b/asm/nonmatchings/code_339250/func_E0024454.s index d04ba6b873..5a8a084000 100644 --- a/asm/nonmatchings/code_339250/func_E0024454.s +++ b/asm/nonmatchings/code_339250/func_E0024454.s @@ -293,14 +293,14 @@ glabel func_E0024454 /* 339B0C E00248BC AFA50068 */ sw $a1, 0x68($sp) .LE00248C0: /* 339B10 E00248C0 8EB20000 */ lw $s2, ($s5) -/* 339B14 E00248C4 3C02DA38 */ lui $v0, %hi(D_DA380060) +/* 339B14 E00248C4 3C02DA38 */ lui $v0, 0xda38 /* 339B18 E00248C8 0240202D */ daddu $a0, $s2, $zero /* 339B1C E00248CC 26520008 */ addiu $s2, $s2, 8 /* 339B20 E00248D0 AEB20000 */ sw $s2, ($s5) /* 339B24 E00248D4 AC820000 */ sw $v0, ($a0) /* 339B28 E00248D8 00141080 */ sll $v0, $s4, 2 /* 339B2C E00248DC 03A21021 */ addu $v0, $sp, $v0 -/* 339B30 E00248E0 8C430060 */ lw $v1, %lo(D_DA380060)($v0) +/* 339B30 E00248E0 8C430060 */ lw $v1, 0x60($v0) /* 339B34 E00248E4 26420008 */ addiu $v0, $s2, 8 /* 339B38 E00248E8 AEA20000 */ sw $v0, ($s5) /* 339B3C E00248EC 3C02FA00 */ lui $v0, 0xfa00 diff --git a/asm/nonmatchings/code_33FE80/func_E002C414.s b/asm/nonmatchings/code_33FE80/func_E002C414.s index 07c466c4b5..dfe44c2d04 100644 --- a/asm/nonmatchings/code_33FE80/func_E002C414.s +++ b/asm/nonmatchings/code_33FE80/func_E002C414.s @@ -288,14 +288,14 @@ glabel func_E002C414 /* 3406F8 E002C878 24840008 */ addiu $a0, $a0, 8 /* 3406FC E002C87C AE840000 */ sw $a0, ($s4) /* 340700 E002C880 97C20000 */ lhu $v0, ($fp) -/* 340704 E002C884 3C03DA38 */ lui $v1, %hi(D_DA37A674) +/* 340704 E002C884 3C03DA38 */ lui $v1, 0xda38 /* 340708 E002C888 ACA30000 */ sw $v1, ($a1) /* 34070C E002C88C 24430001 */ addiu $v1, $v0, 1 /* 340710 E002C890 3042FFFF */ andi $v0, $v0, 0xffff /* 340714 E002C894 00021180 */ sll $v0, $v0, 6 /* 340718 E002C898 A7C30000 */ sh $v1, ($fp) /* 34071C E002C89C 3C03800A */ lui $v1, %hi(D_8009A674) -/* 340720 E002C8A0 8C63A674 */ lw $v1, %lo(D_DA37A674)($v1) +/* 340720 E002C8A0 8C63A674 */ lw $v1, %lo(D_8009A674)($v1) /* 340724 E002C8A4 00571021 */ addu $v0, $v0, $s7 /* 340728 E002C8A8 00621821 */ addu $v1, $v1, $v0 /* 34072C E002C8AC 24820008 */ addiu $v0, $a0, 8 diff --git a/asm/nonmatchings/code_342140/func_E0030A68.s b/asm/nonmatchings/code_342140/func_E0030A68.s index a245607f40..a27d418ab7 100644 --- a/asm/nonmatchings/code_342140/func_E0030A68.s +++ b/asm/nonmatchings/code_342140/func_E0030A68.s @@ -38,13 +38,13 @@ glabel func_E0030A68 /* 342C2C E0030AEC 3C020900 */ lui $v0, 0x900 /* 342C30 E0030AF0 244204C0 */ addiu $v0, $v0, %lo(D_DE0004C0) /* 342C34 E0030AF4 AC82000C */ sw $v0, 0xc($a0) -/* 342C38 E0030AF8 3C028000 */ lui $v0, %hi(D_7FFFFFFF) +/* 342C38 E0030AF8 3C028000 */ lui $v0, 0x8000 /* 342C3C E0030AFC 00621821 */ addu $v1, $v1, $v0 /* 342C40 E0030B00 AC830004 */ sw $v1, 4($a0) /* 342C44 E0030B04 8CE2002C */ lw $v0, 0x2c($a3) /* 342C48 E0030B08 0000A82D */ daddu $s5, $zero, $zero /* 342C4C E0030B0C AD240000 */ sw $a0, ($t1) -/* 342C50 E0030B10 2442FFFF */ addiu $v0, $v0, %lo(D_7FFFFFFF) +/* 342C50 E0030B10 2442FFFF */ addiu $v0, $v0, -1 /* 342C54 E0030B14 00021840 */ sll $v1, $v0, 1 /* 342C58 E0030B18 0062A021 */ addu $s4, $v1, $v0 /* 342C5C E0030B1C 24820008 */ addiu $v0, $a0, 8 diff --git a/asm/nonmatchings/code_343680/func_E003245C.s b/asm/nonmatchings/code_343680/func_E003245C.s index b3282cea1e..dc40ab54ff 100644 --- a/asm/nonmatchings/code_343680/func_E003245C.s +++ b/asm/nonmatchings/code_343680/func_E003245C.s @@ -236,14 +236,14 @@ glabel func_E003245C /* 343E64 E00327E4 ACE30004 */ sw $v1, 4($a3) /* 343E68 E00327E8 ACC20000 */ sw $v0, ($a2) /* 343E6C E00327EC 94820000 */ lhu $v0, ($a0) -/* 343E70 E00327F0 3C03DA38 */ lui $v1, %hi(D_DA37A674) +/* 343E70 E00327F0 3C03DA38 */ lui $v1, 0xda38 /* 343E74 E00327F4 ACA30000 */ sw $v1, ($a1) /* 343E78 E00327F8 24430001 */ addiu $v1, $v0, 1 /* 343E7C E00327FC 3042FFFF */ andi $v0, $v0, 0xffff /* 343E80 E0032800 00021180 */ sll $v0, $v0, 6 /* 343E84 E0032804 A4830000 */ sh $v1, ($a0) /* 343E88 E0032808 3C03800A */ lui $v1, %hi(D_8009A674) -/* 343E8C E003280C 8C63A674 */ lw $v1, %lo(D_DA37A674)($v1) +/* 343E8C E003280C 8C63A674 */ lw $v1, %lo(D_8009A674)($v1) /* 343E90 E0032810 00481021 */ addu $v0, $v0, $t0 /* 343E94 E0032814 00621821 */ addu $v1, $v1, $v0 /* 343E98 E0032818 24A20010 */ addiu $v0, $a1, 0x10 diff --git a/asm/nonmatchings/code_354F60/func_E004491C.s b/asm/nonmatchings/code_354F60/func_E004491C.s index 4dc95fa9cd..4d897f22b9 100644 --- a/asm/nonmatchings/code_354F60/func_E004491C.s +++ b/asm/nonmatchings/code_354F60/func_E004491C.s @@ -44,14 +44,14 @@ glabel func_E004491C /* 355918 E00449B8 3C020900 */ lui $v0, 0x900 /* 35591C E00449BC 24420F20 */ addiu $v0, $v0, %lo(D_DE000F20) /* 355920 E00449C0 AC62000C */ sw $v0, 0xc($v1) -/* 355924 E00449C4 3C028000 */ lui $v0, %hi(D_7FFFFFFF) +/* 355924 E00449C4 3C028000 */ lui $v0, 0x8000 /* 355928 E00449C8 00A22821 */ addu $a1, $a1, $v0 /* 35592C E00449CC AC650004 */ sw $a1, 4($v1) /* 355930 E00449D0 8E250004 */ lw $a1, 4($s1) /* 355934 E00449D4 8E260008 */ lw $a2, 8($s1) /* 355938 E00449D8 8E220020 */ lw $v0, 0x20($s1) /* 35593C E00449DC 8E27000C */ lw $a3, 0xc($s1) -/* 355940 E00449E0 2442FFFF */ addiu $v0, $v0, %lo(D_7FFFFFFF) +/* 355940 E00449E0 2442FFFF */ addiu $v0, $v0, -1 /* 355944 E00449E4 00021840 */ sll $v1, $v0, 1 /* 355948 E00449E8 0C080108 */ jal func_E0200420 /* 35594C E00449EC 0062A021 */ addu $s4, $v1, $v0 @@ -246,14 +246,14 @@ glabel func_E004491C /* 355C24 E0044CC4 ACA30004 */ sw $v1, 4($a1) /* 355C28 E0044CC8 AE620000 */ sw $v0, ($s3) /* 355C2C E0044CCC 96E20000 */ lhu $v0, ($s7) -/* 355C30 E0044CD0 3C03DA38 */ lui $v1, %hi(D_DA37A674) +/* 355C30 E0044CD0 3C03DA38 */ lui $v1, 0xda38 /* 355C34 E0044CD4 AC830000 */ sw $v1, ($a0) /* 355C38 E0044CD8 24430001 */ addiu $v1, $v0, 1 /* 355C3C E0044CDC 3042FFFF */ andi $v0, $v0, 0xffff /* 355C40 E0044CE0 00021180 */ sll $v0, $v0, 6 /* 355C44 E0044CE4 A6E30000 */ sh $v1, ($s7) /* 355C48 E0044CE8 3C03800A */ lui $v1, %hi(D_8009A674) -/* 355C4C E0044CEC 8C63A674 */ lw $v1, %lo(D_DA37A674)($v1) +/* 355C4C E0044CEC 8C63A674 */ lw $v1, %lo(D_8009A674)($v1) /* 355C50 E0044CF0 00551021 */ addu $v0, $v0, $s5 /* 355C54 E0044CF4 00621821 */ addu $v1, $v1, $v0 /* 355C58 E0044CF8 24820010 */ addiu $v0, $a0, 0x10 diff --git a/asm/nonmatchings/code_3584C0/func_E004A78C.s b/asm/nonmatchings/code_3584C0/func_E004A78C.s index 7419029908..6eed4bbe45 100644 --- a/asm/nonmatchings/code_3584C0/func_E004A78C.s +++ b/asm/nonmatchings/code_3584C0/func_E004A78C.s @@ -288,14 +288,14 @@ glabel func_E004A78C /* 3590B0 E004ABF0 AC670018 */ sw $a3, 0x18($v1) /* 3590B4 E004ABF4 00441021 */ addu $v0, $v0, $a0 /* 3590B8 E004ABF8 AC62000C */ sw $v0, 0xc($v1) -/* 3590BC E004ABFC 3C02DE00 */ lui $v0, %hi(D_DE00007C) +/* 3590BC E004ABFC 3C02DE00 */ lui $v0, 0xde00 /* 3590C0 E004AC00 AC620010 */ sw $v0, 0x10($v1) /* 3590C4 E004AC04 24020040 */ addiu $v0, $zero, 0x40 /* 3590C8 E004AC08 AC62001C */ sw $v0, 0x1c($v1) /* 3590CC E004AC0C 4600018D */ trunc.w.s $f6, $f0 /* 3590D0 E004AC10 44023000 */ mfc1 $v0, $f6 /* 3590D4 E004AC14 00000000 */ nop -/* 3590D8 E004AC18 2442007C */ addiu $v0, $v0, %lo(D_DE00007C) +/* 3590D8 E004AC18 2442007C */ addiu $v0, $v0, 0x7c /* 3590DC E004AC1C 30420FFF */ andi $v0, $v0, 0xfff /* 3590E0 E004AC20 00481025 */ or $v0, $v0, $t0 /* 3590E4 E004AC24 AC620004 */ sw $v0, 4($v1) diff --git a/asm/nonmatchings/code_36A8D0/func_E0068234.s b/asm/nonmatchings/code_36A8D0/func_E0068234.s index da01535fbd..80b1b6168e 100644 --- a/asm/nonmatchings/code_36A8D0/func_E0068234.s +++ b/asm/nonmatchings/code_36A8D0/func_E0068234.s @@ -32,13 +32,13 @@ glabel func_E0068234 /* 36AB70 E00682A0 3C17E007 */ lui $s7, %hi(D_E00685F4) /* 36AB74 E00682A4 02E2B821 */ addu $s7, $s7, $v0 /* 36AB78 E00682A8 8EF785F4 */ lw $s7, %lo(D_E00685F4)($s7) -/* 36AB7C E00682AC 3C02E700 */ lui $v0, %hi(D_E700001C) +/* 36AB7C E00682AC 3C02E700 */ lui $v0, 0xe700 /* 36AB80 E00682B0 AC620000 */ sw $v0, ($v1) /* 36AB84 E00682B4 AC600004 */ sw $zero, 4($v1) /* 36AB88 E00682B8 ACC70000 */ sw $a3, ($a2) /* 36AB8C E00682BC 8C820010 */ lw $v0, 0x10($a0) /* 36AB90 E00682C0 3C048000 */ lui $a0, 0x8000 -/* 36AB94 E00682C4 8C42001C */ lw $v0, %lo(D_E700001C)($v0) +/* 36AB94 E00682C4 8C42001C */ lw $v0, 0x1c($v0) /* 36AB98 E00682C8 3C038007 */ lui $v1, %hi(gCurrentCameraID) /* 36AB9C E00682CC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) /* 36ABA0 E00682D0 00441021 */ addu $v0, $v0, $a0 diff --git a/asm/nonmatchings/code_372790/func_E006E35C.s b/asm/nonmatchings/code_372790/func_E006E35C.s index 4e7371ce52..a4c442a501 100644 --- a/asm/nonmatchings/code_372790/func_E006E35C.s +++ b/asm/nonmatchings/code_372790/func_E006E35C.s @@ -185,7 +185,7 @@ glabel func_E006E35C .LE006E618: /* 372DA8 E006E618 2401FFFF */ addiu $at, $zero, -1 /* 372DAC E006E61C 16410004 */ bne $s2, $at, .LE006E630 -/* 372DB0 E006E620 3C018000 */ lui $at, %hi(D_7FFFEC40) +/* 372DB0 E006E620 3C018000 */ lui $at, 0x8000 /* 372DB4 E006E624 14410002 */ bne $v0, $at, .LE006E630 /* 372DB8 E006E628 00000000 */ nop /* 372DBC E006E62C 0006000D */ break 6 @@ -193,7 +193,7 @@ glabel func_E006E35C /* 372DC0 E006E630 00001012 */ mflo $v0 /* 372DC4 E006E634 C6000038 */ lwc1 $f0, 0x38($s0) /* 372DC8 E006E638 3C01E007 */ lui $at, %hi(D_E006EC40) -/* 372DCC E006E63C D422EC40 */ ldc1 $f2, %lo(D_7FFFEC40)($at) +/* 372DCC E006E63C D422EC40 */ ldc1 $f2, %lo(D_E006EC40)($at) /* 372DD0 E006E640 46000021 */ cvt.d.s $f0, $f0 /* 372DD4 E006E644 46201081 */ sub.d $f2, $f2, $f0 /* 372DD8 E006E648 3C01E007 */ lui $at, %hi(D_E006EC48) diff --git a/asm/nonmatchings/code_389850/func_E00863B4.s b/asm/nonmatchings/code_389850/func_E00863B4.s index 173775412e..cb8d8b8ef6 100644 --- a/asm/nonmatchings/code_389850/func_E00863B4.s +++ b/asm/nonmatchings/code_389850/func_E00863B4.s @@ -290,14 +290,14 @@ glabel func_E00863B4 /* 38A05C E008680C 24840008 */ addiu $a0, $a0, 8 /* 38A060 E0086810 AEA40000 */ sw $a0, ($s5) /* 38A064 E0086814 96E20000 */ lhu $v0, ($s7) -/* 38A068 E0086818 3C03DA38 */ lui $v1, %hi(D_DA37A674) +/* 38A068 E0086818 3C03DA38 */ lui $v1, 0xda38 /* 38A06C E008681C ACA30000 */ sw $v1, ($a1) /* 38A070 E0086820 24430001 */ addiu $v1, $v0, 1 /* 38A074 E0086824 3042FFFF */ andi $v0, $v0, 0xffff /* 38A078 E0086828 00021180 */ sll $v0, $v0, 6 /* 38A07C E008682C A6E30000 */ sh $v1, ($s7) /* 38A080 E0086830 3C03800A */ lui $v1, %hi(D_8009A674) -/* 38A084 E0086834 8C63A674 */ lw $v1, %lo(D_DA37A674)($v1) +/* 38A084 E0086834 8C63A674 */ lw $v1, %lo(D_8009A674)($v1) /* 38A088 E0086838 00561021 */ addu $v0, $v0, $s6 /* 38A08C E008683C 00621821 */ addu $v1, $v1, $v0 /* 38A090 E0086840 ACA30004 */ sw $v1, 4($a1) diff --git a/asm/nonmatchings/code_38ADF0/func_E00887E0.s b/asm/nonmatchings/code_38ADF0/func_E00887E0.s index 1136a7e2db..0a237044a3 100644 --- a/asm/nonmatchings/code_38ADF0/func_E00887E0.s +++ b/asm/nonmatchings/code_38ADF0/func_E00887E0.s @@ -253,14 +253,14 @@ glabel func_E00887E0 /* 38B990 E0088BA0 24A541F0 */ addiu $a1, $a1, %lo(D_800741F0) /* 38B994 E0088BA4 AE220000 */ sw $v0, ($s1) /* 38B998 E0088BA8 94A20000 */ lhu $v0, ($a1) -/* 38B99C E0088BAC 3C03DA38 */ lui $v1, %hi(D_DA37A674) +/* 38B99C E0088BAC 3C03DA38 */ lui $v1, 0xda38 /* 38B9A0 E0088BB0 AC830000 */ sw $v1, ($a0) /* 38B9A4 E0088BB4 24430001 */ addiu $v1, $v0, 1 /* 38B9A8 E0088BB8 3042FFFF */ andi $v0, $v0, 0xffff /* 38B9AC E0088BBC 00021180 */ sll $v0, $v0, 6 /* 38B9B0 E0088BC0 A4A30000 */ sh $v1, ($a1) /* 38B9B4 E0088BC4 3C03800A */ lui $v1, %hi(D_8009A674) -/* 38B9B8 E0088BC8 8C63A674 */ lw $v1, %lo(D_DA37A674)($v1) +/* 38B9B8 E0088BC8 8C63A674 */ lw $v1, %lo(D_8009A674)($v1) /* 38B9BC E0088BCC 00571021 */ addu $v0, $v0, $s7 /* 38B9C0 E0088BD0 00621821 */ addu $v1, $v1, $v0 /* 38B9C4 E0088BD4 24820010 */ addiu $v0, $a0, 0x10 diff --git a/asm/nonmatchings/code_3AEE20/func_E00AC2A4.s b/asm/nonmatchings/code_3AEE20/func_E00AC2A4.s index 8c59d9ae1e..7be0770c4b 100644 --- a/asm/nonmatchings/code_3AEE20/func_E00AC2A4.s +++ b/asm/nonmatchings/code_3AEE20/func_E00AC2A4.s @@ -293,13 +293,13 @@ glabel func_E00AC2A4 /* 3AF530 E00AC710 2484A66C */ addiu $a0, $a0, %lo(D_8009A66C) /* 3AF534 E00AC714 34C60002 */ ori $a2, $a2, 2 /* 3AF538 E00AC718 8C830000 */ lw $v1, ($a0) -/* 3AF53C E00AC71C 3C02DE00 */ lui $v0, %hi(D_DE0028A0) +/* 3AF53C E00AC71C 3C02DE00 */ lui $v0, 0xde00 /* 3AF540 E00AC720 0060282D */ daddu $a1, $v1, $zero /* 3AF544 E00AC724 24630008 */ addiu $v1, $v1, 8 /* 3AF548 E00AC728 AC830000 */ sw $v1, ($a0) /* 3AF54C E00AC72C ACA20000 */ sw $v0, ($a1) /* 3AF550 E00AC730 3C020900 */ lui $v0, 0x900 -/* 3AF554 E00AC734 244228A0 */ addiu $v0, $v0, %lo(D_DE0028A0) +/* 3AF554 E00AC734 244228A0 */ addiu $v0, $v0, 0x28a0 /* 3AF558 E00AC738 ACA20004 */ sw $v0, 4($a1) /* 3AF55C E00AC73C 24620008 */ addiu $v0, $v1, 8 /* 3AF560 E00AC740 24050040 */ addiu $a1, $zero, 0x40 diff --git a/asm/nonmatchings/code_3B2350/func_E00AE54C.s b/asm/nonmatchings/code_3B2350/func_E00AE54C.s index 19b868f64d..03eb3b199d 100644 --- a/asm/nonmatchings/code_3B2350/func_E00AE54C.s +++ b/asm/nonmatchings/code_3B2350/func_E00AE54C.s @@ -234,14 +234,14 @@ glabel func_E00AE54C /* 3B2C2C E00AE8DC 24840008 */ addiu $a0, $a0, 8 /* 3B2C30 E00AE8E0 AE240000 */ sw $a0, ($s1) /* 3B2C34 E00AE8E4 96E20000 */ lhu $v0, ($s7) -/* 3B2C38 E00AE8E8 3C03DA38 */ lui $v1, %hi(D_DA37A674) +/* 3B2C38 E00AE8E8 3C03DA38 */ lui $v1, 0xda38 /* 3B2C3C E00AE8EC ACA30000 */ sw $v1, ($a1) /* 3B2C40 E00AE8F0 24430001 */ addiu $v1, $v0, 1 /* 3B2C44 E00AE8F4 3042FFFF */ andi $v0, $v0, 0xffff /* 3B2C48 E00AE8F8 00021180 */ sll $v0, $v0, 6 /* 3B2C4C E00AE8FC A6E30000 */ sh $v1, ($s7) /* 3B2C50 E00AE900 3C03800A */ lui $v1, %hi(D_8009A674) -/* 3B2C54 E00AE904 8C63A674 */ lw $v1, %lo(D_DA37A674)($v1) +/* 3B2C54 E00AE904 8C63A674 */ lw $v1, %lo(D_8009A674)($v1) /* 3B2C58 E00AE908 00541021 */ addu $v0, $v0, $s4 /* 3B2C5C E00AE90C 00621821 */ addu $v1, $v1, $v0 /* 3B2C60 E00AE910 24820008 */ addiu $v0, $a0, 8 diff --git a/asm/nonmatchings/code_3B3EB0/func_E00B0234.s b/asm/nonmatchings/code_3B3EB0/func_E00B0234.s index 22b674d671..293bd31b62 100644 --- a/asm/nonmatchings/code_3B3EB0/func_E00B0234.s +++ b/asm/nonmatchings/code_3B3EB0/func_E00B0234.s @@ -171,14 +171,14 @@ glabel func_E00B0234 /* 3B4378 E00B04C8 24840008 */ addiu $a0, $a0, 8 /* 3B437C E00B04CC AE440000 */ sw $a0, ($s2) /* 3B4380 E00B04D0 96A20000 */ lhu $v0, ($s5) -/* 3B4384 E00B04D4 3C03DA38 */ lui $v1, %hi(D_DA37A674) +/* 3B4384 E00B04D4 3C03DA38 */ lui $v1, 0xda38 /* 3B4388 E00B04D8 ACA30000 */ sw $v1, ($a1) /* 3B438C E00B04DC 24430001 */ addiu $v1, $v0, 1 /* 3B4390 E00B04E0 3042FFFF */ andi $v0, $v0, 0xffff /* 3B4394 E00B04E4 00021180 */ sll $v0, $v0, 6 /* 3B4398 E00B04E8 A6A30000 */ sh $v1, ($s5) /* 3B439C E00B04EC 3C03800A */ lui $v1, %hi(D_8009A674) -/* 3B43A0 E00B04F0 8C63A674 */ lw $v1, %lo(D_DA37A674)($v1) +/* 3B43A0 E00B04F0 8C63A674 */ lw $v1, %lo(D_8009A674)($v1) /* 3B43A4 E00B04F4 005E1021 */ addu $v0, $v0, $fp /* 3B43A8 E00B04F8 00621821 */ addu $v1, $v1, $v0 /* 3B43AC E00B04FC 24820008 */ addiu $v0, $a0, 8 diff --git a/asm/nonmatchings/code_759b0_len_61b0/update_player_shadow.s b/asm/nonmatchings/code_759b0_len_61b0/update_player_shadow.s index c98a690ce5..4c9c4a6faa 100644 --- a/asm/nonmatchings/code_759b0_len_61b0/update_player_shadow.s +++ b/asm/nonmatchings/code_759b0_len_61b0/update_player_shadow.s @@ -220,7 +220,7 @@ glabel update_player_shadow /* 7B3C0 800E1F10 A0830000 */ sb $v1, ($a0) .L800E1F14: /* 7B3C4 800E1F14 46220001 */ sub.d $f0, $f0, $f2 -/* 7B3C8 800E1F18 3C028000 */ lui $v0, %hi(D_8000419C) +/* 7B3C8 800E1F18 3C028000 */ lui $v0, 0x8000 /* 7B3CC 800E1F1C 4620028D */ trunc.w.d $f10, $f0 /* 7B3D0 800E1F20 44035000 */ mfc1 $v1, $f10 /* 7B3D4 800E1F24 00000000 */ nop @@ -228,7 +228,7 @@ glabel update_player_shadow /* 7B3DC 800E1F2C A0830000 */ sb $v1, ($a0) .L800E1F30: /* 7B3E0 800E1F30 3C028007 */ lui $v0, %hi(gGameStatusPtr) -/* 7B3E4 800E1F34 8C42419C */ lw $v0, %lo(D_8000419C)($v0) +/* 7B3E4 800E1F34 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) /* 7B3E8 800E1F38 9042007E */ lbu $v0, 0x7e($v0) /* 7B3EC 800E1F3C 30420001 */ andi $v0, $v0, 1 /* 7B3F0 800E1F40 14400006 */ bnez $v0, .L800E1F5C diff --git a/asm/nonmatchings/code_7bb60_len_41b0/func_800E2BB0.s b/asm/nonmatchings/code_7bb60_len_41b0/func_800E2BB0.s index 469ed654f9..a3aa242314 100644 --- a/asm/nonmatchings/code_7bb60_len_41b0/func_800E2BB0.s +++ b/asm/nonmatchings/code_7bb60_len_41b0/func_800E2BB0.s @@ -28,12 +28,12 @@ glabel func_800E2BB0 /* 7C0BC 800E2C0C 00000000 */ nop /* 7C0C0 800E2C10 45000004 */ bc1f .L800E2C24 /* 7C0C4 800E2C14 00000000 */ nop -/* 7C0C8 800E2C18 3C01BEF0 */ lui $at, %hi(D_BEEFBD88) +/* 7C0C8 800E2C18 3C01BEF0 */ lui $at, 0xbef0 /* 7C0CC 800E2C1C 3421A3D7 */ ori $at, $at, 0xa3d7 /* 7C0D0 800E2C20 44813000 */ mtc1 $at, $f6 .L800E2C24: /* 7C0D4 800E2C24 3C018011 */ lui $at, %hi(D_8010BD88) -/* 7C0D8 800E2C28 D422BD88 */ ldc1 $f2, %lo(D_BEEFBD88)($at) +/* 7C0D8 800E2C28 D422BD88 */ ldc1 $f2, %lo(D_8010BD88)($at) /* 7C0DC 800E2C2C 46003021 */ cvt.d.s $f0, $f6 /* 7C0E0 800E2C30 4620103C */ c.lt.d $f2, $f0 /* 7C0E4 800E2C34 00000000 */ nop diff --git a/asm/nonmatchings/code_838b0_len_5900/func_800EA514.s b/asm/nonmatchings/code_838b0_len_5900/func_800EA514.s deleted file mode 100644 index b51265a358..0000000000 --- a/asm/nonmatchings/code_838b0_len_5900/func_800EA514.s +++ /dev/null @@ -1,8 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800EA514 -/* 839C4 800EA514 3C028011 */ lui $v0, %hi(D_8010EBB0) -/* 839C8 800EA518 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) -/* 839CC 800EA51C 03E00008 */ jr $ra -/* 839D0 800EA520 2C420001 */ sltiu $v0, $v0, 1 diff --git a/asm/nonmatchings/code_891b0_len_fb0/func_800F0490.s b/asm/nonmatchings/code_891b0_len_fb0/func_800F0490.s index 9d0c238cef..4708295c6d 100644 --- a/asm/nonmatchings/code_891b0_len_fb0/func_800F0490.s +++ b/asm/nonmatchings/code_891b0_len_fb0/func_800F0490.s @@ -93,13 +93,13 @@ glabel func_800F0490 /* 89A90 800F05E0 46800020 */ cvt.s.w $f0, $f0 /* 89A94 800F05E4 46006307 */ neg.s $f12, $f12 /* 89A98 800F05E8 46006300 */ add.s $f12, $f12, $f0 -/* 89A9C 800F05EC 3C01C000 */ lui $at, %hi(D_BFFF949C) +/* 89A9C 800F05EC 3C01C000 */ lui $at, 0xc000 /* 89AA0 800F05F0 4481A000 */ mtc1 $at, $f20 /* 89AA4 800F05F4 3C0140A0 */ lui $at, 0x40a0 /* 89AA8 800F05F8 44810000 */ mtc1 $at, $f0 /* 89AAC 800F05FC 46041080 */ add.s $f2, $f2, $f4 /* 89AB0 800F0600 3C018011 */ lui $at, %hi(D_8010949C) -/* 89AB4 800F0604 A420949C */ sh $zero, %lo(D_BFFF949C)($at) +/* 89AB4 800F0604 A420949C */ sh $zero, %lo(D_8010949C)($at) /* 89AB8 800F0608 46001083 */ div.s $f2, $f2, $f0 /* 89ABC 800F060C 0C00A6C9 */ jal clamp_angle /* 89AC0 800F0610 4602A501 */ sub.s $f20, $f20, $f2 diff --git a/asm/nonmatchings/code_8a160_len_700/func_800F102C.s b/asm/nonmatchings/code_8a160_len_700/func_800F102C.s index c72dc58235..ec77206650 100644 --- a/asm/nonmatchings/code_8a160_len_700/func_800F102C.s +++ b/asm/nonmatchings/code_8a160_len_700/func_800F102C.s @@ -59,14 +59,14 @@ glabel func_800F102C /* 8A5B4 800F1104 24620010 */ addiu $v0, $v1, 0x10 /* 8A5B8 800F1108 AC600004 */ sw $zero, 4($v1) /* 8A5BC 800F110C AE020000 */ sw $v0, ($s0) -/* 8A5C0 800F1110 3C02ED00 */ lui $v0, %hi(D_ECFF96B0) +/* 8A5C0 800F1110 3C02ED00 */ lui $v0, 0xed00 /* 8A5C4 800F1114 AC620008 */ sw $v0, 8($v1) /* 8A5C8 800F1118 24620018 */ addiu $v0, $v1, 0x18 /* 8A5CC 800F111C AC69000C */ sw $t1, 0xc($v1) /* 8A5D0 800F1120 AE020000 */ sw $v0, ($s0) /* 8A5D4 800F1124 4485B000 */ mtc1 $a1, $f22 /* 8A5D8 800F1128 3C028011 */ lui $v0, %hi(D_801096B0) -/* 8A5DC 800F112C 244296B0 */ addiu $v0, $v0, %lo(D_ECFF96B0) +/* 8A5DC 800F112C 244296B0 */ addiu $v0, $v0, %lo(D_801096B0) /* 8A5E0 800F1130 AC6A0010 */ sw $t2, 0x10($v1) /* 8A5E4 800F1134 AC620014 */ sw $v0, 0x14($v1) /* 8A5E8 800F1138 E7A20018 */ swc1 $f2, 0x18($sp) diff --git a/asm/nonmatchings/code_8e790_len_2850/draw_box.s b/asm/nonmatchings/code_8e790_len_2850/draw_box.s index 7406e4de20..7551a24add 100644 --- a/asm/nonmatchings/code_8e790_len_2850/draw_box.s +++ b/asm/nonmatchings/code_8e790_len_2850/draw_box.s @@ -2002,14 +2002,14 @@ glabel draw_box /* 90508 800F7058 0040182D */ daddu $v1, $v0, $zero /* 9050C 800F705C 24420008 */ addiu $v0, $v0, 8 /* 90510 800F7060 AD820000 */ sw $v0, ($t4) -/* 90514 800F7064 3C02F100 */ lui $v0, %hi(D_F1000008) +/* 90514 800F7064 3C02F100 */ lui $v0, 0xf100 /* 90518 800F7068 AC620000 */ sw $v0, ($v1) /* 9051C 800F706C AC640004 */ sw $a0, 4($v1) .L800F7070: /* 90520 800F7070 8D820000 */ lw $v0, ($t4) /* 90524 800F7074 25AD0001 */ addiu $t5, $t5, 1 /* 90528 800F7078 0040182D */ daddu $v1, $v0, $zero -/* 9052C 800F707C 24420008 */ addiu $v0, $v0, %lo(D_F1000008) +/* 9052C 800F707C 24420008 */ addiu $v0, $v0, 8 /* 90530 800F7080 3C19E700 */ lui $t9, 0xe700 /* 90534 800F7084 AD820000 */ sw $v0, ($t4) /* 90538 800F7088 29A20004 */ slti $v0, $t5, 4 @@ -2174,7 +2174,7 @@ glabel draw_box /* 90780 800F72D0 0040202D */ daddu $a0, $v0, $zero /* 90784 800F72D4 24420008 */ addiu $v0, $v0, 8 /* 90788 800F72D8 AC620000 */ sw $v0, ($v1) -/* 9078C 800F72DC 3C02F100 */ lui $v0, %hi(D_F1000008) +/* 9078C 800F72DC 3C02F100 */ lui $v0, 0xf100 /* 90790 800F72E0 AC820000 */ sw $v0, ($a0) /* 90794 800F72E4 AC850004 */ sw $a1, 4($a0) .L800F72E8: @@ -2182,7 +2182,7 @@ glabel draw_box /* 9079C 800F72EC 2463A66C */ addiu $v1, $v1, %lo(D_8009A66C) /* 907A0 800F72F0 8C620000 */ lw $v0, ($v1) /* 907A4 800F72F4 0040202D */ daddu $a0, $v0, $zero -/* 907A8 800F72F8 24420008 */ addiu $v0, $v0, %lo(D_F1000008) +/* 907A8 800F72F8 24420008 */ addiu $v0, $v0, 8 /* 907AC 800F72FC AC620000 */ sw $v0, ($v1) /* 907B0 800F7300 3C02E700 */ lui $v0, 0xe700 /* 907B4 800F7304 AC820000 */ sw $v0, ($a0) diff --git a/asm/nonmatchings/code_a5dd0_len_114e0/func_801180E8.s b/asm/nonmatchings/code_a5dd0_len_114e0/func_801180E8.s index 73c6a1d1cb..5505f0c3d6 100644 --- a/asm/nonmatchings/code_a5dd0_len_114e0/func_801180E8.s +++ b/asm/nonmatchings/code_a5dd0_len_114e0/func_801180E8.s @@ -240,21 +240,21 @@ glabel func_801180E8 /* AEB3C 8011843C 0040182D */ daddu $v1, $v0, $zero /* AEB40 80118440 24420008 */ addiu $v0, $v0, 8 /* AEB44 80118444 AF020000 */ sw $v0, ($t8) -/* AEB48 80118448 3C02FD10 */ lui $v0, %hi(D_FD100008) +/* AEB48 80118448 3C02FD10 */ lui $v0, 0xfd10 /* AEB4C 8011844C AC620000 */ sw $v0, ($v1) /* AEB50 80118450 AC670004 */ sw $a3, 4($v1) /* AEB54 80118454 8F020000 */ lw $v0, ($t8) /* AEB58 80118458 3C04F500 */ lui $a0, 0xf500 /* AEB5C 8011845C 0040182D */ daddu $v1, $v0, $zero -/* AEB60 80118460 24420008 */ addiu $v0, $v0, %lo(D_FD100008) +/* AEB60 80118460 24420008 */ addiu $v0, $v0, 8 /* AEB64 80118464 AF020000 */ sw $v0, ($t8) -/* AEB68 80118468 3C02E800 */ lui $v0, %hi(D_E8000008) +/* AEB68 80118468 3C02E800 */ lui $v0, 0xe800 /* AEB6C 8011846C AC620000 */ sw $v0, ($v1) /* AEB70 80118470 AC600004 */ sw $zero, 4($v1) /* AEB74 80118474 8F020000 */ lw $v0, ($t8) /* AEB78 80118478 34840100 */ ori $a0, $a0, 0x100 /* AEB7C 8011847C 0040182D */ daddu $v1, $v0, $zero -/* AEB80 80118480 24420008 */ addiu $v0, $v0, %lo(D_E8000008) +/* AEB80 80118480 24420008 */ addiu $v0, $v0, 8 /* AEB84 80118484 AF020000 */ sw $v0, ($t8) /* AEB88 80118488 3C020700 */ lui $v0, 0x700 /* AEB8C 8011848C AC640000 */ sw $a0, ($v1) @@ -276,13 +276,13 @@ glabel func_801180E8 /* AEBC8 801184C8 0040182D */ daddu $v1, $v0, $zero /* AEBCC 801184CC 24420008 */ addiu $v0, $v0, %lo(D_FD100008) /* AEBD0 801184D0 AF020000 */ sw $v0, ($t8) -/* AEBD4 801184D4 3C02E800 */ lui $v0, %hi(D_E8000008) +/* AEBD4 801184D4 3C02E800 */ lui $v0, 0xe800 /* AEBD8 801184D8 AC620000 */ sw $v0, ($v1) /* AEBDC 801184DC AC600004 */ sw $zero, 4($v1) /* AEBE0 801184E0 8F020000 */ lw $v0, ($t8) /* AEBE4 801184E4 34840100 */ ori $a0, $a0, 0x100 /* AEBE8 801184E8 0040182D */ daddu $v1, $v0, $zero -/* AEBEC 801184EC 24420008 */ addiu $v0, $v0, %lo(D_E8000008) +/* AEBEC 801184EC 24420008 */ addiu $v0, $v0, 8 /* AEBF0 801184F0 AF020000 */ sw $v0, ($t8) /* AEBF4 801184F4 3C020700 */ lui $v0, 0x700 /* AEBF8 801184F8 AC640000 */ sw $a0, ($v1) @@ -293,13 +293,13 @@ glabel func_801180E8 /* AEC08 80118508 0040182D */ daddu $v1, $v0, $zero /* AEC0C 8011850C 24420008 */ addiu $v0, $v0, 8 /* AEC10 80118510 AF020000 */ sw $v0, ($t8) -/* AEC14 80118514 3C02E600 */ lui $v0, %hi(D_E6000008) +/* AEC14 80118514 3C02E600 */ lui $v0, 0xe600 /* AEC18 80118518 AC620000 */ sw $v0, ($v1) /* AEC1C 8011851C AC600004 */ sw $zero, 4($v1) /* AEC20 80118520 8F020000 */ lw $v0, ($t8) /* AEC24 80118524 3484C000 */ ori $a0, $a0, 0xc000 /* AEC28 80118528 0040182D */ daddu $v1, $v0, $zero -/* AEC2C 8011852C 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* AEC2C 8011852C 24420008 */ addiu $v0, $v0, 8 /* AEC30 80118530 AF020000 */ sw $v0, ($t8) /* AEC34 80118534 3C02F000 */ lui $v0, %hi(D_F0000008) /* AEC38 80118538 AC620000 */ sw $v0, ($v1) @@ -362,13 +362,13 @@ glabel func_801180E8 /* AED14 80118614 0040182D */ daddu $v1, $v0, $zero /* AED18 80118618 24420008 */ addiu $v0, $v0, %lo(D_FD100008) /* AED1C 8011861C AF020000 */ sw $v0, ($t8) -/* AED20 80118620 3C02E800 */ lui $v0, %hi(D_E8000008) +/* AED20 80118620 3C02E800 */ lui $v0, 0xe800 /* AED24 80118624 AC620000 */ sw $v0, ($v1) /* AED28 80118628 AC600004 */ sw $zero, 4($v1) /* AED2C 8011862C 8F020000 */ lw $v0, ($t8) /* AED30 80118630 34840100 */ ori $a0, $a0, 0x100 /* AED34 80118634 0040182D */ daddu $v1, $v0, $zero -/* AED38 80118638 24420008 */ addiu $v0, $v0, %lo(D_E8000008) +/* AED38 80118638 24420008 */ addiu $v0, $v0, 8 /* AED3C 8011863C AF020000 */ sw $v0, ($t8) /* AED40 80118640 3C020700 */ lui $v0, 0x700 /* AED44 80118644 AC640000 */ sw $a0, ($v1) @@ -379,13 +379,13 @@ glabel func_801180E8 /* AED54 80118654 0040182D */ daddu $v1, $v0, $zero /* AED58 80118658 24420008 */ addiu $v0, $v0, 8 /* AED5C 8011865C AF020000 */ sw $v0, ($t8) -/* AED60 80118660 3C02E600 */ lui $v0, %hi(D_E6000008) +/* AED60 80118660 3C02E600 */ lui $v0, 0xe600 /* AED64 80118664 AC620000 */ sw $v0, ($v1) /* AED68 80118668 AC600004 */ sw $zero, 4($v1) /* AED6C 8011866C 8F020000 */ lw $v0, ($t8) /* AED70 80118670 3484C000 */ ori $a0, $a0, 0xc000 /* AED74 80118674 0040182D */ daddu $v1, $v0, $zero -/* AED78 80118678 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* AED78 80118678 24420008 */ addiu $v0, $v0, 8 /* AED7C 8011867C AF020000 */ sw $v0, ($t8) /* AED80 80118680 3C02F000 */ lui $v0, %hi(D_F0000008) /* AED84 80118684 AC620000 */ sw $v0, ($v1) @@ -473,14 +473,14 @@ glabel func_801180E8 /* AEEB4 801187B4 0040202D */ daddu $a0, $v0, $zero /* AEEB8 801187B8 24420008 */ addiu $v0, $v0, 8 /* AEEBC 801187BC AF020000 */ sw $v0, ($t8) -/* AEEC0 801187C0 3C02FD10 */ lui $v0, %hi(D_FD100008) +/* AEEC0 801187C0 3C02FD10 */ lui $v0, 0xfd10 /* AEEC4 801187C4 00621025 */ or $v0, $v1, $v0 /* AEEC8 801187C8 AC820000 */ sw $v0, ($a0) /* AEECC 801187CC AC9E0004 */ sw $fp, 4($a0) /* AEED0 801187D0 8F020000 */ lw $v0, ($t8) /* AEED4 801187D4 3C070700 */ lui $a3, 0x700 /* AEED8 801187D8 0040202D */ daddu $a0, $v0, $zero -/* AEEDC 801187DC 24420008 */ addiu $v0, $v0, %lo(D_FD100008) +/* AEEDC 801187DC 24420008 */ addiu $v0, $v0, 8 /* AEEE0 801187E0 AF020000 */ sw $v0, ($t8) /* AEEE4 801187E4 3C02F510 */ lui $v0, 0xf510 /* AEEE8 801187E8 00621825 */ or $v1, $v1, $v0 @@ -502,13 +502,13 @@ glabel func_801180E8 /* AEF28 80118828 0040182D */ daddu $v1, $v0, $zero /* AEF2C 8011882C 24420008 */ addiu $v0, $v0, 8 /* AEF30 80118830 AF020000 */ sw $v0, ($t8) -/* AEF34 80118834 3C02E600 */ lui $v0, %hi(D_E6000008) +/* AEF34 80118834 3C02E600 */ lui $v0, 0xe600 /* AEF38 80118838 AC620000 */ sw $v0, ($v1) /* AEF3C 8011883C AC600004 */ sw $zero, 4($v1) /* AEF40 80118840 8F020000 */ lw $v0, ($t8) /* AEF44 80118844 0320202D */ daddu $a0, $t9, $zero /* AEF48 80118848 0040302D */ daddu $a2, $v0, $zero -/* AEF4C 8011884C 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* AEF4C 8011884C 24420008 */ addiu $v0, $v0, 8 /* AEF50 80118850 AF020000 */ sw $v0, ($t8) /* AEF54 80118854 3C02F300 */ lui $v0, 0xf300 /* AEF58 80118858 07210002 */ bgez $t9, .L80118864 @@ -558,13 +558,13 @@ glabel func_801180E8 /* AEFEC 801188EC 0040182D */ daddu $v1, $v0, $zero /* AEFF0 801188F0 24420008 */ addiu $v0, $v0, 8 /* AEFF4 801188F4 AF020000 */ sw $v0, ($t8) -/* AEFF8 801188F8 3C02E700 */ lui $v0, %hi(D_E7000008) +/* AEFF8 801188F8 3C02E700 */ lui $v0, 0xe700 /* AEFFC 801188FC AC620000 */ sw $v0, ($v1) /* AF000 80118900 AC600004 */ sw $zero, 4($v1) /* AF004 80118904 8F020000 */ lw $v0, ($t8) /* AF008 80118908 3C03F500 */ lui $v1, 0xf500 /* AF00C 8011890C 0040282D */ daddu $a1, $v0, $zero -/* AF010 80118910 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* AF010 80118910 24420008 */ addiu $v0, $v0, 8 /* AF014 80118914 AF020000 */ sw $v0, ($t8) /* AF018 80118918 08046356 */ j .L80118D58 /* AF01C 8011891C 00191043 */ sra $v0, $t9, 1 @@ -575,14 +575,14 @@ glabel func_801180E8 /* AF02C 8011892C 0040202D */ daddu $a0, $v0, $zero /* AF030 80118930 24420008 */ addiu $v0, $v0, 8 /* AF034 80118934 AF020000 */ sw $v0, ($t8) -/* AF038 80118938 3C02FD10 */ lui $v0, %hi(D_FD100008) +/* AF038 80118938 3C02FD10 */ lui $v0, 0xfd10 /* AF03C 8011893C 00621025 */ or $v0, $v1, $v0 /* AF040 80118940 AC820000 */ sw $v0, ($a0) /* AF044 80118944 AC9E0004 */ sw $fp, 4($a0) /* AF048 80118948 8F020000 */ lw $v0, ($t8) /* AF04C 8011894C 3C070700 */ lui $a3, 0x700 /* AF050 80118950 0040202D */ daddu $a0, $v0, $zero -/* AF054 80118954 24420008 */ addiu $v0, $v0, %lo(D_FD100008) +/* AF054 80118954 24420008 */ addiu $v0, $v0, 8 /* AF058 80118958 AF020000 */ sw $v0, ($t8) /* AF05C 8011895C 3C02F510 */ lui $v0, 0xf510 /* AF060 80118960 00621825 */ or $v1, $v1, $v0 @@ -604,13 +604,13 @@ glabel func_801180E8 /* AF0A0 801189A0 0040182D */ daddu $v1, $v0, $zero /* AF0A4 801189A4 24420008 */ addiu $v0, $v0, 8 /* AF0A8 801189A8 AF020000 */ sw $v0, ($t8) -/* AF0AC 801189AC 3C02E600 */ lui $v0, %hi(D_E6000008) +/* AF0AC 801189AC 3C02E600 */ lui $v0, 0xe600 /* AF0B0 801189B0 AC620000 */ sw $v0, ($v1) /* AF0B4 801189B4 AC600004 */ sw $zero, 4($v1) /* AF0B8 801189B8 8F020000 */ lw $v0, ($t8) /* AF0BC 801189BC 0320202D */ daddu $a0, $t9, $zero /* AF0C0 801189C0 0040302D */ daddu $a2, $v0, $zero -/* AF0C4 801189C4 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* AF0C4 801189C4 24420008 */ addiu $v0, $v0, 8 /* AF0C8 801189C8 AF020000 */ sw $v0, ($t8) /* AF0CC 801189CC 3C02F300 */ lui $v0, 0xf300 /* AF0D0 801189D0 07210002 */ bgez $t9, .L801189DC @@ -660,13 +660,13 @@ glabel func_801180E8 /* AF164 80118A64 0040182D */ daddu $v1, $v0, $zero /* AF168 80118A68 24420008 */ addiu $v0, $v0, 8 /* AF16C 80118A6C AF020000 */ sw $v0, ($t8) -/* AF170 80118A70 3C02E700 */ lui $v0, %hi(D_E7000008) +/* AF170 80118A70 3C02E700 */ lui $v0, 0xe700 /* AF174 80118A74 AC620000 */ sw $v0, ($v1) /* AF178 80118A78 AC600004 */ sw $zero, 4($v1) /* AF17C 80118A7C 8F020000 */ lw $v0, ($t8) /* AF180 80118A80 3C03F508 */ lui $v1, 0xf508 /* AF184 80118A84 0040282D */ daddu $a1, $v0, $zero -/* AF188 80118A88 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* AF188 80118A88 24420008 */ addiu $v0, $v0, 8 /* AF18C 80118A8C AF020000 */ sw $v0, ($t8) /* AF190 80118A90 08046357 */ j .L80118D5C /* AF194 80118A94 27220007 */ addiu $v0, $t9, 7 @@ -677,14 +677,14 @@ glabel func_801180E8 /* AF1A4 80118AA4 0040202D */ daddu $a0, $v0, $zero /* AF1A8 80118AA8 24420008 */ addiu $v0, $v0, 8 /* AF1AC 80118AAC AF020000 */ sw $v0, ($t8) -/* AF1B0 80118AB0 3C02FD10 */ lui $v0, %hi(D_FD100008) +/* AF1B0 80118AB0 3C02FD10 */ lui $v0, 0xfd10 /* AF1B4 80118AB4 00621025 */ or $v0, $v1, $v0 /* AF1B8 80118AB8 AC820000 */ sw $v0, ($a0) /* AF1BC 80118ABC AC9E0004 */ sw $fp, 4($a0) /* AF1C0 80118AC0 8F020000 */ lw $v0, ($t8) /* AF1C4 80118AC4 3C070700 */ lui $a3, 0x700 /* AF1C8 80118AC8 0040202D */ daddu $a0, $v0, $zero -/* AF1CC 80118ACC 24420008 */ addiu $v0, $v0, %lo(D_FD100008) +/* AF1CC 80118ACC 24420008 */ addiu $v0, $v0, 8 /* AF1D0 80118AD0 AF020000 */ sw $v0, ($t8) /* AF1D4 80118AD4 3C02F510 */ lui $v0, 0xf510 /* AF1D8 80118AD8 00621825 */ or $v1, $v1, $v0 @@ -706,13 +706,13 @@ glabel func_801180E8 /* AF218 80118B18 0040182D */ daddu $v1, $v0, $zero /* AF21C 80118B1C 24420008 */ addiu $v0, $v0, 8 /* AF220 80118B20 AF020000 */ sw $v0, ($t8) -/* AF224 80118B24 3C02E600 */ lui $v0, %hi(D_E6000008) +/* AF224 80118B24 3C02E600 */ lui $v0, 0xe600 /* AF228 80118B28 AC620000 */ sw $v0, ($v1) /* AF22C 80118B2C AC600004 */ sw $zero, 4($v1) /* AF230 80118B30 8F020000 */ lw $v0, ($t8) /* AF234 80118B34 0320202D */ daddu $a0, $t9, $zero /* AF238 80118B38 0040302D */ daddu $a2, $v0, $zero -/* AF23C 80118B3C 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* AF23C 80118B3C 24420008 */ addiu $v0, $v0, 8 /* AF240 80118B40 AF020000 */ sw $v0, ($t8) /* AF244 80118B44 3C02F300 */ lui $v0, 0xf300 /* AF248 80118B48 07210002 */ bgez $t9, .L80118B54 @@ -773,14 +773,14 @@ glabel func_801180E8 /* AF304 80118C04 0040202D */ daddu $a0, $v0, $zero /* AF308 80118C08 24420008 */ addiu $v0, $v0, 8 /* AF30C 80118C0C AF020000 */ sw $v0, ($t8) -/* AF310 80118C10 3C02FD18 */ lui $v0, %hi(D_FD180008) +/* AF310 80118C10 3C02FD18 */ lui $v0, 0xfd18 /* AF314 80118C14 00621025 */ or $v0, $v1, $v0 /* AF318 80118C18 AC820000 */ sw $v0, ($a0) /* AF31C 80118C1C AC9E0004 */ sw $fp, 4($a0) /* AF320 80118C20 8F020000 */ lw $v0, ($t8) /* AF324 80118C24 3C070700 */ lui $a3, 0x700 /* AF328 80118C28 0040202D */ daddu $a0, $v0, $zero -/* AF32C 80118C2C 24420008 */ addiu $v0, $v0, %lo(D_FD180008) +/* AF32C 80118C2C 24420008 */ addiu $v0, $v0, 8 /* AF330 80118C30 AF020000 */ sw $v0, ($t8) /* AF334 80118C34 3C02F518 */ lui $v0, 0xf518 /* AF338 80118C38 00621825 */ or $v1, $v1, $v0 @@ -803,13 +803,13 @@ glabel func_801180E8 /* AF37C 80118C7C 0040182D */ daddu $v1, $v0, $zero /* AF380 80118C80 24420008 */ addiu $v0, $v0, 8 /* AF384 80118C84 AF020000 */ sw $v0, ($t8) -/* AF388 80118C88 3C02E600 */ lui $v0, %hi(D_E6000008) +/* AF388 80118C88 3C02E600 */ lui $v0, 0xe600 /* AF38C 80118C8C AC620000 */ sw $v0, ($v1) /* AF390 80118C90 AC600004 */ sw $zero, 4($v1) /* AF394 80118C94 8F020000 */ lw $v0, ($t8) /* AF398 80118C98 24030800 */ addiu $v1, $zero, 0x800 /* AF39C 80118C9C 0040302D */ daddu $a2, $v0, $zero -/* AF3A0 80118CA0 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* AF3A0 80118CA0 24420008 */ addiu $v0, $v0, 8 /* AF3A4 80118CA4 AF020000 */ sw $v0, ($t8) /* AF3A8 80118CA8 3C02F300 */ lui $v0, 0xf300 /* AF3AC 80118CAC 18A00002 */ blez $a1, .L80118CB8 @@ -852,14 +852,14 @@ glabel func_801180E8 /* AF428 80118D28 0040182D */ daddu $v1, $v0, $zero /* AF42C 80118D2C 24420008 */ addiu $v0, $v0, 8 /* AF430 80118D30 AF020000 */ sw $v0, ($t8) -/* AF434 80118D34 3C02E700 */ lui $v0, %hi(D_E7000008) +/* AF434 80118D34 3C02E700 */ lui $v0, 0xe700 /* AF438 80118D38 AC620000 */ sw $v0, ($v1) /* AF43C 80118D3C AC600004 */ sw $zero, 4($v1) /* AF440 80118D40 8F020000 */ lw $v0, ($t8) /* AF444 80118D44 3C03F518 */ lui $v1, 0xf518 .L80118D48: /* AF448 80118D48 0040282D */ daddu $a1, $v0, $zero -/* AF44C 80118D4C 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* AF44C 80118D4C 24420008 */ addiu $v0, $v0, 8 /* AF450 80118D50 AF020000 */ sw $v0, ($t8) /* AF454 80118D54 00191040 */ sll $v0, $t9, 1 .L80118D58: @@ -1023,13 +1023,13 @@ glabel func_801180E8 /* AF6A0 80118FA0 0040182D */ daddu $v1, $v0, $zero /* AF6A4 80118FA4 24420008 */ addiu $v0, $v0, 8 /* AF6A8 80118FA8 AF020000 */ sw $v0, ($t8) -/* AF6AC 80118FAC 3C02E600 */ lui $v0, %hi(D_E6000008) +/* AF6AC 80118FAC 3C02E600 */ lui $v0, 0xe600 /* AF6B0 80118FB0 AC620000 */ sw $v0, ($v1) /* AF6B4 80118FB4 AC600004 */ sw $zero, 4($v1) /* AF6B8 80118FB8 8F020000 */ lw $v0, ($t8) /* AF6BC 80118FBC 24C6FFFF */ addiu $a2, $a2, -1 /* AF6C0 80118FC0 0040382D */ daddu $a3, $v0, $zero -/* AF6C4 80118FC4 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* AF6C4 80118FC4 24420008 */ addiu $v0, $v0, 8 /* AF6C8 80118FC8 AF020000 */ sw $v0, ($t8) /* AF6CC 80118FCC 3C02F400 */ lui $v0, 0xf400 /* AF6D0 80118FD0 ACE20000 */ sw $v0, ($a3) @@ -1236,14 +1236,14 @@ glabel func_801180E8 /* AF9C4 801192C4 0040182D */ daddu $v1, $v0, $zero /* AF9C8 801192C8 24420008 */ addiu $v0, $v0, 8 /* AF9CC 801192CC AF020000 */ sw $v0, ($t8) -/* AF9D0 801192D0 3C02F400 */ lui $v0, %hi(D_F4000008) +/* AF9D0 801192D0 3C02F400 */ lui $v0, 0xf400 /* AF9D4 801192D4 AC620000 */ sw $v0, ($v1) /* AF9D8 801192D8 00B71025 */ or $v0, $a1, $s7 /* AF9DC 801192DC 00E21025 */ or $v0, $a3, $v0 /* AF9E0 801192E0 AC620004 */ sw $v0, 4($v1) /* AF9E4 801192E4 8F020000 */ lw $v0, ($t8) /* AF9E8 801192E8 0040182D */ daddu $v1, $v0, $zero -/* AF9EC 801192EC 24420008 */ addiu $v0, $v0, %lo(D_F4000008) +/* AF9EC 801192EC 24420008 */ addiu $v0, $v0, 8 /* AF9F0 801192F0 AF020000 */ sw $v0, ($t8) /* AF9F4 801192F4 3C02E700 */ lui $v0, 0xe700 /* AF9F8 801192F8 AC620000 */ sw $v0, ($v1) @@ -1412,14 +1412,14 @@ glabel func_801180E8 /* AFC5C 8011955C 0040202D */ daddu $a0, $v0, $zero /* AFC60 80119560 24420008 */ addiu $v0, $v0, 8 /* AFC64 80119564 AF020000 */ sw $v0, ($t8) -/* AFC68 80119568 3C02F400 */ lui $v0, %hi(D_F4000008) +/* AFC68 80119568 3C02F400 */ lui $v0, 0xf400 /* AFC6C 8011956C AC820000 */ sw $v0, ($a0) /* AFC70 80119570 00B71025 */ or $v0, $a1, $s7 /* AFC74 80119574 00C21025 */ or $v0, $a2, $v0 /* AFC78 80119578 AC820004 */ sw $v0, 4($a0) /* AFC7C 8011957C 8F020000 */ lw $v0, ($t8) /* AFC80 80119580 0040202D */ daddu $a0, $v0, $zero -/* AFC84 80119584 24420008 */ addiu $v0, $v0, %lo(D_F4000008) +/* AFC84 80119584 24420008 */ addiu $v0, $v0, 8 /* AFC88 80119588 AF020000 */ sw $v0, ($t8) /* AFC8C 8011958C 3C02E700 */ lui $v0, %hi(D_E7000008) /* AFC90 80119590 AC820000 */ sw $v0, ($a0) @@ -1589,14 +1589,14 @@ glabel func_801180E8 /* AFEF8 801197F8 0040202D */ daddu $a0, $v0, $zero /* AFEFC 801197FC 24420008 */ addiu $v0, $v0, 8 /* AFF00 80119800 AF020000 */ sw $v0, ($t8) -/* AFF04 80119804 3C02F400 */ lui $v0, %hi(D_F4000008) +/* AFF04 80119804 3C02F400 */ lui $v0, 0xf400 /* AFF08 80119808 AC820000 */ sw $v0, ($a0) /* AFF0C 8011980C 00B71025 */ or $v0, $a1, $s7 /* AFF10 80119810 00C21025 */ or $v0, $a2, $v0 /* AFF14 80119814 AC820004 */ sw $v0, 4($a0) /* AFF18 80119818 8F020000 */ lw $v0, ($t8) /* AFF1C 8011981C 0040202D */ daddu $a0, $v0, $zero -/* AFF20 80119820 24420008 */ addiu $v0, $v0, %lo(D_F4000008) +/* AFF20 80119820 24420008 */ addiu $v0, $v0, 8 /* AFF24 80119824 AF020000 */ sw $v0, ($t8) /* AFF28 80119828 3C02E700 */ lui $v0, %hi(D_E7000008) /* AFF2C 8011982C AC820000 */ sw $v0, ($a0) @@ -1684,14 +1684,14 @@ glabel func_801180E8 /* B0060 80119960 0040202D */ daddu $a0, $v0, $zero /* B0064 80119964 24420008 */ addiu $v0, $v0, 8 /* B0068 80119968 AF020000 */ sw $v0, ($t8) -/* B006C 8011996C 3C02FD10 */ lui $v0, %hi(D_FD100008) +/* B006C 8011996C 3C02FD10 */ lui $v0, 0xfd10 /* B0070 80119970 00621025 */ or $v0, $v1, $v0 /* B0074 80119974 AC820000 */ sw $v0, ($a0) /* B0078 80119978 AC9E0004 */ sw $fp, 4($a0) /* B007C 8011997C 8F020000 */ lw $v0, ($t8) /* B0080 80119980 3C070700 */ lui $a3, 0x700 /* B0084 80119984 0040202D */ daddu $a0, $v0, $zero -/* B0088 80119988 24420008 */ addiu $v0, $v0, %lo(D_FD100008) +/* B0088 80119988 24420008 */ addiu $v0, $v0, 8 /* B008C 8011998C AF020000 */ sw $v0, ($t8) /* B0090 80119990 3C02F510 */ lui $v0, 0xf510 /* B0094 80119994 00621825 */ or $v1, $v1, $v0 @@ -1713,13 +1713,13 @@ glabel func_801180E8 /* B00D4 801199D4 0040182D */ daddu $v1, $v0, $zero /* B00D8 801199D8 24420008 */ addiu $v0, $v0, 8 /* B00DC 801199DC AF020000 */ sw $v0, ($t8) -/* B00E0 801199E0 3C02E600 */ lui $v0, %hi(D_E6000008) +/* B00E0 801199E0 3C02E600 */ lui $v0, 0xe600 /* B00E4 801199E4 AC620000 */ sw $v0, ($v1) /* B00E8 801199E8 AC600004 */ sw $zero, 4($v1) /* B00EC 801199EC 8F020000 */ lw $v0, ($t8) /* B00F0 801199F0 0320202D */ daddu $a0, $t9, $zero /* B00F4 801199F4 0040302D */ daddu $a2, $v0, $zero -/* B00F8 801199F8 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* B00F8 801199F8 24420008 */ addiu $v0, $v0, 8 /* B00FC 801199FC AF020000 */ sw $v0, ($t8) /* B0100 80119A00 3C02F300 */ lui $v0, 0xf300 /* B0104 80119A04 07210002 */ bgez $t9, .L80119A10 @@ -1778,13 +1778,13 @@ glabel func_801180E8 /* B01BC 80119ABC 0040182D */ daddu $v1, $v0, $zero /* B01C0 80119AC0 24420008 */ addiu $v0, $v0, 8 /* B01C4 80119AC4 AF020000 */ sw $v0, ($t8) -/* B01C8 80119AC8 3C02E700 */ lui $v0, %hi(D_E7000008) +/* B01C8 80119AC8 3C02E700 */ lui $v0, 0xe700 /* B01CC 80119ACC AC620000 */ sw $v0, ($v1) /* B01D0 80119AD0 AC600004 */ sw $zero, 4($v1) /* B01D4 80119AD4 8F020000 */ lw $v0, ($t8) /* B01D8 80119AD8 3C03F500 */ lui $v1, 0xf500 /* B01DC 80119ADC 0040282D */ daddu $a1, $v0, $zero -/* B01E0 80119AE0 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* B01E0 80119AE0 24420008 */ addiu $v0, $v0, 8 /* B01E4 80119AE4 AF020000 */ sw $v0, ($t8) /* B01E8 80119AE8 00191043 */ sra $v0, $t9, 1 /* B01EC 80119AEC 24420007 */ addiu $v0, $v0, 7 @@ -1830,14 +1830,14 @@ glabel func_801180E8 /* B0288 80119B88 0040202D */ daddu $a0, $v0, $zero /* B028C 80119B8C 24420008 */ addiu $v0, $v0, 8 /* B0290 80119B90 AF020000 */ sw $v0, ($t8) -/* B0294 80119B94 3C02FD10 */ lui $v0, %hi(D_FD100008) +/* B0294 80119B94 3C02FD10 */ lui $v0, 0xfd10 /* B0298 80119B98 00621025 */ or $v0, $v1, $v0 /* B029C 80119B9C AC820000 */ sw $v0, ($a0) /* B02A0 80119BA0 AC9E0004 */ sw $fp, 4($a0) /* B02A4 80119BA4 8F020000 */ lw $v0, ($t8) /* B02A8 80119BA8 3C070700 */ lui $a3, 0x700 /* B02AC 80119BAC 0040202D */ daddu $a0, $v0, $zero -/* B02B0 80119BB0 24420008 */ addiu $v0, $v0, %lo(D_FD100008) +/* B02B0 80119BB0 24420008 */ addiu $v0, $v0, 8 /* B02B4 80119BB4 AF020000 */ sw $v0, ($t8) /* B02B8 80119BB8 3C02F510 */ lui $v0, 0xf510 /* B02BC 80119BBC 00621825 */ or $v1, $v1, $v0 @@ -1859,13 +1859,13 @@ glabel func_801180E8 /* B02FC 80119BFC 0040182D */ daddu $v1, $v0, $zero /* B0300 80119C00 24420008 */ addiu $v0, $v0, 8 /* B0304 80119C04 AF020000 */ sw $v0, ($t8) -/* B0308 80119C08 3C02E600 */ lui $v0, %hi(D_E6000008) +/* B0308 80119C08 3C02E600 */ lui $v0, 0xe600 /* B030C 80119C0C AC620000 */ sw $v0, ($v1) /* B0310 80119C10 AC600004 */ sw $zero, 4($v1) /* B0314 80119C14 8F020000 */ lw $v0, ($t8) /* B0318 80119C18 0320202D */ daddu $a0, $t9, $zero /* B031C 80119C1C 0040302D */ daddu $a2, $v0, $zero -/* B0320 80119C20 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* B0320 80119C20 24420008 */ addiu $v0, $v0, 8 /* B0324 80119C24 AF020000 */ sw $v0, ($t8) /* B0328 80119C28 3C02F300 */ lui $v0, 0xf300 /* B032C 80119C2C 07210002 */ bgez $t9, .L80119C38 @@ -1924,13 +1924,13 @@ glabel func_801180E8 /* B03E4 80119CE4 0040182D */ daddu $v1, $v0, $zero /* B03E8 80119CE8 24420008 */ addiu $v0, $v0, 8 /* B03EC 80119CEC AF020000 */ sw $v0, ($t8) -/* B03F0 80119CF0 3C02E700 */ lui $v0, %hi(D_E7000008) +/* B03F0 80119CF0 3C02E700 */ lui $v0, 0xe700 /* B03F4 80119CF4 AC620000 */ sw $v0, ($v1) /* B03F8 80119CF8 AC600004 */ sw $zero, 4($v1) /* B03FC 80119CFC 8F020000 */ lw $v0, ($t8) /* B0400 80119D00 3C03F508 */ lui $v1, 0xf508 /* B0404 80119D04 0040282D */ daddu $a1, $v0, $zero -/* B0408 80119D08 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* B0408 80119D08 24420008 */ addiu $v0, $v0, 8 /* B040C 80119D0C AF020000 */ sw $v0, ($t8) /* B0410 80119D10 27220007 */ addiu $v0, $t9, 7 /* B0414 80119D14 000210C3 */ sra $v0, $v0, 3 @@ -1975,14 +1975,14 @@ glabel func_801180E8 /* B04AC 80119DAC 0040202D */ daddu $a0, $v0, $zero /* B04B0 80119DB0 24420008 */ addiu $v0, $v0, 8 /* B04B4 80119DB4 AF020000 */ sw $v0, ($t8) -/* B04B8 80119DB8 3C02FD10 */ lui $v0, %hi(D_FD100008) +/* B04B8 80119DB8 3C02FD10 */ lui $v0, 0xfd10 /* B04BC 80119DBC 00621025 */ or $v0, $v1, $v0 /* B04C0 80119DC0 AC820000 */ sw $v0, ($a0) /* B04C4 80119DC4 AC9E0004 */ sw $fp, 4($a0) /* B04C8 80119DC8 8F020000 */ lw $v0, ($t8) /* B04CC 80119DCC 3C070700 */ lui $a3, 0x700 /* B04D0 80119DD0 0040202D */ daddu $a0, $v0, $zero -/* B04D4 80119DD4 24420008 */ addiu $v0, $v0, %lo(D_FD100008) +/* B04D4 80119DD4 24420008 */ addiu $v0, $v0, 8 /* B04D8 80119DD8 AF020000 */ sw $v0, ($t8) /* B04DC 80119DDC 3C02F510 */ lui $v0, 0xf510 /* B04E0 80119DE0 00621825 */ or $v1, $v1, $v0 @@ -2004,13 +2004,13 @@ glabel func_801180E8 /* B0520 80119E20 0040182D */ daddu $v1, $v0, $zero /* B0524 80119E24 24420008 */ addiu $v0, $v0, 8 /* B0528 80119E28 AF020000 */ sw $v0, ($t8) -/* B052C 80119E2C 3C02E600 */ lui $v0, %hi(D_E6000008) +/* B052C 80119E2C 3C02E600 */ lui $v0, 0xe600 /* B0530 80119E30 AC620000 */ sw $v0, ($v1) /* B0534 80119E34 AC600004 */ sw $zero, 4($v1) /* B0538 80119E38 8F020000 */ lw $v0, ($t8) /* B053C 80119E3C 0320202D */ daddu $a0, $t9, $zero /* B0540 80119E40 0040302D */ daddu $a2, $v0, $zero -/* B0544 80119E44 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* B0544 80119E44 24420008 */ addiu $v0, $v0, 8 /* B0548 80119E48 AF020000 */ sw $v0, ($t8) /* B054C 80119E4C 3C02F300 */ lui $v0, 0xf300 /* B0550 80119E50 07210002 */ bgez $t9, .L80119E5C @@ -2080,14 +2080,14 @@ glabel func_801180E8 /* B0630 80119F30 0040202D */ daddu $a0, $v0, $zero /* B0634 80119F34 24420008 */ addiu $v0, $v0, 8 /* B0638 80119F38 AF020000 */ sw $v0, ($t8) -/* B063C 80119F3C 3C02FD18 */ lui $v0, %hi(D_FD180008) +/* B063C 80119F3C 3C02FD18 */ lui $v0, 0xfd18 /* B0640 80119F40 00621025 */ or $v0, $v1, $v0 /* B0644 80119F44 AC820000 */ sw $v0, ($a0) /* B0648 80119F48 AC9E0004 */ sw $fp, 4($a0) /* B064C 80119F4C 8F020000 */ lw $v0, ($t8) /* B0650 80119F50 3C070700 */ lui $a3, 0x700 /* B0654 80119F54 0040202D */ daddu $a0, $v0, $zero -/* B0658 80119F58 24420008 */ addiu $v0, $v0, %lo(D_FD180008) +/* B0658 80119F58 24420008 */ addiu $v0, $v0, 8 /* B065C 80119F5C AF020000 */ sw $v0, ($t8) /* B0660 80119F60 3C02F518 */ lui $v0, 0xf518 /* B0664 80119F64 00621825 */ or $v1, $v1, $v0 @@ -2110,13 +2110,13 @@ glabel func_801180E8 /* B06A8 80119FA8 0040182D */ daddu $v1, $v0, $zero /* B06AC 80119FAC 24420008 */ addiu $v0, $v0, 8 /* B06B0 80119FB0 AF020000 */ sw $v0, ($t8) -/* B06B4 80119FB4 3C02E600 */ lui $v0, %hi(D_E6000008) +/* B06B4 80119FB4 3C02E600 */ lui $v0, 0xe600 /* B06B8 80119FB8 AC620000 */ sw $v0, ($v1) /* B06BC 80119FBC AC600004 */ sw $zero, 4($v1) /* B06C0 80119FC0 8F020000 */ lw $v0, ($t8) /* B06C4 80119FC4 24030800 */ addiu $v1, $zero, 0x800 /* B06C8 80119FC8 0040302D */ daddu $a2, $v0, $zero -/* B06CC 80119FCC 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* B06CC 80119FCC 24420008 */ addiu $v0, $v0, 8 /* B06D0 80119FD0 AF020000 */ sw $v0, ($t8) /* B06D4 80119FD4 3C02F300 */ lui $v0, 0xf300 /* B06D8 80119FD8 18A00002 */ blez $a1, .L80119FE4 @@ -2168,14 +2168,14 @@ glabel func_801180E8 /* B0778 8011A078 0040182D */ daddu $v1, $v0, $zero /* B077C 8011A07C 24420008 */ addiu $v0, $v0, 8 /* B0780 8011A080 AF020000 */ sw $v0, ($t8) -/* B0784 8011A084 3C02E700 */ lui $v0, %hi(D_E7000008) +/* B0784 8011A084 3C02E700 */ lui $v0, 0xe700 /* B0788 8011A088 AC620000 */ sw $v0, ($v1) /* B078C 8011A08C AC600004 */ sw $zero, 4($v1) /* B0790 8011A090 8F020000 */ lw $v0, ($t8) /* B0794 8011A094 3C03F518 */ lui $v1, 0xf518 .L8011A098: /* B0798 8011A098 0040282D */ daddu $a1, $v0, $zero -/* B079C 8011A09C 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* B079C 8011A09C 24420008 */ addiu $v0, $v0, 8 /* B07A0 8011A0A0 AF020000 */ sw $v0, ($t8) /* B07A4 8011A0A4 00191040 */ sll $v0, $t9, 1 /* B07A8 8011A0A8 24420007 */ addiu $v0, $v0, 7 @@ -2332,14 +2332,14 @@ glabel func_801180E8 /* B09F0 8011A2F0 0040202D */ daddu $a0, $v0, $zero /* B09F4 8011A2F4 24420008 */ addiu $v0, $v0, 8 /* B09F8 8011A2F8 AF020000 */ sw $v0, ($t8) -/* B09FC 8011A2FC 3C02E600 */ lui $v0, %hi(D_E6000008) +/* B09FC 8011A2FC 3C02E600 */ lui $v0, 0xe600 /* B0A00 8011A300 AC820000 */ sw $v0, ($a0) /* B0A04 8011A304 AC800004 */ sw $zero, 4($a0) /* B0A08 8011A308 2724FFFF */ addiu $a0, $t9, -1 /* B0A0C 8011A30C 8F020000 */ lw $v0, ($t8) /* B0A10 8011A310 00008012 */ mflo $s0 /* B0A14 8011A314 0040502D */ daddu $t2, $v0, $zero -/* B0A18 8011A318 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* B0A18 8011A318 24420008 */ addiu $v0, $v0, 8 /* B0A1C 8011A31C AF020000 */ sw $v0, ($t8) /* B0A20 8011A320 3C02F400 */ lui $v0, 0xf400 /* B0A24 8011A324 AD420000 */ sw $v0, ($t2) @@ -2355,13 +2355,13 @@ glabel func_801180E8 /* B0A4C 8011A34C 0040302D */ daddu $a2, $v0, $zero /* B0A50 8011A350 24420008 */ addiu $v0, $v0, 8 /* B0A54 8011A354 AF020000 */ sw $v0, ($t8) -/* B0A58 8011A358 3C02E700 */ lui $v0, %hi(D_E7000008) +/* B0A58 8011A358 3C02E700 */ lui $v0, 0xe700 /* B0A5C 8011A35C ACC20000 */ sw $v0, ($a2) /* B0A60 8011A360 ACC00004 */ sw $zero, 4($a2) /* B0A64 8011A364 8F020000 */ lw $v0, ($t8) /* B0A68 8011A368 00872025 */ or $a0, $a0, $a3 /* B0A6C 8011A36C 0040302D */ daddu $a2, $v0, $zero -/* B0A70 8011A370 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* B0A70 8011A370 24420008 */ addiu $v0, $v0, 8 /* B0A74 8011A374 AF020000 */ sw $v0, ($t8) /* B0A78 8011A378 3C02F500 */ lui $v0, %hi(D_F5000007) /* B0A7C 8011A37C 00A22825 */ or $a1, $a1, $v0 @@ -2434,29 +2434,29 @@ glabel func_801180E8 /* B0B84 8011A484 0040202D */ daddu $a0, $v0, $zero /* B0B88 8011A488 24420008 */ addiu $v0, $v0, 8 /* B0B8C 8011A48C AF020000 */ sw $v0, ($t8) -/* B0B90 8011A490 3C02E600 */ lui $v0, %hi(D_E6000008) +/* B0B90 8011A490 3C02E600 */ lui $v0, 0xe600 /* B0B94 8011A494 AC820000 */ sw $v0, ($a0) /* B0B98 8011A498 AC800004 */ sw $zero, 4($a0) /* B0B9C 8011A49C 8F020000 */ lw $v0, ($t8) /* B0BA0 8011A4A0 006A1825 */ or $v1, $v1, $t2 /* B0BA4 8011A4A4 0040202D */ daddu $a0, $v0, $zero -/* B0BA8 8011A4A8 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* B0BA8 8011A4A8 24420008 */ addiu $v0, $v0, 8 /* B0BAC 8011A4AC AF020000 */ sw $v0, ($t8) -/* B0BB0 8011A4B0 3C02F400 */ lui $v0, %hi(D_F4000008) +/* B0BB0 8011A4B0 3C02F400 */ lui $v0, 0xf400 /* B0BB4 8011A4B4 AC820000 */ sw $v0, ($a0) /* B0BB8 8011A4B8 AC850004 */ sw $a1, 4($a0) /* B0BBC 8011A4BC 8F020000 */ lw $v0, ($t8) /* B0BC0 8011A4C0 00C73025 */ or $a2, $a2, $a3 /* B0BC4 8011A4C4 0040202D */ daddu $a0, $v0, $zero -/* B0BC8 8011A4C8 24420008 */ addiu $v0, $v0, %lo(D_F4000008) +/* B0BC8 8011A4C8 24420008 */ addiu $v0, $v0, 8 /* B0BCC 8011A4CC AF020000 */ sw $v0, ($t8) -/* B0BD0 8011A4D0 3C02E700 */ lui $v0, %hi(D_E7000008) +/* B0BD0 8011A4D0 3C02E700 */ lui $v0, 0xe700 /* B0BD4 8011A4D4 AC820000 */ sw $v0, ($a0) /* B0BD8 8011A4D8 AC800004 */ sw $zero, 4($a0) /* B0BDC 8011A4DC 8F020000 */ lw $v0, ($t8) /* B0BE0 8011A4E0 00008012 */ mflo $s0 /* B0BE4 8011A4E4 0040202D */ daddu $a0, $v0, $zero -/* B0BE8 8011A4E8 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* B0BE8 8011A4E8 24420008 */ addiu $v0, $v0, 8 /* B0BEC 8011A4EC AF020000 */ sw $v0, ($t8) /* B0BF0 8011A4F0 AC830004 */ sw $v1, 4($a0) /* B0BF4 8011A4F4 26030007 */ addiu $v1, $s0, 7 @@ -2523,29 +2523,29 @@ glabel func_801180E8 /* B0CE4 8011A5E4 0040202D */ daddu $a0, $v0, $zero /* B0CE8 8011A5E8 24420008 */ addiu $v0, $v0, 8 /* B0CEC 8011A5EC AF020000 */ sw $v0, ($t8) -/* B0CF0 8011A5F0 3C02E600 */ lui $v0, %hi(D_E6000008) +/* B0CF0 8011A5F0 3C02E600 */ lui $v0, 0xe600 /* B0CF4 8011A5F4 AC820000 */ sw $v0, ($a0) /* B0CF8 8011A5F8 AC800004 */ sw $zero, 4($a0) /* B0CFC 8011A5FC 8F020000 */ lw $v0, ($t8) /* B0D00 8011A600 006A1825 */ or $v1, $v1, $t2 /* B0D04 8011A604 0040202D */ daddu $a0, $v0, $zero -/* B0D08 8011A608 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* B0D08 8011A608 24420008 */ addiu $v0, $v0, 8 /* B0D0C 8011A60C AF020000 */ sw $v0, ($t8) -/* B0D10 8011A610 3C02F400 */ lui $v0, %hi(D_F4000008) +/* B0D10 8011A610 3C02F400 */ lui $v0, 0xf400 /* B0D14 8011A614 AC820000 */ sw $v0, ($a0) /* B0D18 8011A618 AC850004 */ sw $a1, 4($a0) /* B0D1C 8011A61C 8F020000 */ lw $v0, ($t8) /* B0D20 8011A620 00C73025 */ or $a2, $a2, $a3 /* B0D24 8011A624 0040202D */ daddu $a0, $v0, $zero -/* B0D28 8011A628 24420008 */ addiu $v0, $v0, %lo(D_F4000008) +/* B0D28 8011A628 24420008 */ addiu $v0, $v0, 8 /* B0D2C 8011A62C AF020000 */ sw $v0, ($t8) -/* B0D30 8011A630 3C02E700 */ lui $v0, %hi(D_E7000008) +/* B0D30 8011A630 3C02E700 */ lui $v0, 0xe700 /* B0D34 8011A634 AC820000 */ sw $v0, ($a0) /* B0D38 8011A638 AC800004 */ sw $zero, 4($a0) /* B0D3C 8011A63C 8F020000 */ lw $v0, ($t8) /* B0D40 8011A640 00008012 */ mflo $s0 /* B0D44 8011A644 0040202D */ daddu $a0, $v0, $zero -/* B0D48 8011A648 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* B0D48 8011A648 24420008 */ addiu $v0, $v0, 8 /* B0D4C 8011A64C AF020000 */ sw $v0, ($t8) /* B0D50 8011A650 00101040 */ sll $v0, $s0, 1 /* B0D54 8011A654 24420007 */ addiu $v0, $v0, 7 @@ -2613,29 +2613,29 @@ glabel func_801180E8 /* B0E48 8011A748 0040202D */ daddu $a0, $v0, $zero /* B0E4C 8011A74C 24420008 */ addiu $v0, $v0, 8 /* B0E50 8011A750 AF020000 */ sw $v0, ($t8) -/* B0E54 8011A754 3C02E600 */ lui $v0, %hi(D_E6000008) +/* B0E54 8011A754 3C02E600 */ lui $v0, 0xe600 /* B0E58 8011A758 AC820000 */ sw $v0, ($a0) /* B0E5C 8011A75C AC800004 */ sw $zero, 4($a0) /* B0E60 8011A760 8F020000 */ lw $v0, ($t8) /* B0E64 8011A764 00691825 */ or $v1, $v1, $t1 /* B0E68 8011A768 0040202D */ daddu $a0, $v0, $zero -/* B0E6C 8011A76C 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* B0E6C 8011A76C 24420008 */ addiu $v0, $v0, 8 /* B0E70 8011A770 AF020000 */ sw $v0, ($t8) -/* B0E74 8011A774 3C02F400 */ lui $v0, %hi(D_F4000008) +/* B0E74 8011A774 3C02F400 */ lui $v0, 0xf400 /* B0E78 8011A778 AC820000 */ sw $v0, ($a0) /* B0E7C 8011A77C AC850004 */ sw $a1, 4($a0) /* B0E80 8011A780 8F020000 */ lw $v0, ($t8) /* B0E84 8011A784 006A1825 */ or $v1, $v1, $t2 /* B0E88 8011A788 0040202D */ daddu $a0, $v0, $zero -/* B0E8C 8011A78C 24420008 */ addiu $v0, $v0, %lo(D_F4000008) +/* B0E8C 8011A78C 24420008 */ addiu $v0, $v0, 8 /* B0E90 8011A790 AF020000 */ sw $v0, ($t8) -/* B0E94 8011A794 3C02E700 */ lui $v0, %hi(D_E7000008) +/* B0E94 8011A794 3C02E700 */ lui $v0, 0xe700 /* B0E98 8011A798 AC820000 */ sw $v0, ($a0) /* B0E9C 8011A79C AC800004 */ sw $zero, 4($a0) /* B0EA0 8011A7A0 8F020000 */ lw $v0, ($t8) /* B0EA4 8011A7A4 00C73025 */ or $a2, $a2, $a3 /* B0EA8 8011A7A8 0040202D */ daddu $a0, $v0, $zero -/* B0EAC 8011A7AC 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* B0EAC 8011A7AC 24420008 */ addiu $v0, $v0, 8 /* B0EB0 8011A7B0 AF020000 */ sw $v0, ($t8) /* B0EB4 8011A7B4 00001012 */ mflo $v0 /* B0EB8 8011A7B8 AC830004 */ sw $v1, 4($a0) @@ -2757,13 +2757,13 @@ glabel func_801180E8 /* B1078 8011A978 0040182D */ daddu $v1, $v0, $zero /* B107C 8011A97C 24420008 */ addiu $v0, $v0, 8 /* B1080 8011A980 AF020000 */ sw $v0, ($t8) -/* B1084 8011A984 3C02E700 */ lui $v0, %hi(D_E7000008) +/* B1084 8011A984 3C02E700 */ lui $v0, 0xe700 /* B1088 8011A988 AC620000 */ sw $v0, ($v1) /* B108C 8011A98C AC600004 */ sw $zero, 4($v1) /* B1090 8011A990 8F020000 */ lw $v0, ($t8) /* B1094 8011A994 010C4025 */ or $t0, $t0, $t4 /* B1098 8011A998 0040182D */ daddu $v1, $v0, $zero -/* B109C 8011A99C 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* B109C 8011A99C 24420008 */ addiu $v0, $v0, 8 /* B10A0 8011A9A0 AF020000 */ sw $v0, ($t8) /* B10A4 8011A9A4 3C02F500 */ lui $v0, 0xf500 /* B10A8 8011A9A8 00822025 */ or $a0, $a0, $v0 @@ -2908,13 +2908,13 @@ glabel func_801180E8 /* B12C0 8011ABC0 0040182D */ daddu $v1, $v0, $zero /* B12C4 8011ABC4 24420008 */ addiu $v0, $v0, 8 /* B12C8 8011ABC8 AF020000 */ sw $v0, ($t8) -/* B12CC 8011ABCC 3C02E600 */ lui $v0, %hi(D_E6000008) +/* B12CC 8011ABCC 3C02E600 */ lui $v0, 0xe600 /* B12D0 8011ABD0 AC620000 */ sw $v0, ($v1) /* B12D4 8011ABD4 AC600004 */ sw $zero, 4($v1) /* B12D8 8011ABD8 8F020000 */ lw $v0, ($t8) /* B12DC 8011ABDC 30C30FFF */ andi $v1, $a2, 0xfff /* B12E0 8011ABE0 0040402D */ daddu $t0, $v0, $zero -/* B12E4 8011ABE4 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* B12E4 8011ABE4 24420008 */ addiu $v0, $v0, 8 /* B12E8 8011ABE8 AF020000 */ sw $v0, ($t8) /* B12EC 8011ABEC 3C02F400 */ lui $v0, 0xf400 /* B12F0 8011ABF0 AD020000 */ sw $v0, ($t0) @@ -2930,13 +2930,13 @@ glabel func_801180E8 /* B1318 8011AC18 0040182D */ daddu $v1, $v0, $zero /* B131C 8011AC1C 24420008 */ addiu $v0, $v0, 8 /* B1320 8011AC20 AF020000 */ sw $v0, ($t8) -/* B1324 8011AC24 3C02E700 */ lui $v0, %hi(D_E7000008) +/* B1324 8011AC24 3C02E700 */ lui $v0, 0xe700 /* B1328 8011AC28 AC620000 */ sw $v0, ($v1) /* B132C 8011AC2C AC600004 */ sw $zero, 4($v1) /* B1330 8011AC30 8F020000 */ lw $v0, ($t8) /* B1334 8011AC34 3C0B0100 */ lui $t3, 0x100 /* B1338 8011AC38 0040182D */ daddu $v1, $v0, $zero -/* B133C 8011AC3C 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* B133C 8011AC3C 24420008 */ addiu $v0, $v0, 8 /* B1340 8011AC40 AF020000 */ sw $v0, ($t8) /* B1344 8011AC44 AC640000 */ sw $a0, ($v1) /* B1348 8011AC48 8FB50030 */ lw $s5, 0x30($sp) diff --git a/asm/nonmatchings/code_b72b0_len_15ed0/func_80121184.s b/asm/nonmatchings/code_b72b0_len_15ed0/func_80121184.s index 339f9f8685..be22b8f2c0 100644 --- a/asm/nonmatchings/code_b72b0_len_15ed0/func_80121184.s +++ b/asm/nonmatchings/code_b72b0_len_15ed0/func_80121184.s @@ -668,14 +668,14 @@ glabel func_80121184 /* B8298 80121B98 AD850010 */ sw $a1, 0x10($t4) /* B829C 80121B9C AD840014 */ sw $a0, 0x14($t4) /* B82A0 80121BA0 ADA20000 */ sw $v0, ($t5) -/* B82A4 80121BA4 3C02DB02 */ lui $v0, %hi(D_DB01C270) +/* B82A4 80121BA4 3C02DB02 */ lui $v0, 0xdb02 /* B82A8 80121BA8 AD820018 */ sw $v0, 0x18($t4) /* B82AC 80121BAC 24020018 */ addiu $v0, $zero, 0x18 /* B82B0 80121BB0 AD82001C */ sw $v0, 0x1c($t4) /* B82B4 80121BB4 25820028 */ addiu $v0, $t4, 0x28 /* B82B8 80121BB8 ADA20000 */ sw $v0, ($t5) /* B82BC 80121BBC 3C028015 */ lui $v0, %hi(D_8014C270) -/* B82C0 80121BC0 2442C270 */ addiu $v0, $v0, %lo(D_DB01C270) +/* B82C0 80121BC0 2442C270 */ addiu $v0, $v0, %lo(D_8014C270) /* B82C4 80121BC4 AD820024 */ sw $v0, 0x24($t4) /* B82C8 80121BC8 2442FFF8 */ addiu $v0, $v0, -8 /* B82CC 80121BCC AD82002C */ sw $v0, 0x2c($t4) diff --git a/asm/nonmatchings/code_b72b0_len_15ed0/func_80122288.s b/asm/nonmatchings/code_b72b0_len_15ed0/func_80122288.s index 2b41f3c5f4..61c1a0797a 100644 --- a/asm/nonmatchings/code_b72b0_len_15ed0/func_80122288.s +++ b/asm/nonmatchings/code_b72b0_len_15ed0/func_80122288.s @@ -640,14 +640,14 @@ glabel func_80122288 /* B932C 80122C2C AD850010 */ sw $a1, 0x10($t4) /* B9330 80122C30 AD840014 */ sw $a0, 0x14($t4) /* B9334 80122C34 ADA20000 */ sw $v0, ($t5) -/* B9338 80122C38 3C02DB02 */ lui $v0, %hi(D_DB01C270) +/* B9338 80122C38 3C02DB02 */ lui $v0, 0xdb02 /* B933C 80122C3C AD820018 */ sw $v0, 0x18($t4) /* B9340 80122C40 24020018 */ addiu $v0, $zero, 0x18 /* B9344 80122C44 AD82001C */ sw $v0, 0x1c($t4) /* B9348 80122C48 25820028 */ addiu $v0, $t4, 0x28 /* B934C 80122C4C ADA20000 */ sw $v0, ($t5) /* B9350 80122C50 3C028015 */ lui $v0, %hi(D_8014C270) -/* B9354 80122C54 2442C270 */ addiu $v0, $v0, %lo(D_DB01C270) +/* B9354 80122C54 2442C270 */ addiu $v0, $v0, %lo(D_8014C270) /* B9358 80122C58 AD820024 */ sw $v0, 0x24($t4) /* B935C 80122C5C 2442FFF8 */ addiu $v0, $v0, -8 /* B9360 80122C60 AD82002C */ sw $v0, 0x2c($t4) diff --git a/asm/nonmatchings/code_b72b0_len_15ed0/func_80126790.s b/asm/nonmatchings/code_b72b0_len_15ed0/func_80126790.s index 833763d078..565441a2e2 100644 --- a/asm/nonmatchings/code_b72b0_len_15ed0/func_80126790.s +++ b/asm/nonmatchings/code_b72b0_len_15ed0/func_80126790.s @@ -377,13 +377,13 @@ glabel func_80126790 /* BD42C 80126D2C 8E240000 */ lw $a0, ($s1) /* BD430 80126D30 00721821 */ addu $v1, $v1, $s2 /* BD434 80126D34 00832021 */ addu $a0, $a0, $v1 -/* BD438 80126D38 3C038000 */ lui $v1, %hi(D_7FFFD690) +/* BD438 80126D38 3C038000 */ lui $v1, 0x8000 /* BD43C 80126D3C 00832021 */ addu $a0, $a0, $v1 /* BD440 80126D40 24430008 */ addiu $v1, $v0, 8 /* BD444 80126D44 ACC40004 */ sw $a0, 4($a2) /* BD448 80126D48 ACA30000 */ sw $v1, ($a1) /* BD44C 80126D4C 3C03802F */ lui $v1, %hi(D_802ED690) -/* BD450 80126D50 2463D690 */ addiu $v1, $v1, %lo(D_7FFFD690) +/* BD450 80126D50 2463D690 */ addiu $v1, $v1, %lo(D_802ED690) /* BD454 80126D54 AC430004 */ sw $v1, 4($v0) /* BD458 80126D58 24430010 */ addiu $v1, $v0, 0x10 /* BD45C 80126D5C AC470000 */ sw $a3, ($v0) diff --git a/asm/nonmatchings/code_b72b0_len_15ed0/func_80127D90.s b/asm/nonmatchings/code_b72b0_len_15ed0/func_80127D90.s index 75b9331d35..c7e218614a 100644 --- a/asm/nonmatchings/code_b72b0_len_15ed0/func_80127D90.s +++ b/asm/nonmatchings/code_b72b0_len_15ed0/func_80127D90.s @@ -2790,14 +2790,14 @@ glabel func_80127D90 /* C0ECC 8012A7CC 00A0382D */ daddu $a3, $a1, $zero /* C0ED0 8012A7D0 00431025 */ or $v0, $v0, $v1 /* C0ED4 8012A7D4 ACC20038 */ sw $v0, 0x38($a2) -/* C0ED8 8012A7D8 3C02FB00 */ lui $v0, %hi(D_FB000002) +/* C0ED8 8012A7D8 3C02FB00 */ lui $v0, 0xfb00 /* C0EDC 8012A7DC ACE20000 */ sw $v0, ($a3) /* C0EE0 8012A7E0 8CC20020 */ lw $v0, 0x20($a2) /* C0EE4 8012A7E4 8CC3004C */ lw $v1, 0x4c($a2) /* C0EE8 8012A7E8 24A50008 */ addiu $a1, $a1, 8 /* C0EEC 8012A7EC AEE50000 */ sw $a1, ($s7) /* C0EF0 8012A7F0 00431021 */ addu $v0, $v0, $v1 -/* C0EF4 8012A7F4 90440002 */ lbu $a0, %lo(D_FB000002)($v0) +/* C0EF4 8012A7F4 90440002 */ lbu $a0, 2($v0) /* C0EF8 8012A7F8 3508F279 */ ori $t0, $t0, 0xf279 /* C0EFC 8012A7FC 00041E00 */ sll $v1, $a0, 0x18 /* C0F00 8012A800 00041400 */ sll $v0, $a0, 0x10 diff --git a/asm/nonmatchings/code_b72b0_len_15ed0/func_8012DB58.s b/asm/nonmatchings/code_b72b0_len_15ed0/func_8012DB58.s index b4e04045ce..882ab9ff4f 100644 --- a/asm/nonmatchings/code_b72b0_len_15ed0/func_8012DB58.s +++ b/asm/nonmatchings/code_b72b0_len_15ed0/func_8012DB58.s @@ -249,13 +249,13 @@ glabel func_8012DB58 /* C45F0 8012DEF0 254AA66C */ addiu $t2, $t2, %lo(D_8009A66C) /* C45F4 8012DEF4 3508C0FC */ ori $t0, $t0, 0xc0fc /* C45F8 8012DEF8 8D490000 */ lw $t1, ($t2) -/* C45FC 8012DEFC 3C02FD90 */ lui $v0, %hi(D_FD8FCD50) +/* C45FC 8012DEFC 3C02FD90 */ lui $v0, 0xfd90 /* C4600 8012DF00 0120182D */ daddu $v1, $t1, $zero /* C4604 8012DF04 25290008 */ addiu $t1, $t1, 8 /* C4608 8012DF08 AD490000 */ sw $t1, ($t2) /* C460C 8012DF0C AC620000 */ sw $v0, ($v1) /* C4610 8012DF10 3C02802F */ lui $v0, %hi(D_802ECD50) -/* C4614 8012DF14 2442CD50 */ addiu $v0, $v0, %lo(D_FD8FCD50) +/* C4614 8012DF14 2442CD50 */ addiu $v0, $v0, %lo(D_802ECD50) /* C4618 8012DF18 AC620004 */ sw $v0, 4($v1) /* C461C 8012DF1C 25220008 */ addiu $v0, $t1, 8 /* C4620 8012DF20 AD420000 */ sw $v0, ($t2) diff --git a/asm/nonmatchings/code_b72b0_len_15ed0/func_8012E9A0.s b/asm/nonmatchings/code_b72b0_len_15ed0/func_8012E9A0.s index 1a8c024bf1..cfd8617f7e 100644 --- a/asm/nonmatchings/code_b72b0_len_15ed0/func_8012E9A0.s +++ b/asm/nonmatchings/code_b72b0_len_15ed0/func_8012E9A0.s @@ -97,14 +97,14 @@ glabel func_8012E9A0 .L8012EB08: /* C5208 8012EB08 24020002 */ addiu $v0, $zero, 2 /* C520C 8012EB0C 16020034 */ bne $s0, $v0, .L8012EBE0 -/* C5210 8012EB10 3C05E300 */ lui $a1, %hi(D_E3000008) +/* C5210 8012EB10 3C05E300 */ lui $a1, 0xe300 /* C5214 8012EB14 3C02E300 */ lui $v0, 0xe300 /* C5218 8012EB18 3C06800A */ lui $a2, %hi(D_8009A66C) /* C521C 8012EB1C 24C6A66C */ addiu $a2, $a2, %lo(D_8009A66C) /* C5220 8012EB20 8CC50000 */ lw $a1, ($a2) /* C5224 8012EB24 34421001 */ ori $v0, $v0, 0x1001 /* C5228 8012EB28 00A0182D */ daddu $v1, $a1, $zero -/* C522C 8012EB2C 24A50008 */ addiu $a1, $a1, %lo(D_E3000008) +/* C522C 8012EB2C 24A50008 */ addiu $a1, $a1, 8 /* C5230 8012EB30 ACC50000 */ sw $a1, ($a2) /* C5234 8012EB34 AC620000 */ sw $v0, ($v1) /* C5238 8012EB38 34028000 */ ori $v0, $zero, 0x8000 diff --git a/asm/nonmatchings/code_b72b0_len_15ed0/func_8012EC94.s b/asm/nonmatchings/code_b72b0_len_15ed0/func_8012EC94.s index fbf308f449..1ef48de5d4 100644 --- a/asm/nonmatchings/code_b72b0_len_15ed0/func_8012EC94.s +++ b/asm/nonmatchings/code_b72b0_len_15ed0/func_8012EC94.s @@ -530,14 +530,14 @@ glabel func_8012EC94 /* C5B78 8012F478 00151140 */ sll $v0, $s5, 5 /* C5B7C 8012F47C 3042FFE0 */ andi $v0, $v0, 0xffe0 /* C5B80 8012F480 00621825 */ or $v1, $v1, $v0 -/* C5B84 8012F484 3C02F100 */ lui $v0, %hi(D_F1000040) +/* C5B84 8012F484 3C02F100 */ lui $v0, 0xf100 /* C5B88 8012F488 ACA20008 */ sw $v0, 8($a1) /* C5B8C 8012F48C 31A200FF */ andi $v0, $t5, 0xff /* C5B90 8012F490 14400007 */ bnez $v0, .L8012F4B0 /* C5B94 8012F494 ACA30004 */ sw $v1, 4($a1) /* C5B98 8012F498 97A20000 */ lhu $v0, ($sp) /* C5B9C 8012F49C 97A3000C */ lhu $v1, 0xc($sp) -/* C5BA0 8012F4A0 24420040 */ addiu $v0, $v0, %lo(D_F1000040) +/* C5BA0 8012F4A0 24420040 */ addiu $v0, $v0, 0x40 /* C5BA4 8012F4A4 A7A20000 */ sh $v0, ($sp) /* C5BA8 8012F4A8 0804BBCD */ j .L8012EF34 /* C5BAC 8012F4AC A7A30008 */ sh $v1, 8($sp) diff --git a/asm/nonmatchings/code_cd180_len_38f0/func_80136A80.s b/asm/nonmatchings/code_cd180_len_38f0/func_80136A80.s index 4b665520af..4f9a6f8fe6 100644 --- a/asm/nonmatchings/code_cd180_len_38f0/func_80136A80.s +++ b/asm/nonmatchings/code_cd180_len_38f0/func_80136A80.s @@ -954,13 +954,13 @@ glabel func_80136A80 /* CE010 80137910 8C830000 */ lw $v1, ($a0) /* CE014 80137914 30E200FF */ andi $v0, $a3, 0xff /* CE018 80137918 ACA20000 */ sw $v0, ($a1) -/* CE01C 8013791C 3C02DE00 */ lui $v0, %hi(D_DDFFE9A8) +/* CE01C 8013791C 3C02DE00 */ lui $v0, 0xde00 /* CE020 80137920 0060282D */ daddu $a1, $v1, $zero /* CE024 80137924 24630008 */ addiu $v1, $v1, 8 /* CE028 80137928 AC830000 */ sw $v1, ($a0) /* CE02C 8013792C ACA20000 */ sw $v0, ($a1) /* CE030 80137930 3C028015 */ lui $v0, %hi(D_8014E9A8) -/* CE034 80137934 2442E9A8 */ addiu $v0, $v0, %lo(D_DDFFE9A8) +/* CE034 80137934 2442E9A8 */ addiu $v0, $v0, %lo(D_8014E9A8) /* CE038 80137938 ACA20004 */ sw $v0, 4($a1) /* CE03C 8013793C 24620008 */ addiu $v0, $v1, 8 /* CE040 80137940 AC820000 */ sw $v0, ($a0) diff --git a/asm/nonmatchings/code_cd180_len_38f0/func_80138E54.s b/asm/nonmatchings/code_cd180_len_38f0/func_80138E54.s index 3b71bdf0e0..486486f279 100644 --- a/asm/nonmatchings/code_cd180_len_38f0/func_80138E54.s +++ b/asm/nonmatchings/code_cd180_len_38f0/func_80138E54.s @@ -215,14 +215,14 @@ glabel func_80138E54 /* CF894 80139194 00042180 */ sll $a0, $a0, 6 /* CF898 80139198 00912021 */ addu $a0, $a0, $s1 /* CF89C 8013919C 00442021 */ addu $a0, $v0, $a0 -/* CF8A0 801391A0 3C02ED00 */ lui $v0, %hi(D_ECFFED98) +/* CF8A0 801391A0 3C02ED00 */ lui $v0, 0xed00 /* CF8A4 801391A4 AE430000 */ sw $v1, ($s2) /* CF8A8 801391A8 AD020000 */ sw $v0, ($t0) /* CF8AC 801391AC 24620008 */ addiu $v0, $v1, 8 /* CF8B0 801391B0 AD090004 */ sw $t1, 4($t0) /* CF8B4 801391B4 AE420000 */ sw $v0, ($s2) /* CF8B8 801391B8 3C028015 */ lui $v0, %hi(D_8014ED98) -/* CF8BC 801391BC 2442ED98 */ addiu $v0, $v0, %lo(D_ECFFED98) +/* CF8BC 801391BC 2442ED98 */ addiu $v0, $v0, %lo(D_8014ED98) /* CF8C0 801391C0 AC620004 */ sw $v0, 4($v1) /* CF8C4 801391C4 24620010 */ addiu $v0, $v1, 0x10 /* CF8C8 801391C8 AC6A0000 */ sw $t2, ($v1) diff --git a/asm/nonmatchings/code_d0a70_len_4fe0/func_8013E2F0.s b/asm/nonmatchings/code_d0a70_len_4fe0/func_8013E2F0.s index f7b445b25a..9a0c2724db 100644 --- a/asm/nonmatchings/code_d0a70_len_4fe0/func_8013E2F0.s +++ b/asm/nonmatchings/code_d0a70_len_4fe0/func_8013E2F0.s @@ -278,7 +278,7 @@ glabel func_8013E2F0 /* D4E20 8013E720 0C052071 */ jal func_801481C4 /* D4E24 8013E724 AFA20018 */ sw $v0, 0x18($sp) /* D4E28 8013E728 0804FA25 */ j .L8013E894 -/* D4E2C 8013E72C 3C07D838 */ lui $a3, %hi(D_D837A66C) +/* D4E2C 8013E72C 3C07D838 */ lui $a3, 0xd838 .L8013E730: /* D4E30 8013E730 3C08070A */ lui $t0, 0x70a .L8013E734: @@ -287,7 +287,7 @@ glabel func_8013E2F0 /* D4E3C 8013E73C 354A0280 */ ori $t2, $t2, 0x280 /* D4E40 8013E740 3C09F240 */ lui $t1, 0xf240 /* D4E44 8013E744 3C07800A */ lui $a3, %hi(D_8009A66C) -/* D4E48 8013E748 24E7A66C */ addiu $a3, $a3, %lo(D_D837A66C) +/* D4E48 8013E748 24E7A66C */ addiu $a3, $a3, %lo(D_8009A66C) /* D4E4C 8013E74C 8CE50000 */ lw $a1, ($a3) /* D4E50 8013E750 35290400 */ ori $t1, $t1, 0x400 /* D4E54 8013E754 00A0202D */ daddu $a0, $a1, $zero diff --git a/asm/nonmatchings/code_dc470_len_14c0/func_80145EC0.s b/asm/nonmatchings/code_dc470_len_14c0/func_80145EC0.s index d289800305..c2f2a68af2 100644 --- a/asm/nonmatchings/code_dc470_len_14c0/func_80145EC0.s +++ b/asm/nonmatchings/code_dc470_len_14c0/func_80145EC0.s @@ -598,13 +598,13 @@ glabel func_80145EC0 /* DCE9C 8014679C 254AA66C */ addiu $t2, $t2, %lo(D_8009A66C) /* DCEA0 801467A0 2642FFFF */ addiu $v0, $s2, -1 /* DCEA4 801467A4 30420FFF */ andi $v0, $v0, 0xfff -/* DCEA8 801467A8 3C03FD48 */ lui $v1, %hi(D_FD47FFFF) +/* DCEA8 801467A8 3C03FD48 */ lui $v1, 0xfd48 /* DCEAC 801467AC 00431025 */ or $v0, $v0, $v1 /* DCEB0 801467B0 3C14F548 */ lui $s4, 0xf548 /* DCEB4 801467B4 36944A00 */ ori $s4, $s4, 0x4a00 /* DCEB8 801467B8 03191821 */ addu $v1, $t8, $t9 /* DCEBC 801467BC AFA2003C */ sw $v0, 0x3c($sp) -/* DCEC0 801467C0 2462FFFF */ addiu $v0, $v1, %lo(D_FD47FFFF) +/* DCEC0 801467C0 2462FFFF */ addiu $v0, $v1, -1 /* DCEC4 801467C4 00021080 */ sll $v0, $v0, 2 /* DCEC8 801467C8 30420FFF */ andi $v0, $v0, 0xfff /* DCECC 801467CC 00021300 */ sll $v0, $v0, 0xc diff --git a/asm/nonmatchings/code_de740_len_23f0/func_801489B8.s b/asm/nonmatchings/code_de740_len_23f0/func_801489B8.s index f1ac5ea174..a2296e6679 100644 --- a/asm/nonmatchings/code_de740_len_23f0/func_801489B8.s +++ b/asm/nonmatchings/code_de740_len_23f0/func_801489B8.s @@ -476,7 +476,7 @@ glabel func_801489B8 /* DF7D4 801490D4 3463F438 */ ori $v1, $v1, 0xf438 .L801490D8: /* DF7D8 801490D8 34843480 */ ori $a0, $a0, 0x3480 -/* DF7DC 801490DC 3C03F5FF */ lui $v1, %hi(D_F5FEA66C) +/* DF7DC 801490DC 3C03F5FF */ lui $v1, 0xf5ff /* DF7E0 801490E0 3463FE38 */ ori $v1, $v1, 0xfe38 .L801490E4: /* DF7E4 801490E4 25420050 */ addiu $v0, $t2, 0x50 @@ -484,7 +484,7 @@ glabel func_801489B8 /* DF7EC 801490EC AD440048 */ sw $a0, 0x48($t2) /* DF7F0 801490F0 AD43004C */ sw $v1, 0x4c($t2) /* DF7F4 801490F4 3C03800A */ lui $v1, %hi(D_8009A66C) -/* DF7F8 801490F8 2463A66C */ addiu $v1, $v1, %lo(D_F5FEA66C) +/* DF7F8 801490F8 2463A66C */ addiu $v1, $v1, %lo(D_8009A66C) /* DF7FC 801490FC 8C620000 */ lw $v0, ($v1) /* DF800 80149100 461ED002 */ mul.s $f0, $f26, $f30 /* DF804 80149104 00000000 */ nop diff --git a/asm/nonmatchings/code_fee30_len_2d60/func_802DC008.s b/asm/nonmatchings/code_fee30_len_2d60/func_802DC008.s index 2b8313488f..f4d054d335 100644 --- a/asm/nonmatchings/code_fee30_len_2d60/func_802DC008.s +++ b/asm/nonmatchings/code_fee30_len_2d60/func_802DC008.s @@ -164,13 +164,13 @@ glabel func_802DC008 /* FF374 802DC284 80630070 */ lb $v1, 0x70($v1) /* FF378 802DC288 24020002 */ addiu $v0, $zero, 2 /* FF37C 802DC28C 14620009 */ bne $v1, $v0, .L802DC2B4 -/* FF380 802DC290 3C02DC08 */ lui $v0, %hi(D_DC07F3E0) +/* FF380 802DC290 3C02DC08 */ lui $v0, 0xdc08 /* FF384 802DC294 34420008 */ ori $v0, $v0, 8 /* FF388 802DC298 25630080 */ addiu $v1, $t3, 0x80 /* FF38C 802DC29C AD830000 */ sw $v1, ($t4) /* FF390 802DC2A0 AD620078 */ sw $v0, 0x78($t3) /* FF394 802DC2A4 3C02802E */ lui $v0, %hi(D_802DF3E0) -/* FF398 802DC2A8 2442F3E0 */ addiu $v0, $v0, %lo(D_DC07F3E0) +/* FF398 802DC2A8 2442F3E0 */ addiu $v0, $v0, %lo(D_802DF3E0) /* FF39C 802DC2AC 080B70B3 */ j .L802DC2CC /* FF3A0 802DC2B0 AD62007C */ sw $v0, 0x7c($t3) .L802DC2B4: @@ -379,13 +379,13 @@ glabel func_802DC008 /* FF694 802DC5A4 80630070 */ lb $v1, 0x70($v1) /* FF698 802DC5A8 24020002 */ addiu $v0, $zero, 2 /* FF69C 802DC5AC 14620009 */ bne $v1, $v0, .L802DC5D4 -/* FF6A0 802DC5B0 3C02DC08 */ lui $v0, %hi(D_DC07F3E0) +/* FF6A0 802DC5B0 3C02DC08 */ lui $v0, 0xdc08 /* FF6A4 802DC5B4 34420008 */ ori $v0, $v0, 8 /* FF6A8 802DC5B8 24C30018 */ addiu $v1, $a2, 0x18 /* FF6AC 802DC5BC ACE30000 */ sw $v1, ($a3) /* FF6B0 802DC5C0 ACC20010 */ sw $v0, 0x10($a2) /* FF6B4 802DC5C4 3C02802E */ lui $v0, %hi(D_802DF3E0) -/* FF6B8 802DC5C8 2442F3E0 */ addiu $v0, $v0, %lo(D_DC07F3E0) +/* FF6B8 802DC5C8 2442F3E0 */ addiu $v0, $v0, %lo(D_802DF3E0) /* FF6BC 802DC5CC 080B717B */ j .L802DC5EC /* FF6C0 802DC5D0 ACC20014 */ sw $v0, 0x14($a2) .L802DC5D4: diff --git a/asm/nonmatchings/os/code_3cb20_len_130/osInvalDCache.s b/asm/nonmatchings/os/code_3cb20_len_130/osInvalDCache.s index 2255bd92b8..97e7a81070 100644 --- a/asm/nonmatchings/os/code_3cb20_len_130/osInvalDCache.s +++ b/asm/nonmatchings/os/code_3cb20_len_130/osInvalDCache.s @@ -41,13 +41,13 @@ glabel osInvalDCache /* 3CBA4 800617A4 03E00008 */ jr $ra /* 3CBA8 800617A8 00000000 */ nop .L800617AC: -/* 3CBAC 800617AC 3C088000 */ lui $t0, %hi(D_80000010) +/* 3CBAC 800617AC 3C088000 */ lui $t0, 0x8000 /* 3CBB0 800617B0 010B4821 */ addu $t1, $t0, $t3 /* 3CBB4 800617B4 2529FFF0 */ addiu $t1, $t1, -0x10 .L800617B8: /* 3CBB8 800617B8 BD010000 */ cache 1, ($t0) /* 3CBBC 800617BC 0109082B */ sltu $at, $t0, $t1 /* 3CBC0 800617C0 1420FFFD */ bnez $at, .L800617B8 -/* 3CBC4 800617C4 25080010 */ addiu $t0, $t0, %lo(D_80000010) +/* 3CBC4 800617C4 25080010 */ addiu $t0, $t0, 0x10 /* 3CBC8 800617C8 03E00008 */ jr $ra /* 3CBCC 800617CC 00000000 */ nop diff --git a/asm/nonmatchings/os/code_3cb20_len_130/osInvalICache.s b/asm/nonmatchings/os/code_3cb20_len_130/osInvalICache.s index 7f0e5de8c5..c4e923ee5a 100644 --- a/asm/nonmatchings/os/code_3cb20_len_130/osInvalICache.s +++ b/asm/nonmatchings/os/code_3cb20_len_130/osInvalICache.s @@ -25,14 +25,14 @@ glabel osInvalICache /* 3CC18 80061818 03E00008 */ jr $ra /* 3CC1C 8006181C 00000000 */ nop .L80061820: -/* 3CC20 80061820 3C088000 */ lui $t0, %hi(D_80000020) +/* 3CC20 80061820 3C088000 */ lui $t0, 0x8000 /* 3CC24 80061824 010B4821 */ addu $t1, $t0, $t3 /* 3CC28 80061828 2529FFE0 */ addiu $t1, $t1, -0x20 .L8006182C: /* 3CC2C 8006182C BD000000 */ cache 0, ($t0) /* 3CC30 80061830 0109082B */ sltu $at, $t0, $t1 /* 3CC34 80061834 1420FFFD */ bnez $at, .L8006182C -/* 3CC38 80061838 25080020 */ addiu $t0, $t0, %lo(D_80000020) +/* 3CC38 80061838 25080020 */ addiu $t0, $t0, 0x20 /* 3CC3C 8006183C 03E00008 */ jr $ra /* 3CC40 80061840 00000000 */ nop /* 3CC44 80061844 00000000 */ nop diff --git a/asm/nonmatchings/os/code_3cc50_len_80/osWritebackDCache.s b/asm/nonmatchings/os/code_3cc50_len_80/osWritebackDCache.s index 24c996de1d..8f246c07cb 100644 --- a/asm/nonmatchings/os/code_3cc50_len_80/osWritebackDCache.s +++ b/asm/nonmatchings/os/code_3cc50_len_80/osWritebackDCache.s @@ -25,14 +25,14 @@ glabel osWritebackDCache /* 3CC98 80061898 03E00008 */ jr $ra /* 3CC9C 8006189C 00000000 */ nop .L800618A0: -/* 3CCA0 800618A0 3C088000 */ lui $t0, %hi(D_80000010) +/* 3CCA0 800618A0 3C088000 */ lui $t0, 0x8000 /* 3CCA4 800618A4 010B4821 */ addu $t1, $t0, $t3 /* 3CCA8 800618A8 2529FFF0 */ addiu $t1, $t1, -0x10 .L800618AC: /* 3CCAC 800618AC BD010000 */ cache 1, ($t0) /* 3CCB0 800618B0 0109082B */ sltu $at, $t0, $t1 /* 3CCB4 800618B4 1420FFFD */ bnez $at, .L800618AC -/* 3CCB8 800618B8 25080010 */ addiu $t0, $t0, %lo(D_80000010) +/* 3CCB8 800618B8 25080010 */ addiu $t0, $t0, 0x10 /* 3CCBC 800618BC 03E00008 */ jr $ra /* 3CCC0 800618C0 00000000 */ nop /* 3CCC4 800618C4 00000000 */ nop diff --git a/asm/nonmatchings/os/code_3ccd0_len_30/osWritebackDCacheAll.s b/asm/nonmatchings/os/code_3ccd0_len_30/osWritebackDCacheAll.s index 0a2d68d378..0aa68dcb2c 100644 --- a/asm/nonmatchings/os/code_3ccd0_len_30/osWritebackDCacheAll.s +++ b/asm/nonmatchings/os/code_3ccd0_len_30/osWritebackDCacheAll.s @@ -2,7 +2,7 @@ .set noreorder # don't insert nops after branches glabel osWritebackDCacheAll -/* 3CCD0 800618D0 3C088000 */ lui $t0, %hi(D_80000010) +/* 3CCD0 800618D0 3C088000 */ lui $t0, 0x8000 /* 3CCD4 800618D4 240A2000 */ addiu $t2, $zero, 0x2000 /* 3CCD8 800618D8 010A4821 */ addu $t1, $t0, $t2 /* 3CCDC 800618DC 2529FFF0 */ addiu $t1, $t1, -0x10 @@ -10,7 +10,7 @@ glabel osWritebackDCacheAll /* 3CCE0 800618E0 BD010000 */ cache 1, ($t0) /* 3CCE4 800618E4 0109082B */ sltu $at, $t0, $t1 /* 3CCE8 800618E8 1420FFFD */ bnez $at, .L800618E0 -/* 3CCEC 800618EC 25080010 */ addiu $t0, $t0, %lo(D_80000010) +/* 3CCEC 800618EC 25080010 */ addiu $t0, $t0, 0x10 /* 3CCF0 800618F0 03E00008 */ jr $ra /* 3CCF4 800618F4 00000000 */ nop /* 3CCF8 800618F8 00000000 */ nop diff --git a/asm/nonmatchings/os/code_42470_len_310/osViSwapContext.s b/asm/nonmatchings/os/code_42470_len_310/osViSwapContext.s index e52196abca..ee2ea144b9 100644 --- a/asm/nonmatchings/os/code_42470_len_310/osViSwapContext.s +++ b/asm/nonmatchings/os/code_42470_len_310/osViSwapContext.s @@ -74,7 +74,7 @@ glabel osViSwapContext .L80067178: /* 42578 80067178 4600008D */ trunc.w.s $f2, $f0 /* 4257C 8006717C 44041000 */ mfc1 $a0, $f2 -/* 42580 80067180 3C028000 */ lui $v0, %hi(D_8000002C) +/* 42580 80067180 3C028000 */ lui $v0, 0x8000 /* 42584 80067184 00822025 */ or $a0, $a0, $v0 /* 42588 80067188 00111080 */ sll $v0, $s1, 2 .L8006718C: @@ -82,7 +82,7 @@ glabel osViSwapContext /* 42590 80067190 00021080 */ sll $v0, $v0, 2 /* 42594 80067194 02421021 */ addu $v0, $s2, $v0 /* 42598 80067198 AE04002C */ sw $a0, 0x2c($s0) -/* 4259C 8006719C 8C42002C */ lw $v0, %lo(D_8000002C)($v0) +/* 4259C 8006719C 8C42002C */ lw $v0, 0x2c($v0) /* 425A0 800671A0 2403F000 */ addiu $v1, $zero, -0x1000 /* 425A4 800671A4 00431024 */ and $v0, $v0, $v1 /* 425A8 800671A8 08019C70 */ j .L800671C0 diff --git a/asm/nonmatchings/world/area_dro/dro_02/9694C0/func_802416FC_96A8BC.s b/asm/nonmatchings/world/area_dro/dro_02/9694C0/func_802416FC_96A8BC.s index 6063e1b1b9..a1385a7808 100644 --- a/asm/nonmatchings/world/area_dro/dro_02/9694C0/func_802416FC_96A8BC.s +++ b/asm/nonmatchings/world/area_dro/dro_02/9694C0/func_802416FC_96A8BC.s @@ -73,14 +73,14 @@ glabel func_802416FC_96A8BC /* 96A9CC 8024180C 0C04EAA7 */ jal func_8013AA9C /* 96A9D0 80241810 AFB00018 */ sw $s0, 0x18($sp) /* 96A9D4 80241814 0240202D */ daddu $a0, $s2, $zero -/* 96A9D8 80241818 3C05F4AC */ lui $a1, %hi(D_F4AC2EAC) +/* 96A9D8 80241818 3C05F4AC */ lui $a1, 0xf4ac /* 96A9DC 8024181C 34A5D483 */ ori $a1, $a1, 0xd483 /* 96A9E0 80241820 0C0B2026 */ jal set_variable /* 96A9E4 80241824 0260302D */ daddu $a2, $s3, $zero /* 96A9E8 80241828 3C048024 */ lui $a0, %hi(D_8024240C) /* 96A9EC 8024182C 2484240C */ addiu $a0, $a0, %lo(D_8024240C) /* 96A9F0 80241830 3C058024 */ lui $a1, %hi(D_80242EAC) -/* 96A9F4 80241834 24A52EAC */ addiu $a1, $a1, %lo(D_F4AC2EAC) +/* 96A9F4 80241834 24A52EAC */ addiu $a1, $a1, %lo(D_80242EAC) /* 96A9F8 80241838 0C048C56 */ jal bind_dynamic_entity_3 /* 96A9FC 8024183C 00000000 */ nop /* 96AA00 80241840 0240202D */ daddu $a0, $s2, $zero diff --git a/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80240F30_A2B170.s b/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80240F30_A2B170.s index 881af959d0..618d29e3d3 100644 --- a/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80240F30_A2B170.s +++ b/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80240F30_A2B170.s @@ -3,12 +3,12 @@ glabel func_80240F30_A2B170 /* A2B170 80240F30 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* A2B174 80240F34 3C05F4AC */ lui $a1, %hi(D_F4AB95DC) +/* A2B174 80240F34 3C05F4AC */ lui $a1, 0xf4ac /* A2B178 80240F38 AFBF0010 */ sw $ra, 0x10($sp) /* A2B17C 80240F3C 0C0B1EAF */ jal get_variable /* A2B180 80240F40 34A5D480 */ ori $a1, $a1, 0xd480 /* A2B184 80240F44 3C058025 */ lui $a1, %hi(D_802495DC) -/* A2B188 80240F48 24A595DC */ addiu $a1, $a1, %lo(D_F4AB95DC) +/* A2B188 80240F48 24A595DC */ addiu $a1, $a1, %lo(D_802495DC) /* A2B18C 80240F4C 8CA40000 */ lw $a0, ($a1) /* A2B190 80240F50 8C42000C */ lw $v0, 0xc($v0) /* A2B194 80240F54 00041840 */ sll $v1, $a0, 1 diff --git a/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80240F88_A2B1C8.s b/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80240F88_A2B1C8.s index aab87a8e3b..ff890d60c8 100644 --- a/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80240F88_A2B1C8.s +++ b/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80240F88_A2B1C8.s @@ -3,12 +3,12 @@ glabel func_80240F88_A2B1C8 /* A2B1C8 80240F88 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* A2B1CC 80240F8C 3C05F4AC */ lui $a1, %hi(D_F4AB95E0) +/* A2B1CC 80240F8C 3C05F4AC */ lui $a1, 0xf4ac /* A2B1D0 80240F90 AFBF0010 */ sw $ra, 0x10($sp) /* A2B1D4 80240F94 0C0B1EAF */ jal get_variable /* A2B1D8 80240F98 34A5D480 */ ori $a1, $a1, 0xd480 /* A2B1DC 80240F9C 3C058025 */ lui $a1, %hi(D_802495E0) -/* A2B1E0 80240FA0 24A595E0 */ addiu $a1, $a1, %lo(D_F4AB95E0) +/* A2B1E0 80240FA0 24A595E0 */ addiu $a1, $a1, %lo(D_802495E0) /* A2B1E4 80240FA4 8CA40000 */ lw $a0, ($a1) /* A2B1E8 80240FA8 8C42000C */ lw $v0, 0xc($v0) /* A2B1EC 80240FAC 00041840 */ sll $v1, $a0, 1 diff --git a/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80243758_A2D998.s b/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80243758_A2D998.s index 3b8f0febb8..b87b699205 100644 --- a/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80243758_A2D998.s +++ b/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80243758_A2D998.s @@ -350,7 +350,7 @@ glabel func_80243758_A2D998 /* A2DEA4 80243C64 0040202D */ daddu $a0, $v0, $zero /* A2DEA8 80243C68 24420008 */ addiu $v0, $v0, 8 /* A2DEAC 80243C6C AC620000 */ sw $v0, ($v1) -/* A2DEB0 80243C70 3C02F100 */ lui $v0, %hi(D_F1000008) +/* A2DEB0 80243C70 3C02F100 */ lui $v0, 0xf100 /* A2DEB4 80243C74 AC820000 */ sw $v0, ($a0) /* A2DEB8 80243C78 AC850004 */ sw $a1, 4($a0) .L80243C7C: @@ -358,7 +358,7 @@ glabel func_80243758_A2D998 /* A2DEC0 80243C80 2463A66C */ addiu $v1, $v1, %lo(D_8009A66C) /* A2DEC4 80243C84 8C620000 */ lw $v0, ($v1) /* A2DEC8 80243C88 0040202D */ daddu $a0, $v0, $zero -/* A2DECC 80243C8C 24420008 */ addiu $v0, $v0, %lo(D_F1000008) +/* A2DECC 80243C8C 24420008 */ addiu $v0, $v0, 8 /* A2DED0 80243C90 AC620000 */ sw $v0, ($v1) /* A2DED4 80243C94 3C02E700 */ lui $v0, 0xe700 /* A2DED8 80243C98 AC820000 */ sw $v0, ($a0) diff --git a/asm/nonmatchings/world/area_kmr/kmr_21/8FEE90/func_80240010_8FEE90.s b/asm/nonmatchings/world/area_kmr/kmr_21/8FEE90/func_80240010_8FEE90.s index e5e925f9df..942629e282 100644 --- a/asm/nonmatchings/world/area_kmr/kmr_21/8FEE90/func_80240010_8FEE90.s +++ b/asm/nonmatchings/world/area_kmr/kmr_21/8FEE90/func_80240010_8FEE90.s @@ -30,13 +30,13 @@ glabel func_80240010_8FEE90 /* 8FEEF4 80240074 25EF0334 */ addiu $t7, $t7, %lo(D_80240334) /* 8FEEF8 80240078 0120502D */ daddu $t2, $t1, $zero /* 8FEEFC 8024007C 8D030000 */ lw $v1, ($t0) -/* 8FEF00 80240080 3C02DE00 */ lui $v0, %hi(D_DE000338) +/* 8FEF00 80240080 3C02DE00 */ lui $v0, 0xde00 /* 8FEF04 80240084 0060202D */ daddu $a0, $v1, $zero /* 8FEF08 80240088 24630008 */ addiu $v1, $v1, 8 /* 8FEF0C 8024008C AD030000 */ sw $v1, ($t0) /* 8FEF10 80240090 AC820000 */ sw $v0, ($a0) /* 8FEF14 80240094 3C028024 */ lui $v0, %hi(D_80240338) -/* 8FEF18 80240098 24420338 */ addiu $v0, $v0, %lo(D_DE000338) +/* 8FEF18 80240098 24420338 */ addiu $v0, $v0, %lo(D_80240338) /* 8FEF1C 8024009C AC820004 */ sw $v0, 4($a0) /* 8FEF20 802400A0 24620008 */ addiu $v0, $v1, 8 /* 8FEF24 802400A4 AD020000 */ sw $v0, ($t0) diff --git a/asm/nonmatchings/world/area_kmr/kmr_22/8FF8B0/func_80240B4C_9001BC.s b/asm/nonmatchings/world/area_kmr/kmr_22/8FF8B0/func_80240B4C_9001BC.s index 49593dcca2..774d3ac36b 100644 --- a/asm/nonmatchings/world/area_kmr/kmr_22/8FF8B0/func_80240B4C_9001BC.s +++ b/asm/nonmatchings/world/area_kmr/kmr_22/8FF8B0/func_80240B4C_9001BC.s @@ -9,13 +9,13 @@ glabel func_80240B4C_9001BC /* 9001CC 80240B5C 0C00AB39 */ jal heap_malloc /* 9001D0 80240B60 24040780 */ addiu $a0, $zero, 0x780 /* 9001D4 80240B64 0200202D */ daddu $a0, $s0, $zero -/* 9001D8 80240B68 3C05FD05 */ lui $a1, %hi(D_FD050B00) +/* 9001D8 80240B68 3C05FD05 */ lui $a1, 0xfd05 /* 9001DC 80240B6C 34A50F80 */ ori $a1, $a1, 0xf80 /* 9001E0 80240B70 0C0B2026 */ jal set_variable /* 9001E4 80240B74 0040302D */ daddu $a2, $v0, $zero /* 9001E8 80240B78 2402FFFF */ addiu $v0, $zero, -1 /* 9001EC 80240B7C 3C058024 */ lui $a1, %hi(D_80240B00) -/* 9001F0 80240B80 24A50B00 */ addiu $a1, $a1, %lo(D_FD050B00) +/* 9001F0 80240B80 24A50B00 */ addiu $a1, $a1, %lo(D_80240B00) /* 9001F4 80240B84 3C018025 */ lui $at, %hi(D_802483D0) /* 9001F8 80240B88 AC2283D0 */ sw $v0, %lo(D_802483D0)($at) /* 9001FC 80240B8C 0C048C56 */ jal bind_dynamic_entity_3 diff --git a/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240D14_908744.s b/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240D14_908744.s index 5687f4e99a..1a7ae46a94 100644 --- a/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240D14_908744.s +++ b/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240D14_908744.s @@ -3,14 +3,14 @@ glabel func_80240D14_908744 /* 908744 80240D14 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 908748 80240D18 3C05FD05 */ lui $a1, %hi(D_FD04A650) +/* 908748 80240D18 3C05FD05 */ lui $a1, 0xfd05 /* 90874C 80240D1C 34A50F80 */ ori $a1, $a1, 0xf80 /* 908750 80240D20 AFBF0010 */ sw $ra, 0x10($sp) /* 908754 80240D24 0C0B1EAF */ jal get_variable /* 908758 80240D28 0000202D */ daddu $a0, $zero, $zero /* 90875C 80240D2C 24030001 */ addiu $v1, $zero, 1 /* 908760 80240D30 3C05800A */ lui $a1, %hi(D_8009A650) -/* 908764 80240D34 24A5A650 */ addiu $a1, $a1, %lo(D_FD04A650) +/* 908764 80240D34 24A5A650 */ addiu $a1, $a1, %lo(D_8009A650) /* 908768 80240D38 A443001E */ sh $v1, 0x1e($v0) /* 90876C 80240D3C 8CA30000 */ lw $v1, ($a1) /* 908770 80240D40 3C040010 */ lui $a0, 0x10 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/C8DBB0/func_8024140C_C8EFBC.s b/asm/nonmatchings/world/area_kzn/kzn_19/C8DBB0/func_8024140C_C8EFBC.s index e239b3f6cb..f13f8961fe 100644 --- a/asm/nonmatchings/world/area_kzn/kzn_19/C8DBB0/func_8024140C_C8EFBC.s +++ b/asm/nonmatchings/world/area_kzn/kzn_19/C8DBB0/func_8024140C_C8EFBC.s @@ -9,13 +9,13 @@ glabel func_8024140C_C8EFBC /* C8EFCC 8024141C 0C00AB39 */ jal heap_malloc /* C8EFD0 80241420 24040780 */ addiu $a0, $zero, 0x780 /* C8EFD4 80241424 0200202D */ daddu $a0, $s0, $zero -/* C8EFD8 80241428 3C05FD05 */ lui $a1, %hi(D_FD0513C0) +/* C8EFD8 80241428 3C05FD05 */ lui $a1, 0xfd05 /* C8EFDC 8024142C 34A50F80 */ ori $a1, $a1, 0xf80 /* C8EFE0 80241430 0C0B2026 */ jal set_variable /* C8EFE4 80241434 0040302D */ daddu $a2, $v0, $zero /* C8EFE8 80241438 2402FFFF */ addiu $v0, $zero, -1 /* C8EFEC 8024143C 3C058024 */ lui $a1, %hi(D_802413C0) -/* C8EFF0 80241440 24A513C0 */ addiu $a1, $a1, %lo(D_FD0513C0) +/* C8EFF0 80241440 24A513C0 */ addiu $a1, $a1, %lo(D_802413C0) /* C8EFF4 80241444 3C018025 */ lui $at, %hi(D_80248380) /* C8EFF8 80241448 AC228380 */ sw $v0, %lo(D_80248380)($at) /* C8EFFC 8024144C 0C048C56 */ jal bind_dynamic_entity_3 diff --git a/asm/nonmatchings/code_317E50/func_802BD100_317E50.s b/asm/nonmatchings/world/partner/bombette/func_802BD100_317E50.s similarity index 100% rename from asm/nonmatchings/code_317E50/func_802BD100_317E50.s rename to asm/nonmatchings/world/partner/bombette/func_802BD100_317E50.s diff --git a/asm/nonmatchings/code_317E50/func_802BD2D8.s b/asm/nonmatchings/world/partner/bombette/func_802BD2D8.s similarity index 100% rename from asm/nonmatchings/code_317E50/func_802BD2D8.s rename to asm/nonmatchings/world/partner/bombette/func_802BD2D8.s diff --git a/asm/nonmatchings/code_317E50/func_802BD338.s b/asm/nonmatchings/world/partner/bombette/func_802BD338.s similarity index 100% rename from asm/nonmatchings/code_317E50/func_802BD338.s rename to asm/nonmatchings/world/partner/bombette/func_802BD338.s diff --git a/asm/nonmatchings/code_317E50/func_802BD6DC.s b/asm/nonmatchings/world/partner/bombette/func_802BD6DC.s similarity index 100% rename from asm/nonmatchings/code_317E50/func_802BD6DC.s rename to asm/nonmatchings/world/partner/bombette/func_802BD6DC.s diff --git a/asm/nonmatchings/code_317E50/func_802BD720.s b/asm/nonmatchings/world/partner/bombette/func_802BD720.s similarity index 100% rename from asm/nonmatchings/code_317E50/func_802BD720.s rename to asm/nonmatchings/world/partner/bombette/func_802BD720.s diff --git a/asm/nonmatchings/code_317E50/func_802BD758.s b/asm/nonmatchings/world/partner/bombette/func_802BD758.s similarity index 100% rename from asm/nonmatchings/code_317E50/func_802BD758.s rename to asm/nonmatchings/world/partner/bombette/func_802BD758.s diff --git a/asm/nonmatchings/code_317E50/func_802BE520.s b/asm/nonmatchings/world/partner/bombette/func_802BE520.s similarity index 100% rename from asm/nonmatchings/code_317E50/func_802BE520.s rename to asm/nonmatchings/world/partner/bombette/func_802BE520.s diff --git a/asm/nonmatchings/code_317E50/func_802BE6E8.s b/asm/nonmatchings/world/partner/bombette/func_802BE6E8.s similarity index 100% rename from asm/nonmatchings/code_317E50/func_802BE6E8.s rename to asm/nonmatchings/world/partner/bombette/func_802BE6E8.s diff --git a/asm/nonmatchings/code_323A50/func_802BD100_323A50.s b/asm/nonmatchings/world/partner/bow/func_802BD100_323A50.s similarity index 100% rename from asm/nonmatchings/code_323A50/func_802BD100_323A50.s rename to asm/nonmatchings/world/partner/bow/func_802BD100_323A50.s diff --git a/asm/nonmatchings/code_323A50/func_802BD130.s b/asm/nonmatchings/world/partner/bow/func_802BD130.s similarity index 100% rename from asm/nonmatchings/code_323A50/func_802BD130.s rename to asm/nonmatchings/world/partner/bow/func_802BD130.s diff --git a/asm/nonmatchings/code_323A50/func_802BD168.s b/asm/nonmatchings/world/partner/bow/func_802BD168.s similarity index 100% rename from asm/nonmatchings/code_323A50/func_802BD168.s rename to asm/nonmatchings/world/partner/bow/func_802BD168.s diff --git a/asm/nonmatchings/code_323A50/func_802BD4FC.s b/asm/nonmatchings/world/partner/bow/func_802BD4FC.s similarity index 100% rename from asm/nonmatchings/code_323A50/func_802BD4FC.s rename to asm/nonmatchings/world/partner/bow/func_802BD4FC.s diff --git a/asm/nonmatchings/code_323A50/func_802BD540.s b/asm/nonmatchings/world/partner/bow/func_802BD540.s similarity index 100% rename from asm/nonmatchings/code_323A50/func_802BD540.s rename to asm/nonmatchings/world/partner/bow/func_802BD540.s diff --git a/asm/nonmatchings/code_323A50/func_802BD694.s b/asm/nonmatchings/world/partner/bow/func_802BD694.s similarity index 100% rename from asm/nonmatchings/code_323A50/func_802BD694.s rename to asm/nonmatchings/world/partner/bow/func_802BD694.s diff --git a/asm/nonmatchings/code_323A50/func_802BDDF0.s b/asm/nonmatchings/world/partner/bow/func_802BDDF0.s similarity index 100% rename from asm/nonmatchings/code_323A50/func_802BDDF0.s rename to asm/nonmatchings/world/partner/bow/func_802BDDF0.s diff --git a/asm/nonmatchings/code_323A50/func_802BDF08.s b/asm/nonmatchings/world/partner/bow/func_802BDF08.s similarity index 100% rename from asm/nonmatchings/code_323A50/func_802BDF08.s rename to asm/nonmatchings/world/partner/bow/func_802BDF08.s diff --git a/asm/nonmatchings/code_323A50/func_802BDF64.s b/asm/nonmatchings/world/partner/bow/func_802BDF64.s similarity index 100% rename from asm/nonmatchings/code_323A50/func_802BDF64.s rename to asm/nonmatchings/world/partner/bow/func_802BDF64.s diff --git a/asm/nonmatchings/code_317020/func_802BD188.s b/asm/nonmatchings/world/partner/goombario/func_802BD188.s similarity index 100% rename from asm/nonmatchings/code_317020/func_802BD188.s rename to asm/nonmatchings/world/partner/goombario/func_802BD188.s diff --git a/asm/nonmatchings/code_317020/func_802BD1D0.s b/asm/nonmatchings/world/partner/goombario/func_802BD1D0.s similarity index 100% rename from asm/nonmatchings/code_317020/func_802BD1D0.s rename to asm/nonmatchings/world/partner/goombario/func_802BD1D0.s diff --git a/asm/nonmatchings/code_317020/func_802BD564.s b/asm/nonmatchings/world/partner/goombario/func_802BD564.s similarity index 100% rename from asm/nonmatchings/code_317020/func_802BD564.s rename to asm/nonmatchings/world/partner/goombario/func_802BD564.s diff --git a/asm/nonmatchings/code_317020/func_802BD5D8.s b/asm/nonmatchings/world/partner/goombario/func_802BD5D8.s similarity index 100% rename from asm/nonmatchings/code_317020/func_802BD5D8.s rename to asm/nonmatchings/world/partner/goombario/func_802BD5D8.s diff --git a/asm/nonmatchings/code_317020/func_802BDB30.s b/asm/nonmatchings/world/partner/goombario/func_802BDB30.s similarity index 100% rename from asm/nonmatchings/code_317020/func_802BDB30.s rename to asm/nonmatchings/world/partner/goombario/func_802BDB30.s diff --git a/asm/nonmatchings/code_317020/func_802BD5A8.s b/asm/nonmatchings/world/partner/goombario/world_goombario_can_pause.s similarity index 100% rename from asm/nonmatchings/code_317020/func_802BD5A8.s rename to asm/nonmatchings/world/partner/goombario/world_goombario_can_pause.s diff --git a/asm/nonmatchings/code_317020/func_802BDBBC.s b/asm/nonmatchings/world/partner/goombario/world_goombario_pre_battle.s similarity index 90% rename from asm/nonmatchings/code_317020/func_802BDBBC.s rename to asm/nonmatchings/world/partner/goombario/world_goombario_pre_battle.s index 49ebbff6d8..02787887ac 100644 --- a/asm/nonmatchings/code_317020/func_802BDBBC.s +++ b/asm/nonmatchings/world/partner/goombario/world_goombario_pre_battle.s @@ -1,7 +1,7 @@ .set noat # allow manual use of $at .set noreorder # don't insert nops after branches -glabel func_802BDBBC +glabel world_goombario_pre_battle /* 317ADC 802BDBBC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 317AE0 802BDBC0 AFB10014 */ sw $s1, 0x14($sp) /* 317AE4 802BDBC4 0080882D */ daddu $s1, $a0, $zero @@ -16,9 +16,9 @@ glabel func_802BDBBC /* 317B08 802BDBE8 0C009C22 */ jal func_80027088 /* 317B0C 802BDBEC 0000202D */ daddu $a0, $zero, $zero /* 317B10 802BDBF0 0C038069 */ jal enable_player_input -/* 317B14 802BDBF4 00000000 */ nop +/* 317B14 802BDBF4 00000000 */ nop /* 317B18 802BDBF8 0C0B4312 */ jal CancelMessageAndBlock -/* 317B1C 802BDBFC 00000000 */ nop +/* 317B1C 802BDBFC 00000000 */ nop /* 317B20 802BDC00 0C03BD17 */ jal clear_partner_move_history /* 317B24 802BDC04 0220202D */ daddu $a0, $s1, $zero /* 317B28 802BDC08 0220202D */ daddu $a0, $s1, $zero @@ -34,5 +34,5 @@ glabel func_802BDBBC /* 317B4C 802BDC2C 8FB00010 */ lw $s0, 0x10($sp) /* 317B50 802BDC30 03E00008 */ jr $ra /* 317B54 802BDC34 27BD0020 */ addiu $sp, $sp, 0x20 -/* 317B58 802BDC38 00000000 */ nop -/* 317B5C 802BDC3C 00000000 */ nop +/* 317B58 802BDC38 00000000 */ nop +/* 317B5C 802BDC3C 00000000 */ nop diff --git a/asm/nonmatchings/code_31B120/func_802BD100_31B120.s b/asm/nonmatchings/world/partner/kooper/func_802BD100_31B120.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BD100_31B120.s rename to asm/nonmatchings/world/partner/kooper/func_802BD100_31B120.s diff --git a/asm/nonmatchings/code_31B120/func_802BD144.s b/asm/nonmatchings/world/partner/kooper/func_802BD144.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BD144.s rename to asm/nonmatchings/world/partner/kooper/func_802BD144.s diff --git a/asm/nonmatchings/code_31B120/func_802BD17C.s b/asm/nonmatchings/world/partner/kooper/func_802BD17C.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BD17C.s rename to asm/nonmatchings/world/partner/kooper/func_802BD17C.s diff --git a/asm/nonmatchings/code_31B120/func_802BD200.s b/asm/nonmatchings/world/partner/kooper/func_802BD200.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BD200.s rename to asm/nonmatchings/world/partner/kooper/func_802BD200.s diff --git a/asm/nonmatchings/code_31B120/func_802BD228.s b/asm/nonmatchings/world/partner/kooper/func_802BD228.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BD228.s rename to asm/nonmatchings/world/partner/kooper/func_802BD228.s diff --git a/asm/nonmatchings/code_31B120/func_802BD260.s b/asm/nonmatchings/world/partner/kooper/func_802BD260.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BD260.s rename to asm/nonmatchings/world/partner/kooper/func_802BD260.s diff --git a/asm/nonmatchings/code_31B120/func_802BD5F4.s b/asm/nonmatchings/world/partner/kooper/func_802BD5F4.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BD5F4.s rename to asm/nonmatchings/world/partner/kooper/func_802BD5F4.s diff --git a/asm/nonmatchings/code_31B120/func_802BD638.s b/asm/nonmatchings/world/partner/kooper/func_802BD638.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BD638.s rename to asm/nonmatchings/world/partner/kooper/func_802BD638.s diff --git a/asm/nonmatchings/code_31B120/func_802BE7E0.s b/asm/nonmatchings/world/partner/kooper/func_802BE7E0.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BE7E0.s rename to asm/nonmatchings/world/partner/kooper/func_802BE7E0.s diff --git a/asm/nonmatchings/code_31B120/func_802BE818.s b/asm/nonmatchings/world/partner/kooper/func_802BE818.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BE818.s rename to asm/nonmatchings/world/partner/kooper/func_802BE818.s diff --git a/asm/nonmatchings/code_31B120/func_802BEA24.s b/asm/nonmatchings/world/partner/kooper/func_802BEA24.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BEA24.s rename to asm/nonmatchings/world/partner/kooper/func_802BEA24.s diff --git a/asm/nonmatchings/code_31B120/func_802BEB10.s b/asm/nonmatchings/world/partner/kooper/func_802BEB10.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BEB10.s rename to asm/nonmatchings/world/partner/kooper/func_802BEB10.s diff --git a/asm/nonmatchings/code_320C50/func_802BD100_320C50.s b/asm/nonmatchings/world/partner/lakilester/func_802BD100_320C50.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BD100_320C50.s rename to asm/nonmatchings/world/partner/lakilester/func_802BD100_320C50.s diff --git a/asm/nonmatchings/code_320C50/func_802BD21C.s b/asm/nonmatchings/world/partner/lakilester/func_802BD21C.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BD21C.s rename to asm/nonmatchings/world/partner/lakilester/func_802BD21C.s diff --git a/asm/nonmatchings/code_320C50/func_802BD29C.s b/asm/nonmatchings/world/partner/lakilester/func_802BD29C.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BD29C.s rename to asm/nonmatchings/world/partner/lakilester/func_802BD29C.s diff --git a/asm/nonmatchings/code_320C50/func_802BD2D4.s b/asm/nonmatchings/world/partner/lakilester/func_802BD2D4.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BD2D4.s rename to asm/nonmatchings/world/partner/lakilester/func_802BD2D4.s diff --git a/asm/nonmatchings/code_320C50/func_802BD678.s b/asm/nonmatchings/world/partner/lakilester/func_802BD678.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BD678.s rename to asm/nonmatchings/world/partner/lakilester/func_802BD678.s diff --git a/asm/nonmatchings/code_320C50/func_802BD6BC.s b/asm/nonmatchings/world/partner/lakilester/func_802BD6BC.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BD6BC.s rename to asm/nonmatchings/world/partner/lakilester/func_802BD6BC.s diff --git a/asm/nonmatchings/code_320C50/func_802BD7DC.s b/asm/nonmatchings/world/partner/lakilester/func_802BD7DC.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BD7DC.s rename to asm/nonmatchings/world/partner/lakilester/func_802BD7DC.s diff --git a/asm/nonmatchings/code_320C50/func_802BD99C.s b/asm/nonmatchings/world/partner/lakilester/func_802BD99C.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BD99C.s rename to asm/nonmatchings/world/partner/lakilester/func_802BD99C.s diff --git a/asm/nonmatchings/code_320C50/func_802BDA90.s b/asm/nonmatchings/world/partner/lakilester/func_802BDA90.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BDA90.s rename to asm/nonmatchings/world/partner/lakilester/func_802BDA90.s diff --git a/asm/nonmatchings/code_320C50/func_802BDDD8.s b/asm/nonmatchings/world/partner/lakilester/func_802BDDD8.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BDDD8.s rename to asm/nonmatchings/world/partner/lakilester/func_802BDDD8.s diff --git a/asm/nonmatchings/code_320C50/func_802BE6A0.s b/asm/nonmatchings/world/partner/lakilester/func_802BE6A0.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BE6A0.s rename to asm/nonmatchings/world/partner/lakilester/func_802BE6A0.s diff --git a/asm/nonmatchings/code_320C50/func_802BE724.s b/asm/nonmatchings/world/partner/lakilester/func_802BE724.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BE724.s rename to asm/nonmatchings/world/partner/lakilester/func_802BE724.s diff --git a/asm/nonmatchings/code_320C50/func_802BF4F0.s b/asm/nonmatchings/world/partner/lakilester/func_802BF4F0.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BF4F0.s rename to asm/nonmatchings/world/partner/lakilester/func_802BF4F0.s diff --git a/asm/nonmatchings/code_320C50/func_802BFA00.s b/asm/nonmatchings/world/partner/lakilester/func_802BFA00.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BFA00.s rename to asm/nonmatchings/world/partner/lakilester/func_802BFA00.s diff --git a/asm/nonmatchings/code_320C50/func_802BFAA8.s b/asm/nonmatchings/world/partner/lakilester/func_802BFAA8.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BFAA8.s rename to asm/nonmatchings/world/partner/lakilester/func_802BFAA8.s diff --git a/asm/nonmatchings/code_320C50/func_802BFB44.s b/asm/nonmatchings/world/partner/lakilester/func_802BFB44.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BFB44.s rename to asm/nonmatchings/world/partner/lakilester/func_802BFB44.s diff --git a/asm/nonmatchings/code_320C50/func_802BFBA0.s b/asm/nonmatchings/world/partner/lakilester/func_802BFBA0.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BFBA0.s rename to asm/nonmatchings/world/partner/lakilester/func_802BFBA0.s diff --git a/asm/nonmatchings/code_319670/func_802BD100_319670.s b/asm/nonmatchings/world/partner/parakarry/func_802BD100_319670.s similarity index 100% rename from asm/nonmatchings/code_319670/func_802BD100_319670.s rename to asm/nonmatchings/world/partner/parakarry/func_802BD100_319670.s diff --git a/asm/nonmatchings/code_319670/func_802BD180.s b/asm/nonmatchings/world/partner/parakarry/func_802BD180.s similarity index 100% rename from asm/nonmatchings/code_319670/func_802BD180.s rename to asm/nonmatchings/world/partner/parakarry/func_802BD180.s diff --git a/asm/nonmatchings/code_319670/func_802BD514.s b/asm/nonmatchings/world/partner/parakarry/func_802BD514.s similarity index 100% rename from asm/nonmatchings/code_319670/func_802BD514.s rename to asm/nonmatchings/world/partner/parakarry/func_802BD514.s diff --git a/asm/nonmatchings/code_319670/func_802BD558.s b/asm/nonmatchings/world/partner/parakarry/func_802BD558.s similarity index 100% rename from asm/nonmatchings/code_319670/func_802BD558.s rename to asm/nonmatchings/world/partner/parakarry/func_802BD558.s diff --git a/asm/nonmatchings/code_319670/func_802BD660.s b/asm/nonmatchings/world/partner/parakarry/func_802BD660.s similarity index 100% rename from asm/nonmatchings/code_319670/func_802BD660.s rename to asm/nonmatchings/world/partner/parakarry/func_802BD660.s diff --git a/asm/nonmatchings/code_319670/func_802BE90C.s b/asm/nonmatchings/world/partner/parakarry/func_802BE90C.s similarity index 100% rename from asm/nonmatchings/code_319670/func_802BE90C.s rename to asm/nonmatchings/world/partner/parakarry/func_802BE90C.s diff --git a/asm/nonmatchings/code_319670/func_802BE9D0.s b/asm/nonmatchings/world/partner/parakarry/func_802BE9D0.s similarity index 100% rename from asm/nonmatchings/code_319670/func_802BE9D0.s rename to asm/nonmatchings/world/partner/parakarry/func_802BE9D0.s diff --git a/asm/nonmatchings/code_31DE70/func_802BD100_31DE70.s b/asm/nonmatchings/world/partner/sushie/func_802BD100_31DE70.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BD100_31DE70.s rename to asm/nonmatchings/world/partner/sushie/func_802BD100_31DE70.s diff --git a/asm/nonmatchings/code_31DE70/func_802BD20C.s b/asm/nonmatchings/world/partner/sushie/func_802BD20C.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BD20C.s rename to asm/nonmatchings/world/partner/sushie/func_802BD20C.s diff --git a/asm/nonmatchings/code_31DE70/func_802BD368.s b/asm/nonmatchings/world/partner/sushie/func_802BD368.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BD368.s rename to asm/nonmatchings/world/partner/sushie/func_802BD368.s diff --git a/asm/nonmatchings/code_31DE70/func_802BD414.s b/asm/nonmatchings/world/partner/sushie/func_802BD414.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BD414.s rename to asm/nonmatchings/world/partner/sushie/func_802BD414.s diff --git a/asm/nonmatchings/code_31DE70/func_802BE280.s b/asm/nonmatchings/world/partner/sushie/func_802BE280.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BE280.s rename to asm/nonmatchings/world/partner/sushie/func_802BE280.s diff --git a/asm/nonmatchings/code_31DE70/func_802BE3A4.s b/asm/nonmatchings/world/partner/sushie/func_802BE3A4.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BE3A4.s rename to asm/nonmatchings/world/partner/sushie/func_802BE3A4.s diff --git a/asm/nonmatchings/code_31DE70/func_802BF520.s b/asm/nonmatchings/world/partner/sushie/func_802BF520.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BF520.s rename to asm/nonmatchings/world/partner/sushie/func_802BF520.s diff --git a/asm/nonmatchings/code_31DE70/func_802BF568.s b/asm/nonmatchings/world/partner/sushie/func_802BF568.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BF568.s rename to asm/nonmatchings/world/partner/sushie/func_802BF568.s diff --git a/asm/nonmatchings/code_31DE70/func_802BF5A0.s b/asm/nonmatchings/world/partner/sushie/func_802BF5A0.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BF5A0.s rename to asm/nonmatchings/world/partner/sushie/func_802BF5A0.s diff --git a/asm/nonmatchings/code_31DE70/func_802BF920.s b/asm/nonmatchings/world/partner/sushie/func_802BF920.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BF920.s rename to asm/nonmatchings/world/partner/sushie/func_802BF920.s diff --git a/asm/nonmatchings/code_31DE70/func_802BF964.s b/asm/nonmatchings/world/partner/sushie/func_802BF964.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BF964.s rename to asm/nonmatchings/world/partner/sushie/func_802BF964.s diff --git a/asm/nonmatchings/code_31DE70/func_802BF9B8.s b/asm/nonmatchings/world/partner/sushie/func_802BF9B8.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BF9B8.s rename to asm/nonmatchings/world/partner/sushie/func_802BF9B8.s diff --git a/asm/nonmatchings/code_31DE70/func_802BFA58.s b/asm/nonmatchings/world/partner/sushie/func_802BFA58.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BFA58.s rename to asm/nonmatchings/world/partner/sushie/func_802BFA58.s diff --git a/asm/nonmatchings/code_31DE70/func_802BFAB8.s b/asm/nonmatchings/world/partner/sushie/func_802BFAB8.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BFAB8.s rename to asm/nonmatchings/world/partner/sushie/func_802BFAB8.s diff --git a/asm/nonmatchings/code_31CC70/func_802BD100_31CC70.s b/asm/nonmatchings/world/partner/watt/func_802BD100_31CC70.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BD100_31CC70.s rename to asm/nonmatchings/world/partner/watt/func_802BD100_31CC70.s diff --git a/asm/nonmatchings/code_31CC70/func_802BD180_31CC70.s b/asm/nonmatchings/world/partner/watt/func_802BD180_31CC70.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BD180_31CC70.s rename to asm/nonmatchings/world/partner/watt/func_802BD180_31CC70.s diff --git a/asm/nonmatchings/code_31CC70/func_802BD1AC.s b/asm/nonmatchings/world/partner/watt/func_802BD1AC.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BD1AC.s rename to asm/nonmatchings/world/partner/watt/func_802BD1AC.s diff --git a/asm/nonmatchings/code_31CC70/func_802BD23C.s b/asm/nonmatchings/world/partner/watt/func_802BD23C.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BD23C.s rename to asm/nonmatchings/world/partner/watt/func_802BD23C.s diff --git a/asm/nonmatchings/code_31CC70/func_802BD27C.s b/asm/nonmatchings/world/partner/watt/func_802BD27C.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BD27C.s rename to asm/nonmatchings/world/partner/watt/func_802BD27C.s diff --git a/asm/nonmatchings/code_31CC70/func_802BD2B4.s b/asm/nonmatchings/world/partner/watt/func_802BD2B4.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BD2B4.s rename to asm/nonmatchings/world/partner/watt/func_802BD2B4.s diff --git a/asm/nonmatchings/code_31CC70/func_802BD710.s b/asm/nonmatchings/world/partner/watt/func_802BD710.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BD710.s rename to asm/nonmatchings/world/partner/watt/func_802BD710.s diff --git a/asm/nonmatchings/code_31CC70/func_802BD754.s b/asm/nonmatchings/world/partner/watt/func_802BD754.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BD754.s rename to asm/nonmatchings/world/partner/watt/func_802BD754.s diff --git a/asm/nonmatchings/code_31CC70/func_802BDD0C.s b/asm/nonmatchings/world/partner/watt/func_802BDD0C.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BDD0C.s rename to asm/nonmatchings/world/partner/watt/func_802BDD0C.s diff --git a/asm/nonmatchings/code_31CC70/func_802BDD9C.s b/asm/nonmatchings/world/partner/watt/func_802BDD9C.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BDD9C.s rename to asm/nonmatchings/world/partner/watt/func_802BDD9C.s diff --git a/asm/nonmatchings/code_31CC70/func_802BDE10.s b/asm/nonmatchings/world/partner/watt/func_802BDE10.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BDE10.s rename to asm/nonmatchings/world/partner/watt/func_802BDE10.s diff --git a/asm/nonmatchings/code_31CC70/func_802BDE88.s b/asm/nonmatchings/world/partner/watt/func_802BDE88.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BDE88.s rename to asm/nonmatchings/world/partner/watt/func_802BDE88.s diff --git a/asm/nonmatchings/code_31CC70/func_802BE014.s b/asm/nonmatchings/world/partner/watt/func_802BE014.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BE014.s rename to asm/nonmatchings/world/partner/watt/func_802BE014.s diff --git a/asm/nonmatchings/code_31CC70/func_802BE070.s b/asm/nonmatchings/world/partner/watt/func_802BE070.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BE070.s rename to asm/nonmatchings/world/partner/watt/func_802BE070.s diff --git a/format.sh b/format.sh index 7ce4d215ff..ba64effa51 100755 --- a/format.sh +++ b/format.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash COMPILER_OPTS="-std=gnu89 -Iinclude -Isrc -D_LANGUAGE_C -DSCRIPT(...)={}" diff --git a/include/enums.h b/include/enums.h index 8997b7ffe2..5156552b4b 100644 --- a/include/enums.h +++ b/include/enums.h @@ -11,20 +11,6 @@ typedef UNK_TYPE EncounterTriggerFlags; #define EncounterTriggerFlags_HAMMER 0x00000004 #define EncounterTriggerFlags_PARTNER 0x00000006 -typedef s8 PartnerId; -#define PartnerId_NONE 0x00 -#define PartnerId_GOOMBARIO 0x01 -#define PartnerId_KOOPER 0x02 -#define PartnerId_BOMBETTE 0x03 -#define PartnerId_PARAKARRY 0x04 -#define PartnerId_GOOMPA 0x05 -#define PartnerId_WATT 0x06 -#define PartnerId_SUSHIE 0x07 -#define PartnerId_LAKILESTER 0x08 -#define PartnerId_BOW 0x09 -#define PartnerId_GOOMBARIA 0x0A -#define PartnerId_TWINK 0x0B - typedef s32 SongID; #define Song_TOAD_TOWN 0x00000000 #define Song_NORMAL_BATTLE 0x00000002 diff --git a/include/functions.h b/include/functions.h index 53de5780aa..2921bf6ff7 100644 --- a/include/functions.h +++ b/include/functions.h @@ -21,6 +21,7 @@ Shadow* get_shadow_by_index(s32 index); void render_player_model(); f32 integrate_gravity(void); +f32 get_clamped_angle_diff(f32, f32); // Text PrintContext* load_string(s32 stringID, s32* a1); @@ -69,17 +70,14 @@ f32 clamp_angle(f32 theta); s32 sign(s32 value); s32 func_80055448(s32); s32 func_80055464(s32, s32); -s32 func_800554A4(s32, s32); -s32 func_800554E8(s32, s32); -s32 func_800555E4(s32); -void func_800561A4(s16); +void func_800561A4(s32); s32 osGetId(); void set_curtain_scale_goal(f32 scale); void set_curtain_fade(f32 scale); void fx_walk_normal(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4, s32 arg5); -void fx_emote(s32, Npc*, s32, f32, f32, f32, f32, s32, s32*); +void fx_emote(s32, Npc*, f32, f32, f32, f32, f32, s32, s32*); f32 func_800E0088(f32, f32); void func_800E97B8(void); @@ -92,6 +90,8 @@ PlayerData* get_player_data(void); s32 pause_interp_vertical_scroll(s32 deltaBefore); void pause_draw_rect(s32 ulx, s32 uly, s32 lrx, s32 lry, s32 tileDescriptor, s32 uls, s32 ult, s32 dsdx, s32 dtdy); +s32 func_800DCB7C(s32, f32*, f32*, f32*, f32*); + // Partner void func_800EBA3C(Npc* partner); void func_800EBB40(Npc* partner); diff --git a/include/macros.h b/include/macros.h index 3a943a903a..083c0ee430 100644 --- a/include/macros.h +++ b/include/macros.h @@ -10,6 +10,8 @@ #define INCLUDE_ASM(TYPE, FOLDER, NAME, ARGS...) #endif +#define ALIGN16(val) (((val) + 0xF) & ~0xF) + #define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0])) #define ARRAY_COUNTU(arr) (u32)(sizeof(arr) / sizeof(arr[0])) @@ -43,6 +45,7 @@ // Alternative to libultra's M_PI: non-float version; more digits cause issues #define PI 3.141592f +#define TAU 6.28318f //NOTE: SCRIPT_ALLOC is probably not quite correct, but this is the closest thing to matching for the functions its used in. Needs more work. #define SCRIPT_ALLOC(new, index) \ diff --git a/include/messages.h b/include/messages.h index f580a18400..c8a8789817 100644 --- a/include/messages.h +++ b/include/messages.h @@ -5,7 +5,7 @@ typedef s32 MessageID; -#define MESSAGE_ID(section, index) ((section << 0x10) + index) +#define MESSAGE_ID(section, index) (((section << 0x10) + index)) #define MessageID_TATTLE_KMR_03 MESSAGE_ID(0x19, 0x3B) #define MessageID_TATTLE_KMR_12 MESSAGE_ID(0x19, 0x40) diff --git a/include/nu/nualsgi.h b/include/nu/nualsgi.h new file mode 100644 index 0000000000..84030df1d9 --- /dev/null +++ b/include/nu/nualsgi.h @@ -0,0 +1,346 @@ +/*======================================================================*/ +/* NuSYS Audio Library for SGI Library & naudio */ +/* nualsgi.h */ +/* */ +/* Copyright (C) 1997, NINTENDO Co,Ltd. */ +/* */ +/* $Id: nualsgi.h,v 1.10 1999/01/14 05:45:36 ohki Exp ohki $ */ +/*======================================================================*/ +#ifndef _NUALSGI_H_ +#define _NUALSGI_H_ + +#ifdef _LANGUAGE_C_PLUS_PLUS +extern "C" { +#endif +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/* DEFINE */ +/*----------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/* AUDIO MANAGER DEFINE */ +/*----------------------------------------------------------------------*/ +/* AUDIO HEAP calculation */ +/* */ +/* (1) alInit heap size */ +/* AUDIO HEAP calls the function alHeapAlloc to allocate heap memory when synthesizer, */ +/* sequence, or sound drivers are initialized. */ +/* The size of the alHeap area required is determined as follows. */ +/* */ +/* */ +/* 144 + maxPVoices * 432 + 32 * maxUPdates + FxType */ +/* */ +/* FxType varies with the type of effect and takes the following values. */ +/* AL_FX_NONE 0 */ +/* AL_FX_SMALLROOM 8192 */ +/* AL_FX_BIGROOM 8224 */ +/* AL_FX_ECHO 1640 */ +/* AL_FX_CHORUS 304 */ +/* AL_FX_FLANGE 304 */ +/* */ +/* (2) Heap size for alSeqpNew and alCSPNew */ +/* */ +/* maxChannels * 16 + maxVoices * 64 + maxEvents * 32 */ +/* */ +/* (3)Heap size for alSndpNew */ +/* */ +/* maxSounds * 48 + maxEvents * 32 */ +/* */ +/*----------------------------------------------------------------------*/ +/*--------------------------------------*/ +/* SYNTHE DEFINE */ +/*--------------------------------------*/ +#define NU_AU_SYN_VVOICE_MAX 64 /* Maximum number of virtual voices (Not actually used).*/ +#define NU_AU_SYN_PVOICE_MAX 32 /* Maximum number of physical voices. */ +#define NU_AU_SYN_UPDATE_MAX 128 /* Maximum number of synthesizer parameter updates*/ +#define NU_AU_SYN_HEAP_SIZE (144+NU_AU_SYN_PVOICE_MAX*432+32*NU_AU_SYN_UPDATE_MAX+0x2000) + +/*--------------------------------------*/ +/* SEQUENCE DEFINE */ +/*--------------------------------------*/ +#define NU_AU_SEQ_VOICE_MAX 24 /* Maximum number of voices*/ +#define NU_AU_SEQ_EVENT_MAX 48 /* Number of events */ +#define NU_AU_SEQ_CHANNEL_MAX 16 /* Number of MIDI channels (typically 16) */ +#define NU_AU_SEQ_HEAP_SIZE (16*NU_AU_CHANNEL_MAX+32*NU_AU_EVENT_MAX) +#define NU_AU_SEQ_PLAYER0 0 +#define NU_AU_SEQ_PLAYER1 1 +#define NU_AU_SEQ_MODE_FADEOUT 0x0001 +#define NU_AU_SEQ_MODE_PLAYPENDING 0x0002 + + +/*--------------------------------------*/ +/* SOUND DEFINE */ +/*--------------------------------------*/ +#define NU_AU_SND_SOUND_MAX 8 /* Maximum number of sounds*/ +#define NU_AU_SND_EVENT_MAX (NU_AU_SND_SOUND_MAX*2) /* Maximum number of events */ +#define NU_AU_SND_HEAP_SIZE (NU_AU_SND_SOUND_MAX*48+NU_AU_SND_EVENT*64) + +/*--------------------------------------*/ +/* AUDIO DMA DEFINE */ +/*--------------------------------------*/ +#define NU_AU_DMA_BUFFER_NUM 64 /* Number of DMA transfer buffers */ +#define NU_AU_DMA_BUFFER_SIZE 1024 /* Size of the DMA buffer */ +#define NU_AU_BUFFER_USE_FRAME 1 /* Frame interval for the cleared DMA buffer */ + +/*--------------------------------------*/ +/* SOUND DEFINE */ +/*--------------------------------------*/ +#define NU_AU_MGR_THREAD_PRI 70 +#define NU_AU_MGR_THREAD_ID 6 +#define NU_AU_STACK_SIZE 0x2000 +#define NU_AU_CLIST_LEN 0x800 +#define NU_AU_CLIST_SIZE (NU_AU_CLIST_LEN*sizeof(Acmd)) /* Buffer size for the command list */ + +#define NU_AU_BUFFER_MAX 0x1000 /* Size of the buffer for the synthesizer */ +#define NU_AU_OUTPUT_RATE 32000 /* Set the frequency. */ +#define NU_AU_MESG_MAX 8 +#define NU_AU_HEAP_MIN_SIZE (NU_AU_SND_HEAP_SIZE+NU_AU_SEQ_HEAP_SIZE+NU_AU_SYN_HEAP_SIZE+NU_AU_DMA_BUFFER_NUM*NU_AU_DMA_BUFFER_SIZE+NU_AU_CLIST_SIZE*2) +#define NU_AU_HEAP_SIZE 0x50000 /* Default HEAP size */ +#define NU_AU_HEAP_ADDR (NU_GFX_FRAMEBUFFER_ADDR - NU_AU_HEAP_SIZE) + +#ifdef N_AUDIO +#define NU_AU_AUDIO_SAMPLES 184 /* Sample number is a multiple of 16. */ +#else +#define NU_AU_AUDIO_SAMPLES 16 /* Sample number is a multiple of 16. */ +#endif /* N_AUDIO */ + +#define NU_AU_AUDIO_EXTRASMP 0 /* Number of extra samples */ + +#define NU_AU_TASK_STOP 0 /* Stop audio task execution. */ +#define NU_AU_TASK_RUN 1 /* Allow audio task execution. */ + +#define NU_AU_AI_FIFO_MSG 0x100 /* AI event message */ +#define NU_AU_AI_DEBUG_MSG 0x1000 /* For AI debugging */ + +#define NU_AU_FRAMERATE_NTSC 60 /* NTSC/MPAL */ +#define NU_AU_FRAMERATE_PAL 50 /* PAL */ + +/*--------------------------------------*/ +/* DEBUG & PERFORMANCE */ +/*--------------------------------------*/ +#define NU_AU_DEBUG_NORMAL 0x00000001 /* warning & error */ +#define NU_AU_DEBUG_DISABLEDMA 0x00010000 /* disable dma callback */ +#define NU_AU_DEBUG_DISABLEAI 0x00020000 /* disable set AI */ +#define NU_AU_DEBUG_DISABLETASK 0x00040000 /* disable task */ +#define NU_AU_DEBUG_FIFOOFF 0x00080000 /* FIFO EVENT OFF */ +#define NU_AU_DEBUG_RETRACEOFF 0x00100000 /* RETRACE EVENT OFF */ + +#define NU_AU_DEBUG_NODMABUF 0x00000001 /* No DMA Buffer */ +#define NU_AU_DEBUG_ACMDBUFOVER 0x00000002 /* Acmd buffer is small */ +#define NU_AU_DEBUG_DMABUFSIZE 0x00000004 /* dma buffer size is small */ +#define NU_AU_DEBUG_DMANOTCOMPLETE 0x00000008 /* dma not completed */ + +#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) +#include +#ifdef N_AUDIO +#include +#include +#else /* N_AUDIO */ +#include +#endif /* N_AUDIO */ + +/*--------------------------------------*/ +/* audio typedef */ +/*--------------------------------------*/ +/*--------------------------------------*/ +/* DMA BUFFER STRUCT */ +/*--------------------------------------*/ +typedef struct { + ALLink node; /* Pointer to the linked list*/ + s32 startAddr; /* Address in data ROM */ + s32 frameCnt; /* Buffer frame counter */ + char* ptr; /* Value of the pointer to buffer */ +} NUDMABuffer; +/*--------------------------------------*/ +/* DMA callback for the Sequence Player */ +/* DMA status used by the routines */ +/* Structure that stores the use status of the DMABuffer*/ +/*--------------------------------------*/ +typedef struct { + u8 initialized; /* Flag indicating whether the structure has been initialized */ + NUDMABuffer* firstUsed; /* Start of the DMA Buffer linked list being used */ + NUDMABuffer* firstFree; /* Start of the free DMA Buffer linked list */ +} NUDMAState; + +/* Sequence Display structure*/ +typedef struct st_Seqence{ + ALCSPlayer player; /* Sequence Display structure */ + ALCSeq sequence; + u8* data_ptr; /* Sequence data */ + s32 seqno; /* Sequence No. */ + u32 mode; /* Control extension */ + u16 counter; + u16 speed; +} NUAuSeqPlayer; + +typedef struct st_SndState { + ALSndId* Id; + u8 flag; +} NUAuSndId; + + +/*--------------------------------------*/ +/* CALL BACK Function typedef */ +/*--------------------------------------*/ +typedef void (*NUAuPreNMIFunc)(NUScMsg,u32); /* PRENMI callback function */ +typedef void (*NUAuMgrFunc)(void); /* Acmd callback function */ + +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/* extern variables */ +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/*--------------------------------------*/ +/* audio variables */ +/*--------------------------------------*/ +extern u64* nuAuMgrStack; +extern NUScTask nuAuTask; /* Audio task buffer*/ +extern s16* nuAuBuffer_ptr[]; /* Audio buffer */ +extern NUScClient nuAuClient; +extern OSThread nuAuMgrThread; +extern u32 nuAuFrameCounter; /* Frame counter */ +extern ALHeap nuAuHeap; /* Heap structure */ +extern NUAuSeqPlayer nuAuSeqPlayer[]; +extern u8* nuAuSeqData; +extern ALBankFile* nuAuSeqBank_ptr; +extern ALSeqFile* nuAuSeqFile_ptr; +extern ALSndPlayer nuAuSndPlayer; +extern ALBankFile* nuAuSndBank_ptr; +extern ALSndId* nuAuSndId; +extern ALSynConfig nuAuSynConfig; +extern ALSeqpConfig nuAuSeqpConfig; +extern ALSndpConfig nuAnSndpConfig; +extern u8 nuAuTaskStop; +extern u8 nuAuPreNMI; +extern NUAuPreNMIFunc nuAuPreNMIFunc; +extern NUAuMgrFunc nuAuMgrFunc; +extern OSMesgQueue nuAuMesgQ; /* Audio Manager queue */ +extern ALGlobals nuAuGlobal; +extern s16 nuAuDmaBufNum; +extern s16 nuAuDmaBufSize; +extern NUDMAState nuAuDmaState; +extern NUDMABuffer* nuAuDmaBuf; +extern Acmd* nuAuCmdListBuf; /* pointer of command list */ +extern u32 nuAuAcmdLen; +extern u8 nuAuRetraceCount; + + +extern u32 nuAuDebFlag; +extern u32 nuAuDebStatus; /* Status flag */ +extern u32 nuAuDebDmaCount; /* Total number of PI-DMAs */ +extern u32 nuAuDebDmaFrame; /* DMA counter */ +extern u32 nuAuDebDmaMax; /* Maximum number of PI-DMAs */ +extern u32 nuAuDebDmaBufMaxUse;/* Maximum number of DMA buffers used */ +extern u32 nuAuDebDmaCallbackCount;/* Total number of DMA callbacks */ +extern u32 nuAuDebDmaCallbackFrame;/* Number of DMA callbacks */ +extern u32 nuAuDebDmaCallbackMax; /* Maximum number of DMA callbacks*/ +extern u32 nuAuDebAcmdLenMax; /* Maximum length of the audio command list */ + +extern s16 nuAuFrameSampleSize; /* Number of samples created at one time */ +extern s16 nuAuExtraSampleSize; /* Number of extra samples */ +extern ALSynConfig nuAuSynConfig; +extern ALSeqpConfig nuAuSeqpConfig; +extern ALSndpConfig nuAuSndpConfig; + +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/* Global Function */ +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/*--------------------------------------*/ +/* audio Manager function */ +/*--------------------------------------*/ +extern s32 nuAuInit(void); +extern s32 nuAuInitEx(void); +extern s32 nuAuMgrInit(void* heap_ptr, u32 size, ALSynConfig* synconfig); +extern s32 nuAuMgrInitEx(void* heap_ptr, u32 size, ALSynConfig* synConfig); + +extern void nuAuSeqPlayerInit(ALSeqpConfig* seqpconfig, u32 size, u32 player_no); +extern void nuAuSeqPlayerBankSet(u8* bank_addr, u32 bank_size, u8* table_addr); +extern void nuAuSeqPlayerPlay(u32 player_no); +extern void nuAuSeqPlayerSeqSet(u8* seq_addr); +extern void nuAuSeqPlayerSetNo(u32 player_no ,u32 seq_no); +extern void nuAuSeqPlayerFadeOut(u32 player_no ,u32 speed); +extern void nuAuSeqPlayerControl(void); + +extern void nuAuSndPlayerInit(ALSndpConfig* sndconfig); +extern void nuAuSndPlayerBankSet(u8* bank_addr, u32 bank_size, u8* table_addr); +extern ALSndId nuAuSndPlayerPlay(u32 sndNo); +extern void nuAuPreNMIFuncSet(NUAuPreNMIFunc func); +extern void nuAuPreNMIProc(NUScMsg mesg_type, u32 frameCounter); +extern void nuAuMgrFuncSet(NUAuMgrFunc func); +extern ALDMAproc nuAuDmaNew(NUDMAState **state); +extern void nuAuCleanDMABuffers(void); + +extern void nuAuHeapInit(ALHeap* hp, u8* base, s32 len); +extern void* nuAuHeapAlloc(s32 length); +extern s32 nuAuHeapGetFree(void); +extern s32 nuAuHeapGetUsed(void); + +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/* MACRO */ +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ + +/* Delete the callback function */ +#define nuAuPreNMIFuncRemove() nuAuPreNMIFuncSet(NULL) +#define nuAuMgrFuncRemove() nuAuMgrFuncSet(NULL) + +#define nuAuSeqPlayerGetChlVol(player_no, chan) \ + alCSPGetChlVol(&nuAuSeqPlayer[player_no].player, chan) +#define nuAuSeqPlayerGetChlFXMix(player_no, chan) \ + alCSPGetChlFXMix(&nuAuSeqPlayer[player_no].player, chan) +#define nuAuSeqPlayerGetChlPan(player_no, chan) \ + alCSPGetChlPan(&nuAuSeqPlayer[player_no].player, chan) +#define nuAuSeqPlayerGetChlPriority(player_no, chan) \ + alCSPGetChlPriority(&nuAuSeqPlayer[player_no].player, chan) +#define nuAuSeqPlayerGetChlProgram(player_no, chan) \ + alCSPGetChlProgram(&nuAuSeqPlayer[player_no].player, chan) +#define nuAuSeqPlayerGetSeq(player_no) \ + alCSPGetSeq(&nuAuSeqPlayer[player_no].player) +#define nuAuSeqPlayerGetSeqno(player_no) \ + nuAuSeqPlayer[player_no].seqno +#define nuAuSeqPlayerGetState(player_no) \ + alCSPGetState(&nuAuSeqPlayer[player_no].player) +#define nuAuSeqPlayerGetTempo(player_no) \ + alCSPGetTempo(&nuAuSeqPlayer[player_no].player) +#define nuAuSeqPlayerGetVol(player_no) \ + alCSPGetVol(&nuAuSeqPlayer[player_no].player) +#define nuAuSeqPlayerStop(player_no) \ + alCSPStop(&nuAuSeqPlayer[player_no].player) +#define nuAuSeqPlayerSetVol(player_no, vol) \ + alCSPSetVol(&nuAuSeqPlayer[player_no].player, vol) +#define nuAuSeqPlayerSetTempo(player_no, tempo) \ + alCSPSetTempo(&nuAuSeqPlayer[player_no].player, tempo) +#define nuAuSeqPlayerSetChlProgram(player_no, chan, prog) \ + alCSPSetChlProgram(&nuAuSeqPlayer[player_no].player, chan, prog) +#define nuAuSeqPlayerSetChlPriority(player_no, chan, priority) \ + alCSPSetChlPriority(&nuAuSeqPlayer[player_no].player, chan, priority) +#define nuAuSeqPlayerSetChlPan(player_no, chan, pan) \ + alCSPSetChlPan(&nuAuSeqPlayer[player_no].player, chan, pan) +#define nuAuSeqPlayerSetChlFXMix(player_no, chan, fxmix) \ + alCSPSetChlFXMix(&nuAuSeqPlayer[player_no].player, chan, fxmix) +#define nuAuSeqPlayerSetChlVol(player_no, chan, vol) \ + alCSPSetChlVol(&nuAuSeqPlayer[player_no].player, chan, vol) +#define nuAuSeqPlayerSendMidi(player_no, ticks, status, byte1, byte2) \ + alCSPSetPlayerSendMidi(&nuAuSeqPlayer[player_no].player, ticks, status, byte1, byte2) + +#define nuAuSndPlayerGetState() alSndpGetState(&nuAuSndPlayer) +#define nuAuSndPlayerPlayAt(delta) alSndpPlayAt(&nuAuSndPlayer,delta) +#define nuAuSndPlayerSetFXMix(mix) alSndpSetFXMix(&nuAuSndPlayer,mix) +#define nuAuSndPlayerSetPan(pan) alSndpSetPan(&nuAuSndPlayer,pan) +#define nuAuSndPlayerSetPitch(pitch) alSndpSetPitch(&nuAuSndPlayer,pitch) +#define nuAuSndPlayerSetPriority(id,priority) alSndpSetPriority(&nuAuSndPlayer,id,priority) +#define nuAuSndPlayerSetVol(vol) alSndpSetVol(&nuAuSndPlayer,vol) +#define nuAuSndPlayerStop() alSndpStop(&nuAuSndPlayer) +#define nuAuSndPlayerSetSound(SndId) alSndpSetSound(&nuAuSndPlayer,SndId) + + +/*----------------------------------------------------------------------*/ +#endif /* defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) */ +#ifdef _LANGUAGE_C_PLUS_PLUS +} +#endif +#endif /* _NUALSGI_H_ */ diff --git a/include/nu/nusys.h b/include/nu/nusys.h index 6a3fe46df0..f7f43bd180 100644 --- a/include/nu/nusys.h +++ b/include/nu/nusys.h @@ -1,1099 +1,1099 @@ -/*======================================================================*/ -/* NuSYS */ -/* nusys.h */ -/* */ -/* Copyright (C) 1997, NINTENDO Co,Ltd. */ -/* */ -/*----------------------------------------------------------------------*/ -/* Ver 1.0 97/10/09 Created by Kensaku Ohki(SLANP) */ -/* Ver 1.2 98/07/12 Modified by Kensaku Ohki(SLANP) */ -/* Ver 2.0 90/01/23 Modified by Kensaku Ohki(SLANP) */ -/*----------------------------------------------------------------------*/ -/* $Id: nusys.h,v 1.26 1999/05/07 08:23:45 ohki Exp ohki $ */ -/*======================================================================*/ -#ifndef _NUSYS_H_ -#define _NUSYS_H_ - -#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) - -#ifndef F3DEX_GBI -#define F3DEX_GBI -#endif /* F3DEX_GBI */ - -#include -#include -#endif - -#ifdef _LANGUAGE_C_PLUS_PLUS -extern "C" { -#endif - -/*----------------------------------------------------------------------*/ -/*----------------------------------------------------------------------*/ -/* DEFINE */ -/*----------------------------------------------------------------------*/ -/*----------------------------------------------------------------------*/ -#define NU_VERSION "2.05" - -/*--------------------------------------*/ -/* NuSystem spec define */ -/*--------------------------------------*/ -#define NU_SPEC_BOOT_STACK_SIZE 0x2000 -#define NU_SPEC_BOOT_ADDR 0x80025c00 -#define NU_SPEC_BOOT_STACK nuMainStack + NU_SPEC_BOOT_STACK_SIZE - -/*--------------------------------------*/ -/* Thread ID for DEBUG (a precaution) */ -/*--------------------------------------*/ -#define NU_IDLE_THREAD_ID 1 -#define NU_RMON_THREAD_ID 2 /* no use */ -#define NU_MAIN_THREAD_ID 3 - - -/*--------------------------------------*/ -/* NuSYS Thread Priority */ -/*--------------------------------------*/ -#define NU_IDLE_THREAD_PRI OS_PRIORITY_IDLE /* Idle thread */ -#define NU_RMON_THREAD_PRI OS_PRIORITY_RMON /* no use */ -#define NU_MAIN_THREAD_PRI 10 /* main thread */ - -/*--------------------------------------*/ -/* NUSYS STACK SIZE */ -/*--------------------------------------*/ -#define NU_IDLE_STACK_SIZE 0x2000 /* Idle thread */ -#define NU_RMON_STACK_SIZE 0x2000 /* Rmon thread */ -#define NU_MAIN_STACK_SIZE NU_SPEC_BOOT_STACK_SIZE /* Main thread */ - - - - -/*----------------------------------------------------------------------*/ -/* SCHEDULER DEFINE */ -/*----------------------------------------------------------------------*/ -#define NU_SC_STACK_SIZE 0x2000 /* Thread stack size */ -#define NU_SC_NOSWAPBUFFER 0x0000 /* No swap */ -#define NU_SC_SWAPBUFFER 0x0001 /* Swap frame buffer */ -#define NU_SC_NORDP 0x0002 /* Do not wait for RDP finish */ -#define NU_SC_UCODE_XBUS 0x0004 /* XBUS Ucode */ -#define NU_SC_TASK_YIELDED (OS_TASK_YIELEDE<<16) -#define NU_SC_TASK_DP_WAIT (OS_TASK_DP_WAIT<<16) /* RDP WAIT */ -#define NU_SC_TASK_LODABLE (OS_TASK_LOADBLE<<16) /* LOADABLE */ -#define NU_SC_TASK_SP_ONLY (OS_TASK_SP_ONLY<<16) /* SP ONLY */ - - -#define NU_SC_RETRACE_MSG 0x0001 /* Retrace message */ -#define NU_SC_PRENMI_MSG 0x0002 /* NMI message */ -#define NU_SC_SWAPBUFFER_MSG 0x0004 /* Swap frame buffer message*/ -#define NU_SC_GTASKEND_MSG 0x0008 /* Task finished message */ -#define NU_SC_MAX_MESGS 8 /* Message buffer size */ - -#define NU_SC_HANDLER_PRI 120 /* EVENT HANDLER THREAD PRORITY */ -#define NU_SC_AUDIO_PRI 110 /* AUDIO DISPATCHER THREAD PRORITY */ -#define NU_SC_GRAPHICS_PRI 100 /* GFX DISPATCHER THREAD PRORITY */ -#define NU_SC_HANDLER_THREAD_ID 19 -#define NU_SC_AUDIO_THREAD_ID 18 -#define NU_SC_GRAPHICS_THREAD_ID 17 -#define NU_SC_PRENMI_YET 0 /* PRE NMI has not occurred. */ -#define NU_SC_PRENMI_GET 1 /* PRE NMI received flag */ -#define NU_SC_BEFORE_RESET 2 /* Pre-RESET flag for frame before reset */ -#define NU_SC_BEFORE_RESET_FRAME 2 /* Number of frames before reset where BEFORE_RESET flag is set. */ -/*----------------------------------------------------------------------*/ -/* GRAFIC THREAD DEFINE */ -/*----------------------------------------------------------------------*/ -#define NU_GFX_THREAD_ID 4 -#define NU_GFX_TASKMGR_THREAD_ID 5 -#define NU_GFX_STACK_SIZE 0x2000 /* Thread stack size */ -#define NU_GFX_MESGS 8 /* GFX message queue*/ -#define NU_GFX_TASKMGR_STACK_SIZE 0x2000 /* Stack size */ -#define NU_GFX_TASKMGR_MESGS 8 /*Task Manager queue*/ -#define NU_GFX_THREAD_PRI 50 /* GFX thread priority */ -#define NU_GFX_TASKMGR_THREAD_PRI 60 /* Task Manager priority */ - -/*----------------------------------------------------------------------*/ -/* GRAFIC MANEGER DEFINE */ -/*----------------------------------------------------------------------*/ -#ifdef F3DEX_GBI_2 -#define NU_GFX_UCODE_F3DEX2 0 /* F3DEX microcode */ -#define NU_GFX_UCODE_F3DEX2_NON 1 /* F3DEX.NoN microcode */ -#define NU_GFX_UCODE_F3DEX2_REJ 2 /* F3DEX.NoN microcode */ -#define NU_GFX_UCODE_F3DLX2_REJ 3 /* F3DEX.ReJ microcode */ -#define NU_GFX_UCODE_L3DEX2 4 /* L3DEX microcode */ -#define NU_GFX_UCODE_S2DEX2 5 /* S2DEX microcode */ - -#define NU_GFX_UCODE_F3DEX 0 /* For compatibility */ -#define NU_GFX_UCODE_F3DEX_NON 1 /* For compatibility */ -#define NU_GFX_UCODE_F3DLX 0 /* For compatibility */ -#define NU_GFX_UCODE_F3DLX_NON 1 /* For compatibility */ -#define NU_GFX_UCODE_F3DLX_REJ 4 /* For compatibility */ -#define NU_GFX_UCODE_F3DLP_REJ 3 /* For compatibility */ -#define NU_GFX_UCODE_L3DEX 4 /* For compatibility */ -#define NU_GFX_UCODE_S2DEX 5 /* For compatibility */ -#define NU_GFX_UCODE_S2DEX_D 5 /* For compatibility */ - -#else -#define NU_GFX_UCODE_F3DEX 0 /* F3DEX microcode */ -#define NU_GFX_UCODE_F3DEX_NON 1 /* F3DEX.NoN microcode */ -#define NU_GFX_UCODE_F3DLX 2 /* F3DLX microcode */ -#define NU_GFX_UCODE_F3DLX_NON 3 /* F3DLX.NoN microcode */ -#define NU_GFX_UCODE_F3DLX_REJ 4 /* F3DEX.ReJ microcode */ -#define NU_GFX_UCODE_F3DLP_REJ 5 /* F3DLP.Rej microcode */ -#define NU_GFX_UCODE_L3DEX 6 /* L3DEX microcode */ -#define NU_GFX_UCODE_S2DEX 7 /* S2DEX microcode */ -#define NU_GFX_UCODE_S2DEX_D 8 /* S2DEX microcode */ -#endif /* F3DEX_GBI_2 */ - - -/*----------------------------------------------*/ -/* The number of graphics task structures */ -/* should be set to a value at least as large as*/ -/* the Scheduler */ -/* message buffer size. */ -/* Otherwise, a task structure in use may */ -/* be used. */ -/*----------------------------------------------*/ -#define NU_GFX_TASK_NUM 10 /* Number of graphics task structures */ -#define NU_GFX_RDP_OUTPUTBUFF_SIZE 0x20000 /* fifo buffer size */ - -/*--------------------------------------*/ -/* Default frame buffer */ -/* The default frame buffer */ -/* is the 320x240 16-bit triple */ -/* xxbuffer in the high-order */ -/* area of RDRAM.xx */ -/*--------------------------------------*/ -#define NU_GFX_FRAMEBUFFER_NUM 3 -#define NU_GFX_FRAMEBUFFER_ADDR (0x80400000-320*240*2*3) -#define NU_GFX_FRAMEBUFFER0_ADDR (NU_GFX_FRAMEBUFFER_ADDR) -#define NU_GFX_FRAMEBUFFER1_ADDR (NU_GFX_FRAMEBUFFER0_ADDR+320*240*2) -#define NU_GFX_FRAMEBUFFER2_ADDR (NU_GFX_FRAMEBUFFER1_ADDR+320*240*2) - -#define NU_GFX_INIT_SCREEN_WD 320 -#define NU_GFX_INIT_SCREEN_HT 240 - -/*--------------------------------------*/ -/* Default Z -buffer is located in */ -/* xxlow-order memory.xx */ -/*--------------------------------------*/ -#define NU_GFX_ZBUFFER_ADDR 0x80000400 - -#define NU_GFX_DISPLAY_OFF 0 /* No display */ -#define NU_GFX_DISPLAY_ON 1 /* Display */ -#define NU_GFX_DISPLAY_ON_TRIGGER 0x80 /* Trigger */ - -#define NU_GFX_YIELD_BUF_SIZE (OS_YIELD_DATA_SIZE + 0x10) - -/*----------------------------------------------------------------------*/ -/* SI MANAGER DEFINE */ -/*----------------------------------------------------------------------*/ -#define NU_SI_STACK_SIZE NU_CONT_STACK_SIZE -#define NU_SI_THREAD_ID NU_CONT_THREAD_ID -#define NU_SI_THREAD_PRI NU_CONT_THREAD_PRI -#define NU_SI_MESG_MAX NU_CONT_MESG_MAX -#define NU_SI_CALLBACK_END 1 -#define NU_SI_CALLBACK_CONTINUE 0 -#define NU_SI_SC_MAJOR_NO 0x0000 -#define NU_SI_MSG_MAJOR_NO_MASK 0xff00 -#define NU_SI_MSG_MINOR_NO_MASK 0x00ff - -#define NU_SI_MAJOR_NO_CONT 0x0100 -#define NU_SI_MAJOR_NO_PAK 0x0200 -#define NU_SI_MAJOR_NO_RMB 0x0300 -#define NU_SI_MAJOR_NO_EEPROM 0x0400 -#define NU_SI_MAJOR_NO_GBPAK 0x0500 -#define NU_SI_MAJOR_NO_VRS 0x0600 -#define NU_SI_STOP_MGR_MSG 0x7F00 - -/*----------------------------------------------------------------------*/ -/* CONTROLLER MANEGER DEFINE */ -/*----------------------------------------------------------------------*/ -#define NU_CONT_MAXCONTROLLERS MAXCONTROLLERS -#define NU_CONT_STACK_SIZE 0x2000 -#define NU_CONT_MESG_MAX 8 -#define NU_CONT_THREAD_ID 6 -#define NU_CONT_THREAD_PRI 115 -#define NU_CONT_DATA_UNLOCK 0 -#define NU_CONT_DATA_LOCK 1 - - -/*----------------------------------------------------------------------*/ -/* Define messages sent to the Controller Manager */ -/*----------------------------------------------------------------------*/ -#define NU_CONT_MSG_BASE NU_SI_MAJOR_NO_CONT -#define NU_CONT_RETRACE_MSG (NU_CONT_MSG_BASE+0) -#define NU_CONT_READ_MSG (NU_CONT_MSG_BASE+1) -#define NU_CONT_READ_NW_MSG (NU_CONT_MSG_BASE+2) -#define NU_CONT_QUERY_MSG (NU_CONT_MSG_BASE+3) - - -#define NU_CONT_PAK_MSG_BASE NU_SI_MAJOR_NO_PAK -#define NU_CONT_PAK_RETRACE_MSG (NU_CONT_PAK_MSG_BASE+0) -#define NU_CONT_PAK_OPEN_MSG (NU_CONT_PAK_MSG_BASE+1) -#define NU_CONT_PAK_FREE_MSG (NU_CONT_PAK_MSG_BASE+2) -#define NU_CONT_PAK_FOPEN_MSG (NU_CONT_PAK_MSG_BASE+3) -#define NU_CONT_PAK_READWRITE_MSG (NU_CONT_PAK_MSG_BASE+4) -#define NU_CONT_PAK_FILEDELETE_MSG (NU_CONT_PAK_MSG_BASE+5) -#define NU_CONT_PAK_FILESTATE_MSG (NU_CONT_PAK_MSG_BASE+6) -#define NU_CONT_PAK_FILENUM_MSG (NU_CONT_PAK_MSG_BASE+7) -#define NU_CONT_PAK_REPAIRID_MSG (NU_CONT_PAK_MSG_BASE+8) - -#define NU_CONT_PAK_MODE_NOCREATE 0 -#define NU_CONT_PAK_MODE_CREATE 1 -#define NU_CONT_PAK_TYPE_NONE 0 -#define NU_CONT_PAK_TYPE_PAK 1 /* Controller Pak */ -#define NU_CONT_PAK_TYPE_RUMBLE 2 /* Rumble Pak */ -#define NU_CONT_PAK_TYPE_GBPAK 3 /* 64GB Pak */ -#define NU_CONT_PAK_READ PFS_READ -#define NU_CONT_PAK_WRITE PFS_WRITE - -/*----------------------------------------------------------------------*/ -/* Rumble Pak control */ -/*----------------------------------------------------------------------*/ -#define NU_CONT_RMB_STATE_STOP 0x00 -#define NU_CONT_RMB_STATE_STOPPING 0x01 -#define NU_CONT_RMB_STATE_STOPPED 0x02 -#define NU_CONT_RMB_STATE_RUN 0x03 -#define NU_CONT_RMB_STATE_FORCESTOP 0x04 -#define NU_CONT_RMB_MODE_DISABLE 0x00 -#define NU_CONT_RMB_MODE_ENABLE 0x01 -#define NU_CONT_RMB_MODE_AUTORUN 0x02 -#define NU_CONT_RMB_MODE_PAUSE 0x80 -#define NU_CONT_RMB_AUTO_SEARCH 0x00 -#define NU_CONT_RMB_AUTO_FIND 0x01 -#define NU_CONT_RMB_AUTO_SEARCHTIME (60*5) -#define NU_CONT_RMB_MSG_BASE NU_SI_MAJOR_NO_RMB -#define NU_CONT_RMB_RETRACE_MSG (NU_CONT_RMB_MSG_BASE+0) -#define NU_CONT_RMB_CHECK_MSG (NU_CONT_RMB_MSG_BASE+1) -#define NU_CONT_RMB_START_MSG (NU_CONT_RMB_MSG_BASE+2) -#define NU_CONT_RMB_STOP_MSG (NU_CONT_RMB_MSG_BASE+3) -#define NU_CONT_RMB_FORCESTOP_MSG (NU_CONT_RMB_MSG_BASE+4) -#define NU_CONT_RMB_FORCESTOPEND_MSG (NU_CONT_RMB_MSG_BASE+5) - -/*----------------------------------------------------------------------*/ -/* EEPROM */ -/*----------------------------------------------------------------------*/ -#define NU_EEPROM_MSG_BASE NU_SI_MAJOR_NO_EEPROM -#define NU_EEPROM_RETRACE_MSG (NU_EEPROM_MSG_BASE+0) -#define NU_EEPROM_CHECK_MSG (NU_EEPROM_MSG_BASE+1) -#define NU_EEPROM_READ_MSG (NU_EEPROM_MSG_BASE+2) -#define NU_EEPROM_WRITE_MSG (NU_EEPROM_MSG_BASE+3) - - -/*----------------------------------------------------------------------*/ -/* 64GB Pack Manager */ -/*----------------------------------------------------------------------*/ -#define NU_CONT_GBPAK_MSG_BASE NU_SI_MAJOR_NO_GBPAK -#define NU_CONT_GBPAK_RETRACE_MSG (NU_CONT_GBPAK_MSG_BASE+0) -#define NU_CONT_GBPAK_OPEN_MSG (NU_CONT_GBPAK_MSG_BASE+1) -#define NU_CONT_GBPAK_STATUS_MSG (NU_CONT_GBPAK_MSG_BASE+2) -#define NU_CONT_GBPAK_POWER_MSG (NU_CONT_GBPAK_MSG_BASE+3) -#define NU_CONT_GBPAK_READID_MSG (NU_CONT_GBPAK_MSG_BASE+4) -#define NU_CONT_GBPAK_READWRITE_MSG (NU_CONT_GBPAK_MSG_BASE+5) -#define NU_CONT_GBPAK_CHECKCONNECTOR_MSG (NU_CONT_GBPAK_MSG_BASE+6) - -#define NU_CONT_GBPAK_POWER_OFF OS_GBPAK_POWER_OFF -#define NU_CONT_GBPAK_POWER_ON OS_GBPAK_POWER_ON -#define NU_CONT_GBPAK_MBC_RAM_ENABLE_CODE 0x0a -#define NU_CONT_GBPAK_MBC_RAM_DISABLE_CODE 0x00 -#define NU_CONT_GBPAK_MBC_RAM_REG0_ADDR 0x0000 - -#define NU_CONT_GBPAK_MBC_REG0_ADDR 0x0000 /* Register 0 */ -#define NU_CONT_GBPAK_MBC_REG1_ADDR 0x2100 /* Register 1 */ -#define NU_CONT_GBPAK_MBC_REG2_ADDR 0x4000 /* Register 2 */ -#define NU_CONT_GBPAK_MBC_REG3_ADDR 0x6000 /* Register 3 */ - -/*----------------------------------------------------------------------*/ -/* Voice Recognition System Manager */ -/*----------------------------------------------------------------------*/ -#define NU_VRS_MSG_BASE NU_SI_MAJOR_NO_VRS -#define NU_VRS_RETRACE_MSG (NU_VRS_MSG_BASE+0) -#define NU_VRS_OPEN_MSG (NU_VRS_MSG_BASE+1) -#define NU_VRS_CLEAR_DICTIONARY_MSG (NU_VRS_MSG_BASE+2) -#define NU_VRS_SET_WORD_MSG (NU_VRS_MSG_BASE+3) -#define NU_VRS_MASK_DICTIONARY_MSG (NU_VRS_MSG_BASE+4) -#define NU_VRS_START_READ_DATA_MSG (NU_VRS_MSG_BASE+5) -#define NU_VRS_GET_READ_DATA_MSG (NU_VRS_MSG_BASE+6) -#define NU_VRS_STOP_READ_DATA_MSG (NU_VRS_MSG_BASE+7) -#define NU_VRS_CONTROL_GAIN_MSG (NU_VRS_MSG_BASE+8) - -/*----------------------------------------------------------------------*/ -/* PI DEFINE */ -/*----------------------------------------------------------------------*/ -#define NU_PI_MESG_NUM 50 /* PI message buffer size */ -#define NU_PI_CART_BLOCK_READ_SIZE 0x4000 /* cart read block size */ - -/*----------------------------------------------------------------------*/ -/* DEBUG */ -/*----------------------------------------------------------------------*/ -#define NU_DEB_PERF_BUF_NUM 3 -#define NU_DEB_PERF_GFXTASK_CNT 8 /* Graphics task count */ -#define NU_DEB_PERF_AUTASK_CNT 4 /* Audio task count */ -#define NU_DEB_PERF_RUNNING 0 /* Sampling */ -#define NU_DEB_PERF_STOP 1 /* Stop sampling */ -#define NU_DEB_PERF_START 2 /* Start sampling */ -#define NU_DEB_DP_CLOCK_CTR 0 /* RDP internal counter */ -#define NU_DEB_DP_CMD_CTR 1 /* CMD counter */ -#define NU_DEB_DP_PIPE_CTR 2 /* PIPE counter */ -#define NU_DEB_DP_TMEM_CTR 3 /* TMEM counter */ -#define NU_DEB_BAR_FRAME1 0 /* For the performance bar */ -#define NU_DEB_BAR_FRAME2 1 /* Maximum number displayed */ -#define NU_DEB_BAR_FRAME3 2 -#define NU_DEB_BAR_FRAME4 3 -#define NU_DEB_BAR_FRAME5 4 -#define NU_DEB_BAR_FRAME6 5 -#define NU_DEB_BAR_FRAME7 6 -#define NU_DEB_CON_ROW_MAX 40 /* Number of rows in console */ -#define NU_DEB_CON_COLUMN_MAX 30 /* Number of columns in console */ -#define NU_DEB_CON_TEXT_SIZE (NU_DEB_CON_ROW_MAX*NU_DEB_CON_COLUMN_MAX) -#define NU_DEB_CON_WIDTH 320 -#define NU_DEB_CON_WINDOW_NUM 4 -#define NU_DEB_CON_WINDOW0 0 -#define NU_DEB_CON_WINDOW1 1 -#define NU_DEB_CON_WINDOW2 2 -#define NU_DEB_CON_WINDOW3 3 -#define NU_DEB_CON_TEXT_BLACK 0 /* Black */ -#define NU_DEB_CON_TEXT_BLUE 1 /* Blue */ -#define NU_DEB_CON_TEXT_GREEN 2 /* Green */ -#define NU_DEB_CON_TEXT_CYAN 3 /* Cyan */ -#define NU_DEB_CON_TEXT_RED 4 /* Red */ -#define NU_DEB_CON_TEXT_MAGENTA 5 /* Magenta */ -#define NU_DEB_CON_TEXT_YELLOW 6 /* yellow */ -#define NU_DEB_CON_TEXT_WHITE 7 /* White */ -#define NU_DEB_CON_TEXT_LIGHTBLACK 8 /* Gray */ -#define NU_DEB_CON_TEXT_LIGHTBLUE 9 /* Bright Blue */ -#define NU_DEB_CON_TEXT_LIGTHBLUE 9 /* Bright Blue (misspelled) */ -#define NU_DEB_CON_TEXT_LIGHTGREEN 10 /* Bright Green */ -#define NU_DEB_CON_TEXT_LIGHTCYAN 11 /* Bright Cyan */ -#define NU_DEB_CON_TEXT_LIGHTRED 12 /* Bright Red */ -#define NU_DEB_CON_TEXT_LIGHTMAGENTA 13 /* Bright Magenta */ -#define NU_DEB_CON_TEXT_LIGHTYELLOW 14 /* Bright yellow */ -#define NU_DEB_CON_TEXT_LIGHTWHITE 15 /* White */ -#define NU_DEB_CON_ATTR_NORMAL 0x0 /* No attribute*/ -#define NU_DEB_CON_ATTR_BLINK 0x1 /* Blinking */ -#define NU_DEB_CON_ATTR_REVERSE 0x2 /* Highlight */ -#define NU_DEB_CON_SCROLL_ON 1 -#define NU_DEB_CON_SCROLL_OFF 0 -#define NU_DEB_CON_WINDOW_OFF 0 -#define NU_DEB_CON_WINDOW_ON 1 - -#define NU_DEB_MARKER_NUM 10 - -#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) -/*----------------------------------------------------------------------*/ -/*----------------------------------------------------------------------*/ -/* structer define */ -/*----------------------------------------------------------------------*/ -/*----------------------------------------------------------------------*/ -/*--------------------------------------*/ -/* Scheduler sturcter */ -/*--------------------------------------*/ -typedef short NUScMsg; /* Scheduler message type */ - -typedef struct st_SCClient { /* Client list structure */ - struct st_SCClient* next; /* Pointer to next client */ - OSMesgQueue* msgQ; /* Message sent to client */ - NUScMsg msgType; /* Type of message */ - /* NU_SC_RETRACE_MSG or*/ - /* NU_SC_PRENMI_MSG */ -} NUScClient; - -typedef struct st_SCTask { /* Task structure */ - struct st_SCTask *next; - u32 state; - u32 flags; - void *framebuffer; /* For graphics tasks */ - OSTask list; - OSMesgQueue *msgQ; - OSMesg msg; -} NUScTask; - -typedef struct st_Sched { /* Define the Scheduler structure. */ - - /* message */ - NUScMsg retraceMsg; - NUScMsg prenmiMsg; - - /* Define the Task request queue. */ - OSMesgQueue audioRequestMQ; - OSMesg audioRequestBuf[NU_SC_MAX_MESGS]; - OSMesgQueue graphicsRequestMQ; - OSMesg graphicsRequestBuf[NU_SC_MAX_MESGS]; - - /* Define the message queue. */ - OSMesgQueue retraceMQ; - OSMesg retraceMsgBuf[NU_SC_MAX_MESGS]; - OSMesgQueue rspMQ; - OSMesg rspMsgBuf[NU_SC_MAX_MESGS]; - OSMesgQueue rdpMQ; - OSMesg rdpMsgBuf[NU_SC_MAX_MESGS]; - - /* Implement wait for next retrace. */ - OSMesgQueue waitMQ; - OSMesg waitMsgBuf[NU_SC_MAX_MESGS]; - - /* Define threads.*/ - OSThread schedulerThread; /* Main thread */ - OSThread audioThread; /* Audio */ - OSThread graphicsThread; /* Graphics */ - - /* client list */ - NUScClient *clientList; - - /* The graphics task being executed. */ - NUScTask *curGraphicsTask; - NUScTask *curAudioTask; - NUScTask *graphicsTaskSuspended; - - u32 retraceCount; - u8 frameRate; - u8 frameBufferNum; /* Number of frame buffers */ - - -} NUSched; - - -/*--------------------------------------*/ -/* ucode structure */ -/*--------------------------------------*/ -typedef struct st_Ucode { - u64* ucode; - u64* ucode_data; -} NUUcode; - -/*--------------------------------------*/ -/* CALL BACK Function typedef */ -/*--------------------------------------*/ -typedef void (*NUIdleFunc)(void); /* Pointer to the idle callback function */ -typedef void (*NUScPreNMIFunc)(void); /* Pointer to PRENMI callback function */ -typedef void (*NUGfxFunc)(u32); /* Pointer to the GFX retrace callback function */ -typedef void (*NUGfxPreNMIFunc)(void); /* Pointer to the GFX PRENMI callback function */ - -typedef void (*NUGfxSwapCfbFunc)(void*);/* Pointer to the SWAPBUF callback function */ -typedef void (*NUGfxTaskEndFunc)(void*);/* Pointer to the TASKEND callback function */ -typedef void (*NUContReadFunc)(u32); /* Pointer to the Controller end-read */ - /* callback function */ -typedef void (*NUContPakFunc)(void*); /* Controller Pak control function callback */ -typedef void (*NUContRmbFunc)(void*); /* Rumble Pak control function callback */ -typedef s32 (*NUCallBackFunc)(void*); /* Callback function */ - - -/*--------------------------------------*/ -/* PI Common Message */ -/*--------------------------------------*/ -typedef struct st_PiOverlaySegment { - u8* romStart; /* Segment's ROM start offset */ - u8* romEnd; /* Segment's ROM end offset */ - u8* ramStart; /* Segment's CPU start address */ - u8* textStart; /* test attribute's DRAM start address */ - u8* textEnd; /* test attribute's DRAM end address */ - u8* dataStart; /* data attribute's DRAM start address */ - u8* dataEnd; /* data attribute's DRAM end address */ - u8* bssStart; /* bss attribute's DRAM start address */ - u8* bssEnd; /* bss attribute's DRAM start address */ -} NUPiOverlaySegment; - -/*--------------------------------------*/ -/* SI Common message */ -/*--------------------------------------*/ -typedef struct st_SiCommonMesg { - NUScMsg mesg; - OSMesgQueue* rtnMesgQ; - s32 error; - void* dataPtr; -} NUSiCommonMesg; - -/*--------------------------------------*/ -/* controller typedef */ -/*--------------------------------------*/ -typedef struct st_ContRead { - NUScMsg mesg; /* Type of message */ - OSMesgQueue* rtnMesgQ; - OSContPad* pad; -} NUContReadMesg; - -typedef struct st_ContData { - u16 button; /* A,B,C,Z,L,R,START,PAD ,button */ - s8 stick_x; /* Range acutally used: -61 <= stick X <= 61 */ - s8 stick_y; /* Range actually used: -63 <= stick Y <= 63 */ - u8 errno; /* Error */ - u16 trigger; /* Button trigger data */ -} NUContData; - -typedef struct st_ContQuery { - NUScMsg mesg; - OSMesgQueue* rtnMesgQ; -} NUContQueryMesg; - - -typedef struct st_ContPakFile { - OSPfs *pfs; - s32 file_no; - s32 error; - u32 type; -} NUContPakFile; - - -typedef struct st_ContPakFreeMesg { - NUContPakFile* file; - s32 size; -} NUContPakFreeMesg; - -typedef struct st_ContPakFileOpenMesg { - NUContPakFile* file; - u8* noteName; - u8* extName; - s32 size; - s32 mode; -} NUContPakFileOpenMesg; - -typedef struct st_ContPakFileRWMesg { - NUContPakFile* file; - s32 offset; - s32 size; - u8 mode; - u8* buf; -} NUContPakFileRWMesg; - -typedef struct st_ContPakFileStateMesg { - NUContPakFile* file; - OSPfsState* state; -} NUContPakFileStateMesg; - -typedef struct st_ContPakFileNumMesg { - NUContPakFile* file; - s32* max_files; - s32* used_files; -} NUContPakFileNumMesg; - -typedef struct st_ContPakIsPlugMesg { - NUScMsg mesg; - OSMesgQueue* rtnMesgQ; - s32 error; - u8 bitPattern; -} NUContPakIsPlugMesg; - -typedef struct st_ContRmbCtl { - u16 freq; /* Vibration frequency */ - u16 frame; - u16 counter; - u8 state; - u8 mode; - u8 autorun; - u8 type; -} NUContRmbCtl; - -typedef struct st_ContRmbMesg { - u8 contNo; - s32 error; - void* data; -} NUContRmbMesg; - -typedef struct st_CallBackList { - struct st_CallBackList* next; - s32 (**func)(NUSiCommonMesg*); - u16 majorNo; - u8 funcNum; -} NUCallBackList; - -typedef struct st_EepromMesg { - void* dataPtr; - s32 error; - u8 address; - u16 dataLen; -} NUEepromMesg; - -typedef struct st_ContGBPakMesg { - NUContPakFile* handle; - s32 data[4]; -} NUContGBPakMesg; - -typedef OSVoiceHandle NUVrsHandle; - -typedef OSVoiceData NUVrsData; - -typedef struct stVrsMesg { - NUVrsHandle* vrsHandle; - s32 data[2]; -} NUVrsMesg; - -/*--------------------------------------*/ -/* Debug */ -/*--------------------------------------*/ -typedef struct st_GfxTaskTime { - s64 rspStart; /* RSPTask start time */ - s64 rspEnd; /* RSPTask end time */ - s64 rdpEnd; /* RDP end time */ - u32 dpCnt[4]; /* RDP internal counter */ -} NUDebTaskTime; - -typedef struct st_DebTaskPerf { - s64 retraceTime; /* retrace event time*/ - s64 markerTime[NU_DEB_MARKER_NUM]; - u8 gfxTaskCnt; /* Number of graphics tasks */ - u8 auTaskCnt; /* Number of audio tasks */ - u8 gfxTaskStart; - NUDebTaskTime gfxTaskTime[NU_DEB_PERF_GFXTASK_CNT]; - NUDebTaskTime auTaskTime[NU_DEB_PERF_AUTASK_CNT]; -} NUDebTaskPerf; - -/* Console window structure */ -typedef struct st_DebConWindow { - u8 windowFlag; /* On/off flag for console window display */ - u16 scroll; /* Scroll value */ - u8 scrollFlag; /* Scrolling enabled/disabled */ - u8 textColor; /* Character color */ - u8 attribute; /* Attribute */ - u16 posX; /* Column position for write */ - u16 posY; /* Line position for write */ - u16 index; /* Position for character buffer write */ - u16 winX; /* x-coordinate of console window display */ - u16 winY; /* y-coordinate of console window display */ - u16 winW; /* Number of columns in console display */ - u16 winH; /* Number of rows in console display */ - u16 text[NU_DEB_CON_TEXT_SIZE]; /* Character buffer*/ -} NUDebConWindow; - -/*----------------------------------------------------------------------*/ -/*----------------------------------------------------------------------*/ -/* extern variables */ -/*----------------------------------------------------------------------*/ -/*----------------------------------------------------------------------*/ - -extern u8 nuRDPOutputBuf[]; -extern u8 nuDramStack[]; -extern u8 nuYieldBuf[]; -extern NUSched nusched; /* Scheduler structure */ -extern OSMesgQueue nuGfxMesgQ; /* Graphics thread queue */ -extern u32 nuScRetraceCounter; /* Retrace counter */ -extern u8 nuScPreNMIFlag; -/*--------------------------------------*/ -/* graphics variables */ -/*--------------------------------------*/ -extern NUUcode* nuGfxUcode; /* Pointer to GFX microcode structure */ -extern u16** nuGfxCfb; /* Pointer to array of pointers to frame buffers */ -extern u16* nuGfxCfb_ptr; /* Pointer to to frame buffer */ -extern u32 nuGfxCfbNum; /* Number of frame buffers */ -extern u16* nuGfxZBuffer; /* Pointer to the Z buffer */ -extern volatile u32 nuGfxTaskSpool; /* Number of tasks in queue */ -extern u32 nuGfxDisplay; /* Display on/off flag */ -extern u32 nuGfxCfbCounter; /* For frame buffer swapping */ -extern OSMesgQueue nuGfxMesgQ; -extern OSThread nuGfxThread; /* graphic thread */ - -/*--------------------------------------*/ -/* controller Manager variables */ -/*--------------------------------------*/ -extern OSContStatus nuContStatus[]; -extern OSContPad nuContData[]; -extern u32 nuContNum; /* Number of controllers connected */ -extern u32 nuContDataLockKey; /* Lock Controller data. */ -extern OSMesgQueue nuContWaitMesgQ; /* Wait for Controller read */ -extern OSPfs nuContPfs[]; -extern NUCallBackList nuContCallBack; -extern u16 nuContPakCompanyCode; /* Company code */ -extern u32 nuContPakGameCode; /* Game code */ -extern NUCallBackList nuContPakCallBack; - -/*--------------------------------------*/ -/* RUMBUL Manager variables */ -/*--------------------------------------*/ -extern NUContRmbCtl nuContRmbCtl[]; -extern u32 nuContRmbSearchTime; -extern NUCallBackList nuContRmbCallBack; - - -/*--------------------------------------*/ -/* EEPROM Manager variables */ -/*--------------------------------------*/ -extern NUCallBackList nuEepromCallBack; - -/*--------------------------------------*/ -/* 64GBPack Manager variables */ -/*--------------------------------------*/ -extern NUCallBackList nuContGBPakCallBack; - -/*--------------------------------------*/ -/* VRS Manager variables */ -/*--------------------------------------*/ -extern NUCallBackList nuVrsCallBack; - -/*--------------------------------------*/ -/* si variables */ -/*--------------------------------------*/ -extern OSMesgQueue nuSiMesgQ; /* SI event message queue */ -extern OSMesgQueue nuSiMgrMesgQ; /* SI Manager queue */ -extern NUCallBackList* nuSiCallBackList;/* Callback function list */ - -/*--------------------------------------*/ -/* pi variables */ -/*--------------------------------------*/ -extern OSPiHandle* nuPiCartHandle; -extern OSPiHandle* nuPiSramHandle; -extern OSPiHandle* nuPiDDRomHandle; - -/*--------------------------------------*/ -/* CALL BACK Function pointer */ -/*--------------------------------------*/ -extern NUIdleFunc nuIdleFunc; /* callback func pointer */ -extern NUScPreNMIFunc nuScPreNMIFunc; /* PRE NMI callback pointer */ -extern NUGfxSwapCfbFunc nuGfxSwapCfbFunc; /* swapbuf callback pointer */ -extern NUGfxFunc nuGfxFunc; /* callback pointer */ -extern NUGfxPreNMIFunc nuGfxPreNMIFunc; /* Callback pointer */ -extern NUGfxTaskEndFunc nuGfxTaskEndFunc; /* task end callback ptr */ -extern NUContReadFunc nuContReadFunc; /* When controller read ends */ - /* Callback function */ -/*--------------------------------------*/ -/* Debug */ -/*--------------------------------------*/ - -extern NUDebTaskPerf* nuDebTaskPerfPtr; -extern NUDebConWindow nuDebConWin[]; -extern NUDebTaskPerf nuDebTaskPerf[]; -extern u32 nuDebTaskPerfInterval; -extern volatile u32 nuDebTaskPerfCnt; -extern volatile u32 nuDebTaskPerfEnd; - - -/*----------------------------------------------------------------------*/ -/*----------------------------------------------------------------------*/ -/* Global Function */ -/*----------------------------------------------------------------------*/ -/*----------------------------------------------------------------------*/ -/*--------------------------------------*/ -/* Boot function */ -/*--------------------------------------*/ -extern void nuIdleFuncSet(void (*func)(void)); -extern void nuPreNMIFuncSet(NUScPreNMIFunc func); -/*--------------------------------------*/ -/* Scheduler function */ -/*--------------------------------------*/ -extern void nuScCreateScheduler(u8 videoMode, u8 numFields); -extern void nuScAddClient(NUScClient *c, OSMesgQueue *mq, NUScMsg msgType); -extern void nuScRemoveClient(NUScClient *client); -extern void nuScResetClientMesgType(NUScClient* client, NUScMsg msgType); -extern OSMesgQueue* nuScGetGfxMQ(void); -extern OSMesgQueue* nuScGetAudioMQ(void); -extern void nuScSetFrameBufferNum(u8 frameBufferNum); -extern s32 nuScGetFrameRate(void); - -/*--------------------------------------*/ -/* graphic(GFX) Manager function */ -/*--------------------------------------*/ -extern void nuGfxInit(void); -extern void nuGfxInitEX2(void); -extern void nuGfxThreadStart(void); -extern void nuGfxTaskMgrInit(void); -extern void nuGfxTaskStart(Gfx *gfxList_ptr, u32 gfxListSize, u32 ucode, u32 flag); -extern void nuGfxFuncSet(NUGfxFunc func); -extern void nuGfxPreNMIFuncSet(NUGfxPreNMIFunc func); -extern void nuGfxSwapCfbFuncSet(NUGfxSwapCfbFunc func); -extern void nuGfxSetCfb(u16** framebuf, u32 framebufnum); -extern void nuGfxSwapCfb(void* framebuffer); - -extern void nuGfxTaskEndFuncSet(NUGfxTaskEndFunc func); -extern void nuGfxTaskAllEndWait(void); -extern void nuGfxRetraceWait(u32 retrace_num); -extern void nuGfxDisplayOff(void); -extern void nuGfxDisplayOn(void); - -#ifdef F3DEX_GBI_2 -#define nuGfxInit() nuGfxInitEX2() -#endif /* F3DEX_GBI_2 */ -/*--------------------------------------*/ -/* controller Manager function */ -/*--------------------------------------*/ -extern u8 nuContInit(void); -extern s32 nuContMgr(void* mesg); -extern u8 nuContMgrInit(void); -extern void nuContMgrRemove(void); -extern void nuContDataLock(void); -extern void nuContDataUnLock(void); -extern void nuContDataRead(OSContPad* pad); -extern void nuContDataReadWait(void); -extern void nuContDataReadStart(void); -extern void nuContDataGet(OSContPad* contdata, u32 padno); -extern void nuContDataGetAll(OSContPad* contdata); -extern void nuContDataGetEx(NUContData *contdata, u32 padno); -extern void nuContDataGetExAll(NUContData *contdata); -extern void nuContReadFuncSet(NUContReadFunc func); -extern void nuContQueryRead(void); -extern void nuContDataClose(void); -extern void nuContDataOpen(void); - -/*--------------------------------------*/ -/* controller pak function */ -/*--------------------------------------*/ -extern s32 nuContPakMgr(void* mesg_type); -extern void nuContPakMgrInit(void); -extern void nuContPakMgrRemove(void); -extern void nuContPakJisToN64(u8* src, u8* dest, u32 len); -extern void nuContPakN64ToJis(u8* src, u8* dest, u32 len); -extern s32 nuContPakOpen(NUContPakFile *file, u32 contNo); -extern s32 nuContPakGetFree(NUContPakFile *file); -extern void nuContPakCodeSet(u8* companyCode, u8* gameCode); -extern s32 nuContPakRepairId(NUContPakFile *file); -extern s32 nuContPakFileOpen(NUContPakFile *file, - u8* noteName,u8* extName, u32 mode, s32 size); -extern s32 nuContPakFileOpenJis(NUContPakFile *file, - u8* noteName,u8* extName, u32 mode, s32 size); -extern s32 nuContPakFileReadWrite(NUContPakFile *file, - s32 offset, s32 size,u8* buf, u32 mode); -extern s32 nuContPakFileDelete(NUContPakFile *file, u8* noteName, u8* extName); -extern s32 nuContPakFileDeleteJis(NUContPakFile *file, u8* noteName, u8* extName); -extern s32 nuContPakFileState(NUContPakFile *file, OSPfsState* state); -extern s32 nuContPakFileNum(NUContPakFile *file, - s32 *max_files, s32 *used_files); -extern s32 nuContPakFileFread(NUContPakFile *file, s32 offset, s32 size, u8* buf); - -/*--------------------------------------*/ -/* rumbler pak functions */ -/*--------------------------------------*/ -extern void nuContRmbMgrInit(void); -extern s32 nuContRmbMgr(void* mesg); -extern void nuContRmbMgrRemove(void); -extern void nuContRmbStart(u32 contNo, u16 freq, u16 frame); -extern void nuContRmbStop(u32 contNo); -extern s32 nuContRmbCheck(u32 contNo); -extern void nuContRmbModeSet(u32 contNo, u8 mode); -extern void nuContRmbForceStop(void); -extern void nuContRmbForceStopEnd(void); -extern void nuContRmbSearchTimeSet(u32 frame); - -/*--------------------------------------*/ -/* 64GB Pack functions */ -/*--------------------------------------*/ -extern s32 nuContGBPakMgr(void* mesg); -extern void nuContGBPakMgrInit(void); -extern void nuContGBPakMgrRemove(void); -extern s32 nuContGBPakOpen(NUContPakFile* handle, s32 contNo); -extern s32 nuContGBPakGetStatus(NUContPakFile* handle, u8* status); -extern s32 nuContGBPakReadID(NUContPakFile* handle, OSGbpakId* id, u8* status); -extern s32 nuContGBPakReadWrite(NUContPakFile* handle, u16 flag , u16 address, u8* buffer, u16 size); -extern s32 nuContGBPakPower(NUContPakFile* handle, s32 flag); -extern s32 nuContGBPakCheckConnector(NUContPakFile* handle, u8* status); -extern s32 nuContGBPakFread(NUContPakFile* handle, u16 address, u8* buffer, u16 size); - -extern s32 nuContGBPakFwrite(NUContPakFile* handle, u16 address, u8* buffer, u16 size); -extern s32 nuContGBPakRegWrite(NUContPakFile* handle, u16 addr, u8 data); - -/*--------------------------------------*/ -/* eeprom functions */ -/*--------------------------------------*/ -extern void nuEepromMgrInit(void); -extern s32 nuEepromMgr(void* mesg); -extern s32 nuEepromCheck(void); -extern void nuEepromMgrRemove(void); -extern s32 nuEepromRead(u8 address, u8* buffer,u16 len); -extern s32 nuEepromWrite(u8 address, u8* buffer,u16 len); - - -/*--------------------------------------*/ -/* pi functions */ -/*--------------------------------------*/ -extern void nuPiInit(void); -extern void nuPiReadRom(u32 rom_addr, void* buf_ptr, u32 size); -extern void nuPiInitSram(void); -extern void nuPiInitDDrom(void); -extern void nuPiReadWriteSram(u32 addr, void* buf_ptr, u32 size, s32 flag); -extern void nuPiReadRomOverlay(NUPiOverlaySegment* segment); - -/*--------------------------------------*/ -/* si functions */ -/*--------------------------------------*/ -extern u8 nuSiMgrInit(void); -extern void nuSiCallBackAdd(NUCallBackList* list); -extern void nuSiCallBackRemove(NUCallBackList* list); -extern s32 nuSiSendMesg(NUScMsg mesg, void* dataPtr); -extern void nuSiSendMesgNW(NUScMsg mesg, void* dataPtr); -extern void nuSiMgrStop(void); -extern void nuSiMgrRestart(void); -/*--------------------------------------*/ -/* si functions */ -/*--------------------------------------*/ -extern s32 nuVrsMgr(void *mesg); -extern void nuVrsMgrInit(void); -extern s32 nuVrsOpen(NUVrsHandle* handle, s32 contNo); -extern s32 nuVrsClearDictionary(NUVrsHandle* handle, u8 words); -extern s32 nuVrsSetWord(NUVrsHandle* handle, u8* word); -extern s32 nuVrsStartReadData(NUVrsHandle* handle); -extern s32 nuVrsGetReadData(NUVrsHandle* handle, NUVrsData* data); -extern s32 nuVrsStopReadData(NUVrsHandle* handle); -extern s32 nuVrsControlGain(NUVrsHandle* handle, s32 analog, s32 digital); -extern s32 nuVrsMaskDictionary(NUVrsHandle* handle, u8* maskpattern, s32 size); - -/*--------------------------------------*/ -/* dubug functions */ -/*--------------------------------------*/ -#ifdef NDEBUG -#define nuDebTaskPerfBar0(EX0 ,EX1 ,EX2) ((void)0) -#define nuDebTaskPerfBar1(EX0 ,EX1 ,EX2) ((void)0) -#define nuDebTaskPerfBar0EX2(EX0 ,EX1 ,EX2) ((void)0) -#define nuDebTaskPerfBar1EX2(EX0 ,EX1 ,EX2) ((void)0) -#define nuDebPerfMarkSet(EX0) ((void)0) -#define nuDebTaskPerfIntervalSet(EX0) ((void)0) -#else -extern void nuDebTaskPerfBar0(u32 frameNum, u32 y, u32 flag); -extern void nuDebTaskPerfBar1(u32 frameNum, u32 y, u32 flag); -extern void nuDebTaskPerfBar0EX2(u32 frameNum, u32 y, u32 flag); -extern void nuDebTaskPerfBar1EX2(u32 frameNum, u32 y, u32 flag); -extern u32 nuDebPerfMarkSet(s32 markNo); -extern void nuDebTaskPerfIntervalSet(u32 interval); -#ifdef F3DEX_GBI_2 -#define nuDebTaskPerfBar0(a, b, c) nuDebTaskPerfBar0EX2(a, b, c) -#define nuDebTaskPerfBar1(a, b, c) nuDebTaskPerfBar1EX2(a, b, c) -#endif /* F3DEX_GBI_2 */ - -#endif /* NDEBUG */ - -extern void nuDebConDisp(u32 flag); -extern void nuDebConDispEX2(u32 flag); -extern void nuDebConCPuts(u32 wndNo, const char *s); -extern void nuDebConInc(NUDebConWindow* conWin); -extern void nuDebConRtn(NUDebConWindow* conWin); -extern void nuDebConEsc(NUDebConWindow* conWin, char esc); -extern void nuDebConWindowSet(u32 wndNo, u32 winX , u32 winY, u32 width, u32 height); -extern void nuDebConWindowSize(u32 wndNo, u32 width, u32 height); -extern void nuDebConWindowPos(u32 wndNo, u32 winX , u32 winY); -extern void nuDebConTextColor(u32 wndNo, u32 color); -extern void nuDebConTextAttr(u32 wndNo, u32 attr); -extern void nuDebConTextPos(u32 wndNo, u32 posX, u32 posY); -extern void nuDebConScroll(u32 wndNo, u32 flag); -extern void nuDebConWindowShow(u32 wndNo, u32 flag); -extern void nuDebConClear(u32 wndNo); -extern void nuDebConPutc(u32 wndNo, u32 c); -extern void nuDebTaskPerfLoad(void); -extern void nuDebConPrintf(u32 wndNo, const char* fmt, ...); - - -#ifdef F3DEX_GBI_2 -#define nuDebConDisp(flag) nuDebConDispEX2(flag) -#endif /* F3DEX_GBI_2 */ - -/*----------------------------------------------------------------------*/ -/*----------------------------------------------------------------------*/ -/* MACRO */ -/*----------------------------------------------------------------------*/ -/*----------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------*/ -/* Registers the graphics microcode */ -/* IN: Pointer to the graphics microcode NUUcode array */ -/*----------------------------------------------------------------------*/ -#define nuGfxSetUcode(ucode) \ -{ \ - nuGfxUcode = ucode; \ -} -/*----------------------------------------------------------------------*/ -/* Z buffer settings */ -/* IN: Pointer to the Z buffer */ -/*----------------------------------------------------------------------*/ -#define nuGfxSetZBuffer(ZBuf_p) \ -{ \ - nuGfxZBuffer = ZBuf_p; \ -} -/*----------------------------------------------------------------------*/ -/* Remove callback functions */ -/* IN: nothing */ -/*----------------------------------------------------------------------*/ -#define nuPreNmiFuncRemove() nuPreNmiFuncSet(NULL) -#define nuGfxFuncRemove() nuGfxFuncSet(NULL) -#define nuGfxPreNMIFuncRemove() nuGfxPreNMIFuncSet(NULL) -#define nuGfxSwapCfbFuncRemove() nuGfxSwapCfbFuncSet(NULL) -#define nuGfxTaskEndFuncRemove() nuGfxTaskEndFuncSet(NULL) -#define nuContReadFuncRemove() nuContReadFuncSet(NULL) - -/*----------------------------------------------------------------------*/ -/* nuContDataGet - Obtains Controller data */ -/* Obtains read data from the Controller Manager. */ -/* */ -/* IN: *contpad Pointer to the Controller structure */ -/* cont_no Controller number */ -/*----------------------------------------------------------------------*/ -#if 0 -#define nuContDataGet(contpad, cont_no) \ -{ \ - bcopy(&nuContData[cont_no], contpad, sizeof(OSContPad)); \ -} - -/*----------------------------------------------------------------------*/ -/* nuContDataGetAll - Obtains Controller data */ -/* Obtains read data from the Controller Manager. */ -/* Copies all 4 buffers. */ -/* IN: *contpad Pointer to the Controller structure */ -/* cont_no Controller number */ -/*----------------------------------------------------------------------*/ -#define nuContDataGetAll(contpad) \ -{ \ - bcopy(&nuContData[0], contpad, sizeof(OSContPad)*MAXCONTROLLERS);\ -} -#endif -/*----------------------------------------------------------------------*/ -/* nuContPakFileFind - Search node */ -/*----------------------------------------------------------------------*/ -#define nuContPakFileFind(file, nodeName, extName) \ - nuContPakFileOpen(file, nodeNname, extName, NU_CONT_PAK_NOCREAT, 0)\ - - -/*----------------------------------------------------------------------*/ -/* nuContPakFileFindJis - Search node */ -/*----------------------------------------------------------------------*/ -#define nuContPakFileFindJis(file, nodeName, extName) \ - nuContPakFileOpenJis(file, nodeNname, extName, NU_CONT_PAK_NOCREAT, 0)\ - -/*----------------------------------------------------------------------*/ -/* nuContPakFileRead - Read note */ -/*----------------------------------------------------------------------*/ -#define nuContPakFileRead(file, offset, size, buf) \ - nuContPakFileReadWrite(file, offset, size, buf, PFS_READ) \ - -/*----------------------------------------------------------------------*/ -/* nuContPakFileWrite - Read note */ -/*----------------------------------------------------------------------*/ -#define nuContPakFileWrite(file, offset, size, buf) \ - nuContPakFileReadWrite(file, offset, size, buf, PFS_WRITE) \ - -/*----------------------------------------------------------------------*/ -/* nuDebConPuts - String output (with newline) */ -/*----------------------------------------------------------------------*/ -#define nuDebConPuts(wndNo, s) \ -{ \ - nuDebConCPuts(wndNo, s); \ - nuDebConRtn(&nuDebConWin[wndNo]); \ -} - -/*----------------------------------------------------------------------*/ -/* nuContGBPakRead - Read from the GB cartridge */ -/*----------------------------------------------------------------------*/ -#define nuContGBPakRead(file, address, buf, size) \ - nuContGBPakReadWrite(file, OS_READ, address, buf, size) - -/*----------------------------------------------------------------------*/ -/* nuContGBPakWrite - Write to the GB cartridge */ -/*----------------------------------------------------------------------*/ -#define nuContGBPakWrite(file, address, buf, size) \ - nuContGBPakReadWrite(file, OS_WRITE, address, buf, size) - -/*----------------------------------------------------------------------*/ -/* nuPiReadSram - Read from SRAM */ -/*----------------------------------------------------------------------*/ -#define nuPiReadSram(addr, buf_ptr, size) \ - nuPiReadWriteSram(addr, buf_ptr, size, OS_READ) - -/*----------------------------------------------------------------------*/ -/* nuPiWriteSram - Write to SRAM */ -/*----------------------------------------------------------------------*/ -#define nuPiWriteSram(addr, buf_ptr, size) \ - nuPiReadWriteSram(addr, buf_ptr, size, OS_WRITE) - -/*----------------------------------------------------------------------*/ -/* Define voice recognition macros */ -/*----------------------------------------------------------------------*/ -#define nuVrsCheckWord osVoiceCheckWord -#define nuVrsCountSyllables osVoiceCountSyllables - - - -#endif /* defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) */ -#ifdef _LANGUAGE_C_PLUS_PLUS -} -#endif -#endif /* _NUSYS_H_ */ +/*======================================================================*/ +/* NuSYS */ +/* nusys.h */ +/* */ +/* Copyright (C) 1997, NINTENDO Co,Ltd. */ +/* */ +/*----------------------------------------------------------------------*/ +/* Ver 1.0 97/10/09 Created by Kensaku Ohki(SLANP) */ +/* Ver 1.2 98/07/12 Modified by Kensaku Ohki(SLANP) */ +/* Ver 2.0 90/01/23 Modified by Kensaku Ohki(SLANP) */ +/*----------------------------------------------------------------------*/ +/* $Id: nusys.h,v 1.26 1999/05/07 08:23:45 ohki Exp ohki $ */ +/*======================================================================*/ +#ifndef _NUSYS_H_ +#define _NUSYS_H_ + +#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) + +#ifndef F3DEX_GBI +#define F3DEX_GBI +#endif /* F3DEX_GBI */ + +#include +#include +#endif + +#ifdef _LANGUAGE_C_PLUS_PLUS +extern "C" { +#endif + +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/* DEFINE */ +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +#define NU_VERSION "2.05" + +/*--------------------------------------*/ +/* NuSystem spec define */ +/*--------------------------------------*/ +#define NU_SPEC_BOOT_STACK_SIZE 0x2000 +#define NU_SPEC_BOOT_ADDR 0x80025c00 +#define NU_SPEC_BOOT_STACK nuMainStack + NU_SPEC_BOOT_STACK_SIZE + +/*--------------------------------------*/ +/* Thread ID for DEBUG (a precaution) */ +/*--------------------------------------*/ +#define NU_IDLE_THREAD_ID 1 +#define NU_RMON_THREAD_ID 2 /* no use */ +#define NU_MAIN_THREAD_ID 3 + + +/*--------------------------------------*/ +/* NuSYS Thread Priority */ +/*--------------------------------------*/ +#define NU_IDLE_THREAD_PRI OS_PRIORITY_IDLE /* Idle thread */ +#define NU_RMON_THREAD_PRI OS_PRIORITY_RMON /* no use */ +#define NU_MAIN_THREAD_PRI 10 /* main thread */ + +/*--------------------------------------*/ +/* NUSYS STACK SIZE */ +/*--------------------------------------*/ +#define NU_IDLE_STACK_SIZE 0x2000 /* Idle thread */ +#define NU_RMON_STACK_SIZE 0x2000 /* Rmon thread */ +#define NU_MAIN_STACK_SIZE NU_SPEC_BOOT_STACK_SIZE /* Main thread */ + + + + +/*----------------------------------------------------------------------*/ +/* SCHEDULER DEFINE */ +/*----------------------------------------------------------------------*/ +#define NU_SC_STACK_SIZE 0x2000 /* Thread stack size */ +#define NU_SC_NOSWAPBUFFER 0x0000 /* No swap */ +#define NU_SC_SWAPBUFFER 0x0001 /* Swap frame buffer */ +#define NU_SC_NORDP 0x0002 /* Do not wait for RDP finish */ +#define NU_SC_UCODE_XBUS 0x0004 /* XBUS Ucode */ +#define NU_SC_TASK_YIELDED (OS_TASK_YIELEDE<<16) +#define NU_SC_TASK_DP_WAIT (OS_TASK_DP_WAIT<<16) /* RDP WAIT */ +#define NU_SC_TASK_LODABLE (OS_TASK_LOADBLE<<16) /* LOADABLE */ +#define NU_SC_TASK_SP_ONLY (OS_TASK_SP_ONLY<<16) /* SP ONLY */ + + +#define NU_SC_RETRACE_MSG 0x0001 /* Retrace message */ +#define NU_SC_PRENMI_MSG 0x0002 /* NMI message */ +#define NU_SC_SWAPBUFFER_MSG 0x0004 /* Swap frame buffer message*/ +#define NU_SC_GTASKEND_MSG 0x0008 /* Task finished message */ +#define NU_SC_MAX_MESGS 8 /* Message buffer size */ + +#define NU_SC_HANDLER_PRI 120 /* EVENT HANDLER THREAD PRORITY */ +#define NU_SC_AUDIO_PRI 110 /* AUDIO DISPATCHER THREAD PRORITY */ +#define NU_SC_GRAPHICS_PRI 100 /* GFX DISPATCHER THREAD PRORITY */ +#define NU_SC_HANDLER_THREAD_ID 19 +#define NU_SC_AUDIO_THREAD_ID 18 +#define NU_SC_GRAPHICS_THREAD_ID 17 +#define NU_SC_PRENMI_YET 0 /* PRE NMI has not occurred. */ +#define NU_SC_PRENMI_GET 1 /* PRE NMI received flag */ +#define NU_SC_BEFORE_RESET 2 /* Pre-RESET flag for frame before reset */ +#define NU_SC_BEFORE_RESET_FRAME 2 /* Number of frames before reset where BEFORE_RESET flag is set. */ +/*----------------------------------------------------------------------*/ +/* GRAFIC THREAD DEFINE */ +/*----------------------------------------------------------------------*/ +#define NU_GFX_THREAD_ID 4 +#define NU_GFX_TASKMGR_THREAD_ID 5 +#define NU_GFX_STACK_SIZE 0x2000 /* Thread stack size */ +#define NU_GFX_MESGS 8 /* GFX message queue*/ +#define NU_GFX_TASKMGR_STACK_SIZE 0x2000 /* Stack size */ +#define NU_GFX_TASKMGR_MESGS 8 /*Task Manager queue*/ +#define NU_GFX_THREAD_PRI 50 /* GFX thread priority */ +#define NU_GFX_TASKMGR_THREAD_PRI 60 /* Task Manager priority */ + +/*----------------------------------------------------------------------*/ +/* GRAFIC MANEGER DEFINE */ +/*----------------------------------------------------------------------*/ +#ifdef F3DEX_GBI_2 +#define NU_GFX_UCODE_F3DEX2 0 /* F3DEX microcode */ +#define NU_GFX_UCODE_F3DEX2_NON 1 /* F3DEX.NoN microcode */ +#define NU_GFX_UCODE_F3DEX2_REJ 2 /* F3DEX.NoN microcode */ +#define NU_GFX_UCODE_F3DLX2_REJ 3 /* F3DEX.ReJ microcode */ +#define NU_GFX_UCODE_L3DEX2 4 /* L3DEX microcode */ +#define NU_GFX_UCODE_S2DEX2 5 /* S2DEX microcode */ + +#define NU_GFX_UCODE_F3DEX 0 /* For compatibility */ +#define NU_GFX_UCODE_F3DEX_NON 1 /* For compatibility */ +#define NU_GFX_UCODE_F3DLX 0 /* For compatibility */ +#define NU_GFX_UCODE_F3DLX_NON 1 /* For compatibility */ +#define NU_GFX_UCODE_F3DLX_REJ 4 /* For compatibility */ +#define NU_GFX_UCODE_F3DLP_REJ 3 /* For compatibility */ +#define NU_GFX_UCODE_L3DEX 4 /* For compatibility */ +#define NU_GFX_UCODE_S2DEX 5 /* For compatibility */ +#define NU_GFX_UCODE_S2DEX_D 5 /* For compatibility */ + +#else +#define NU_GFX_UCODE_F3DEX 0 /* F3DEX microcode */ +#define NU_GFX_UCODE_F3DEX_NON 1 /* F3DEX.NoN microcode */ +#define NU_GFX_UCODE_F3DLX 2 /* F3DLX microcode */ +#define NU_GFX_UCODE_F3DLX_NON 3 /* F3DLX.NoN microcode */ +#define NU_GFX_UCODE_F3DLX_REJ 4 /* F3DEX.ReJ microcode */ +#define NU_GFX_UCODE_F3DLP_REJ 5 /* F3DLP.Rej microcode */ +#define NU_GFX_UCODE_L3DEX 6 /* L3DEX microcode */ +#define NU_GFX_UCODE_S2DEX 7 /* S2DEX microcode */ +#define NU_GFX_UCODE_S2DEX_D 8 /* S2DEX microcode */ +#endif /* F3DEX_GBI_2 */ + + +/*----------------------------------------------*/ +/* The number of graphics task structures */ +/* should be set to a value at least as large as*/ +/* the Scheduler */ +/* message buffer size. */ +/* Otherwise, a task structure in use may */ +/* be used. */ +/*----------------------------------------------*/ +#define NU_GFX_TASK_NUM 10 /* Number of graphics task structures */ +#define NU_GFX_RDP_OUTPUTBUFF_SIZE 0x20000 /* fifo buffer size */ + +/*--------------------------------------*/ +/* Default frame buffer */ +/* The default frame buffer */ +/* is the 320x240 16-bit triple */ +/* xxbuffer in the high-order */ +/* area of RDRAM.xx */ +/*--------------------------------------*/ +#define NU_GFX_FRAMEBUFFER_NUM 3 +#define NU_GFX_FRAMEBUFFER_ADDR (0x80400000-320*240*2*3) +#define NU_GFX_FRAMEBUFFER0_ADDR (NU_GFX_FRAMEBUFFER_ADDR) +#define NU_GFX_FRAMEBUFFER1_ADDR (NU_GFX_FRAMEBUFFER0_ADDR+320*240*2) +#define NU_GFX_FRAMEBUFFER2_ADDR (NU_GFX_FRAMEBUFFER1_ADDR+320*240*2) + +#define NU_GFX_INIT_SCREEN_WD 320 +#define NU_GFX_INIT_SCREEN_HT 240 + +/*--------------------------------------*/ +/* Default Z -buffer is located in */ +/* xxlow-order memory.xx */ +/*--------------------------------------*/ +#define NU_GFX_ZBUFFER_ADDR 0x80000400 + +#define NU_GFX_DISPLAY_OFF 0 /* No display */ +#define NU_GFX_DISPLAY_ON 1 /* Display */ +#define NU_GFX_DISPLAY_ON_TRIGGER 0x80 /* Trigger */ + +#define NU_GFX_YIELD_BUF_SIZE (OS_YIELD_DATA_SIZE + 0x10) + +/*----------------------------------------------------------------------*/ +/* SI MANAGER DEFINE */ +/*----------------------------------------------------------------------*/ +#define NU_SI_STACK_SIZE NU_CONT_STACK_SIZE +#define NU_SI_THREAD_ID NU_CONT_THREAD_ID +#define NU_SI_THREAD_PRI NU_CONT_THREAD_PRI +#define NU_SI_MESG_MAX NU_CONT_MESG_MAX +#define NU_SI_CALLBACK_END 1 +#define NU_SI_CALLBACK_CONTINUE 0 +#define NU_SI_SC_MAJOR_NO 0x0000 +#define NU_SI_MSG_MAJOR_NO_MASK 0xff00 +#define NU_SI_MSG_MINOR_NO_MASK 0x00ff + +#define NU_SI_MAJOR_NO_CONT 0x0100 +#define NU_SI_MAJOR_NO_PAK 0x0200 +#define NU_SI_MAJOR_NO_RMB 0x0300 +#define NU_SI_MAJOR_NO_EEPROM 0x0400 +#define NU_SI_MAJOR_NO_GBPAK 0x0500 +#define NU_SI_MAJOR_NO_VRS 0x0600 +#define NU_SI_STOP_MGR_MSG 0x7F00 + +/*----------------------------------------------------------------------*/ +/* CONTROLLER MANEGER DEFINE */ +/*----------------------------------------------------------------------*/ +#define NU_CONT_MAXCONTROLLERS MAXCONTROLLERS +#define NU_CONT_STACK_SIZE 0x2000 +#define NU_CONT_MESG_MAX 8 +#define NU_CONT_THREAD_ID 6 +#define NU_CONT_THREAD_PRI 115 +#define NU_CONT_DATA_UNLOCK 0 +#define NU_CONT_DATA_LOCK 1 + + +/*----------------------------------------------------------------------*/ +/* Define messages sent to the Controller Manager */ +/*----------------------------------------------------------------------*/ +#define NU_CONT_MSG_BASE NU_SI_MAJOR_NO_CONT +#define NU_CONT_RETRACE_MSG (NU_CONT_MSG_BASE+0) +#define NU_CONT_READ_MSG (NU_CONT_MSG_BASE+1) +#define NU_CONT_READ_NW_MSG (NU_CONT_MSG_BASE+2) +#define NU_CONT_QUERY_MSG (NU_CONT_MSG_BASE+3) + + +#define NU_CONT_PAK_MSG_BASE NU_SI_MAJOR_NO_PAK +#define NU_CONT_PAK_RETRACE_MSG (NU_CONT_PAK_MSG_BASE+0) +#define NU_CONT_PAK_OPEN_MSG (NU_CONT_PAK_MSG_BASE+1) +#define NU_CONT_PAK_FREE_MSG (NU_CONT_PAK_MSG_BASE+2) +#define NU_CONT_PAK_FOPEN_MSG (NU_CONT_PAK_MSG_BASE+3) +#define NU_CONT_PAK_READWRITE_MSG (NU_CONT_PAK_MSG_BASE+4) +#define NU_CONT_PAK_FILEDELETE_MSG (NU_CONT_PAK_MSG_BASE+5) +#define NU_CONT_PAK_FILESTATE_MSG (NU_CONT_PAK_MSG_BASE+6) +#define NU_CONT_PAK_FILENUM_MSG (NU_CONT_PAK_MSG_BASE+7) +#define NU_CONT_PAK_REPAIRID_MSG (NU_CONT_PAK_MSG_BASE+8) + +#define NU_CONT_PAK_MODE_NOCREATE 0 +#define NU_CONT_PAK_MODE_CREATE 1 +#define NU_CONT_PAK_TYPE_NONE 0 +#define NU_CONT_PAK_TYPE_PAK 1 /* Controller Pak */ +#define NU_CONT_PAK_TYPE_RUMBLE 2 /* Rumble Pak */ +#define NU_CONT_PAK_TYPE_GBPAK 3 /* 64GB Pak */ +#define NU_CONT_PAK_READ PFS_READ +#define NU_CONT_PAK_WRITE PFS_WRITE + +/*----------------------------------------------------------------------*/ +/* Rumble Pak control */ +/*----------------------------------------------------------------------*/ +#define NU_CONT_RMB_STATE_STOP 0x00 +#define NU_CONT_RMB_STATE_STOPPING 0x01 +#define NU_CONT_RMB_STATE_STOPPED 0x02 +#define NU_CONT_RMB_STATE_RUN 0x03 +#define NU_CONT_RMB_STATE_FORCESTOP 0x04 +#define NU_CONT_RMB_MODE_DISABLE 0x00 +#define NU_CONT_RMB_MODE_ENABLE 0x01 +#define NU_CONT_RMB_MODE_AUTORUN 0x02 +#define NU_CONT_RMB_MODE_PAUSE 0x80 +#define NU_CONT_RMB_AUTO_SEARCH 0x00 +#define NU_CONT_RMB_AUTO_FIND 0x01 +#define NU_CONT_RMB_AUTO_SEARCHTIME (60*5) +#define NU_CONT_RMB_MSG_BASE NU_SI_MAJOR_NO_RMB +#define NU_CONT_RMB_RETRACE_MSG (NU_CONT_RMB_MSG_BASE+0) +#define NU_CONT_RMB_CHECK_MSG (NU_CONT_RMB_MSG_BASE+1) +#define NU_CONT_RMB_START_MSG (NU_CONT_RMB_MSG_BASE+2) +#define NU_CONT_RMB_STOP_MSG (NU_CONT_RMB_MSG_BASE+3) +#define NU_CONT_RMB_FORCESTOP_MSG (NU_CONT_RMB_MSG_BASE+4) +#define NU_CONT_RMB_FORCESTOPEND_MSG (NU_CONT_RMB_MSG_BASE+5) + +/*----------------------------------------------------------------------*/ +/* EEPROM */ +/*----------------------------------------------------------------------*/ +#define NU_EEPROM_MSG_BASE NU_SI_MAJOR_NO_EEPROM +#define NU_EEPROM_RETRACE_MSG (NU_EEPROM_MSG_BASE+0) +#define NU_EEPROM_CHECK_MSG (NU_EEPROM_MSG_BASE+1) +#define NU_EEPROM_READ_MSG (NU_EEPROM_MSG_BASE+2) +#define NU_EEPROM_WRITE_MSG (NU_EEPROM_MSG_BASE+3) + + +/*----------------------------------------------------------------------*/ +/* 64GB Pack Manager */ +/*----------------------------------------------------------------------*/ +#define NU_CONT_GBPAK_MSG_BASE NU_SI_MAJOR_NO_GBPAK +#define NU_CONT_GBPAK_RETRACE_MSG (NU_CONT_GBPAK_MSG_BASE+0) +#define NU_CONT_GBPAK_OPEN_MSG (NU_CONT_GBPAK_MSG_BASE+1) +#define NU_CONT_GBPAK_STATUS_MSG (NU_CONT_GBPAK_MSG_BASE+2) +#define NU_CONT_GBPAK_POWER_MSG (NU_CONT_GBPAK_MSG_BASE+3) +#define NU_CONT_GBPAK_READID_MSG (NU_CONT_GBPAK_MSG_BASE+4) +#define NU_CONT_GBPAK_READWRITE_MSG (NU_CONT_GBPAK_MSG_BASE+5) +#define NU_CONT_GBPAK_CHECKCONNECTOR_MSG (NU_CONT_GBPAK_MSG_BASE+6) + +#define NU_CONT_GBPAK_POWER_OFF OS_GBPAK_POWER_OFF +#define NU_CONT_GBPAK_POWER_ON OS_GBPAK_POWER_ON +#define NU_CONT_GBPAK_MBC_RAM_ENABLE_CODE 0x0a +#define NU_CONT_GBPAK_MBC_RAM_DISABLE_CODE 0x00 +#define NU_CONT_GBPAK_MBC_RAM_REG0_ADDR 0x0000 + +#define NU_CONT_GBPAK_MBC_REG0_ADDR 0x0000 /* Register 0 */ +#define NU_CONT_GBPAK_MBC_REG1_ADDR 0x2100 /* Register 1 */ +#define NU_CONT_GBPAK_MBC_REG2_ADDR 0x4000 /* Register 2 */ +#define NU_CONT_GBPAK_MBC_REG3_ADDR 0x6000 /* Register 3 */ + +/*----------------------------------------------------------------------*/ +/* Voice Recognition System Manager */ +/*----------------------------------------------------------------------*/ +#define NU_VRS_MSG_BASE NU_SI_MAJOR_NO_VRS +#define NU_VRS_RETRACE_MSG (NU_VRS_MSG_BASE+0) +#define NU_VRS_OPEN_MSG (NU_VRS_MSG_BASE+1) +#define NU_VRS_CLEAR_DICTIONARY_MSG (NU_VRS_MSG_BASE+2) +#define NU_VRS_SET_WORD_MSG (NU_VRS_MSG_BASE+3) +#define NU_VRS_MASK_DICTIONARY_MSG (NU_VRS_MSG_BASE+4) +#define NU_VRS_START_READ_DATA_MSG (NU_VRS_MSG_BASE+5) +#define NU_VRS_GET_READ_DATA_MSG (NU_VRS_MSG_BASE+6) +#define NU_VRS_STOP_READ_DATA_MSG (NU_VRS_MSG_BASE+7) +#define NU_VRS_CONTROL_GAIN_MSG (NU_VRS_MSG_BASE+8) + +/*----------------------------------------------------------------------*/ +/* PI DEFINE */ +/*----------------------------------------------------------------------*/ +#define NU_PI_MESG_NUM 50 /* PI message buffer size */ +#define NU_PI_CART_BLOCK_READ_SIZE 0x4000 /* cart read block size */ + +/*----------------------------------------------------------------------*/ +/* DEBUG */ +/*----------------------------------------------------------------------*/ +#define NU_DEB_PERF_BUF_NUM 3 +#define NU_DEB_PERF_GFXTASK_CNT 8 /* Graphics task count */ +#define NU_DEB_PERF_AUTASK_CNT 4 /* Audio task count */ +#define NU_DEB_PERF_RUNNING 0 /* Sampling */ +#define NU_DEB_PERF_STOP 1 /* Stop sampling */ +#define NU_DEB_PERF_START 2 /* Start sampling */ +#define NU_DEB_DP_CLOCK_CTR 0 /* RDP internal counter */ +#define NU_DEB_DP_CMD_CTR 1 /* CMD counter */ +#define NU_DEB_DP_PIPE_CTR 2 /* PIPE counter */ +#define NU_DEB_DP_TMEM_CTR 3 /* TMEM counter */ +#define NU_DEB_BAR_FRAME1 0 /* For the performance bar */ +#define NU_DEB_BAR_FRAME2 1 /* Maximum number displayed */ +#define NU_DEB_BAR_FRAME3 2 +#define NU_DEB_BAR_FRAME4 3 +#define NU_DEB_BAR_FRAME5 4 +#define NU_DEB_BAR_FRAME6 5 +#define NU_DEB_BAR_FRAME7 6 +#define NU_DEB_CON_ROW_MAX 40 /* Number of rows in console */ +#define NU_DEB_CON_COLUMN_MAX 30 /* Number of columns in console */ +#define NU_DEB_CON_TEXT_SIZE (NU_DEB_CON_ROW_MAX*NU_DEB_CON_COLUMN_MAX) +#define NU_DEB_CON_WIDTH 320 +#define NU_DEB_CON_WINDOW_NUM 4 +#define NU_DEB_CON_WINDOW0 0 +#define NU_DEB_CON_WINDOW1 1 +#define NU_DEB_CON_WINDOW2 2 +#define NU_DEB_CON_WINDOW3 3 +#define NU_DEB_CON_TEXT_BLACK 0 /* Black */ +#define NU_DEB_CON_TEXT_BLUE 1 /* Blue */ +#define NU_DEB_CON_TEXT_GREEN 2 /* Green */ +#define NU_DEB_CON_TEXT_CYAN 3 /* Cyan */ +#define NU_DEB_CON_TEXT_RED 4 /* Red */ +#define NU_DEB_CON_TEXT_MAGENTA 5 /* Magenta */ +#define NU_DEB_CON_TEXT_YELLOW 6 /* yellow */ +#define NU_DEB_CON_TEXT_WHITE 7 /* White */ +#define NU_DEB_CON_TEXT_LIGHTBLACK 8 /* Gray */ +#define NU_DEB_CON_TEXT_LIGHTBLUE 9 /* Bright Blue */ +#define NU_DEB_CON_TEXT_LIGTHBLUE 9 /* Bright Blue (misspelled) */ +#define NU_DEB_CON_TEXT_LIGHTGREEN 10 /* Bright Green */ +#define NU_DEB_CON_TEXT_LIGHTCYAN 11 /* Bright Cyan */ +#define NU_DEB_CON_TEXT_LIGHTRED 12 /* Bright Red */ +#define NU_DEB_CON_TEXT_LIGHTMAGENTA 13 /* Bright Magenta */ +#define NU_DEB_CON_TEXT_LIGHTYELLOW 14 /* Bright yellow */ +#define NU_DEB_CON_TEXT_LIGHTWHITE 15 /* White */ +#define NU_DEB_CON_ATTR_NORMAL 0x0 /* No attribute*/ +#define NU_DEB_CON_ATTR_BLINK 0x1 /* Blinking */ +#define NU_DEB_CON_ATTR_REVERSE 0x2 /* Highlight */ +#define NU_DEB_CON_SCROLL_ON 1 +#define NU_DEB_CON_SCROLL_OFF 0 +#define NU_DEB_CON_WINDOW_OFF 0 +#define NU_DEB_CON_WINDOW_ON 1 + +#define NU_DEB_MARKER_NUM 10 + +#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/* structer define */ +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/*--------------------------------------*/ +/* Scheduler sturcter */ +/*--------------------------------------*/ +typedef short NUScMsg; /* Scheduler message type */ + +typedef struct st_SCClient { /* Client list structure */ + struct st_SCClient* next; /* Pointer to next client */ + OSMesgQueue* msgQ; /* Message sent to client */ + NUScMsg msgType; /* Type of message */ + /* NU_SC_RETRACE_MSG or*/ + /* NU_SC_PRENMI_MSG */ +} NUScClient; + +typedef struct st_SCTask { /* Task structure */ + struct st_SCTask *next; + u32 state; + u32 flags; + void *framebuffer; /* For graphics tasks */ + OSTask list; + OSMesgQueue *msgQ; + OSMesg msg; +} NUScTask; + +typedef struct st_Sched { /* Define the Scheduler structure. */ + + /* message */ + NUScMsg retraceMsg; + NUScMsg prenmiMsg; + + /* Define the Task request queue. */ + OSMesgQueue audioRequestMQ; + OSMesg audioRequestBuf[NU_SC_MAX_MESGS]; + OSMesgQueue graphicsRequestMQ; + OSMesg graphicsRequestBuf[NU_SC_MAX_MESGS]; + + /* Define the message queue. */ + OSMesgQueue retraceMQ; + OSMesg retraceMsgBuf[NU_SC_MAX_MESGS]; + OSMesgQueue rspMQ; + OSMesg rspMsgBuf[NU_SC_MAX_MESGS]; + OSMesgQueue rdpMQ; + OSMesg rdpMsgBuf[NU_SC_MAX_MESGS]; + + /* Implement wait for next retrace. */ + OSMesgQueue waitMQ; + OSMesg waitMsgBuf[NU_SC_MAX_MESGS]; + + /* Define threads.*/ + OSThread schedulerThread; /* Main thread */ + OSThread audioThread; /* Audio */ + OSThread graphicsThread; /* Graphics */ + + /* client list */ + NUScClient *clientList; + + /* The graphics task being executed. */ + NUScTask *curGraphicsTask; + NUScTask *curAudioTask; + NUScTask *graphicsTaskSuspended; + + u32 retraceCount; + u8 frameRate; + u8 frameBufferNum; /* Number of frame buffers */ + + +} NUSched; + + +/*--------------------------------------*/ +/* ucode structure */ +/*--------------------------------------*/ +typedef struct st_Ucode { + u64* ucode; + u64* ucode_data; +} NUUcode; + +/*--------------------------------------*/ +/* CALL BACK Function typedef */ +/*--------------------------------------*/ +typedef void (*NUIdleFunc)(void); /* Pointer to the idle callback function */ +typedef void (*NUScPreNMIFunc)(void); /* Pointer to PRENMI callback function */ +typedef void (*NUGfxFunc)(u32); /* Pointer to the GFX retrace callback function */ +typedef void (*NUGfxPreNMIFunc)(void); /* Pointer to the GFX PRENMI callback function */ + +typedef void (*NUGfxSwapCfbFunc)(void*);/* Pointer to the SWAPBUF callback function */ +typedef void (*NUGfxTaskEndFunc)(void*);/* Pointer to the TASKEND callback function */ +typedef void (*NUContReadFunc)(u32); /* Pointer to the Controller end-read */ + /* callback function */ +typedef void (*NUContPakFunc)(void*); /* Controller Pak control function callback */ +typedef void (*NUContRmbFunc)(void*); /* Rumble Pak control function callback */ +typedef s32 (*NUCallBackFunc)(void*); /* Callback function */ + + +/*--------------------------------------*/ +/* PI Common Message */ +/*--------------------------------------*/ +typedef struct st_PiOverlaySegment { + u8* romStart; /* Segment's ROM start offset */ + u8* romEnd; /* Segment's ROM end offset */ + u8* ramStart; /* Segment's CPU start address */ + u8* textStart; /* test attribute's DRAM start address */ + u8* textEnd; /* test attribute's DRAM end address */ + u8* dataStart; /* data attribute's DRAM start address */ + u8* dataEnd; /* data attribute's DRAM end address */ + u8* bssStart; /* bss attribute's DRAM start address */ + u8* bssEnd; /* bss attribute's DRAM start address */ +} NUPiOverlaySegment; + +/*--------------------------------------*/ +/* SI Common message */ +/*--------------------------------------*/ +typedef struct st_SiCommonMesg { + NUScMsg mesg; + OSMesgQueue* rtnMesgQ; + s32 error; + void* dataPtr; +} NUSiCommonMesg; + +/*--------------------------------------*/ +/* controller typedef */ +/*--------------------------------------*/ +typedef struct st_ContRead { + NUScMsg mesg; /* Type of message */ + OSMesgQueue* rtnMesgQ; + OSContPad* pad; +} NUContReadMesg; + +typedef struct st_ContData { + u16 button; /* A,B,C,Z,L,R,START,PAD ,button */ + s8 stick_x; /* Range acutally used: -61 <= stick X <= 61 */ + s8 stick_y; /* Range actually used: -63 <= stick Y <= 63 */ + u8 errno; /* Error */ + u16 trigger; /* Button trigger data */ +} NUContData; + +typedef struct st_ContQuery { + NUScMsg mesg; + OSMesgQueue* rtnMesgQ; +} NUContQueryMesg; + + +typedef struct st_ContPakFile { + OSPfs *pfs; + s32 file_no; + s32 error; + u32 type; +} NUContPakFile; + + +typedef struct st_ContPakFreeMesg { + NUContPakFile* file; + s32 size; +} NUContPakFreeMesg; + +typedef struct st_ContPakFileOpenMesg { + NUContPakFile* file; + u8* noteName; + u8* extName; + s32 size; + s32 mode; +} NUContPakFileOpenMesg; + +typedef struct st_ContPakFileRWMesg { + NUContPakFile* file; + s32 offset; + s32 size; + u8 mode; + u8* buf; +} NUContPakFileRWMesg; + +typedef struct st_ContPakFileStateMesg { + NUContPakFile* file; + OSPfsState* state; +} NUContPakFileStateMesg; + +typedef struct st_ContPakFileNumMesg { + NUContPakFile* file; + s32* max_files; + s32* used_files; +} NUContPakFileNumMesg; + +typedef struct st_ContPakIsPlugMesg { + NUScMsg mesg; + OSMesgQueue* rtnMesgQ; + s32 error; + u8 bitPattern; +} NUContPakIsPlugMesg; + +typedef struct st_ContRmbCtl { + u16 freq; /* Vibration frequency */ + u16 frame; + u16 counter; + u8 state; + u8 mode; + u8 autorun; + u8 type; +} NUContRmbCtl; + +typedef struct st_ContRmbMesg { + u8 contNo; + s32 error; + void* data; +} NUContRmbMesg; + +typedef struct st_CallBackList { + struct st_CallBackList* next; + s32 (**func)(NUSiCommonMesg*); + u16 majorNo; + u8 funcNum; +} NUCallBackList; + +typedef struct st_EepromMesg { + void* dataPtr; + s32 error; + u8 address; + u16 dataLen; +} NUEepromMesg; + +typedef struct st_ContGBPakMesg { + NUContPakFile* handle; + s32 data[4]; +} NUContGBPakMesg; + +typedef OSVoiceHandle NUVrsHandle; + +typedef OSVoiceData NUVrsData; + +typedef struct stVrsMesg { + NUVrsHandle* vrsHandle; + s32 data[2]; +} NUVrsMesg; + +/*--------------------------------------*/ +/* Debug */ +/*--------------------------------------*/ +typedef struct st_GfxTaskTime { + s64 rspStart; /* RSPTask start time */ + s64 rspEnd; /* RSPTask end time */ + s64 rdpEnd; /* RDP end time */ + u32 dpCnt[4]; /* RDP internal counter */ +} NUDebTaskTime; + +typedef struct st_DebTaskPerf { + s64 retraceTime; /* retrace event time*/ + s64 markerTime[NU_DEB_MARKER_NUM]; + u8 gfxTaskCnt; /* Number of graphics tasks */ + u8 auTaskCnt; /* Number of audio tasks */ + u8 gfxTaskStart; + NUDebTaskTime gfxTaskTime[NU_DEB_PERF_GFXTASK_CNT]; + NUDebTaskTime auTaskTime[NU_DEB_PERF_AUTASK_CNT]; +} NUDebTaskPerf; + +/* Console window structure */ +typedef struct st_DebConWindow { + u8 windowFlag; /* On/off flag for console window display */ + u16 scroll; /* Scroll value */ + u8 scrollFlag; /* Scrolling enabled/disabled */ + u8 textColor; /* Character color */ + u8 attribute; /* Attribute */ + u16 posX; /* Column position for write */ + u16 posY; /* Line position for write */ + u16 index; /* Position for character buffer write */ + u16 winX; /* x-coordinate of console window display */ + u16 winY; /* y-coordinate of console window display */ + u16 winW; /* Number of columns in console display */ + u16 winH; /* Number of rows in console display */ + u16 text[NU_DEB_CON_TEXT_SIZE]; /* Character buffer*/ +} NUDebConWindow; + +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/* extern variables */ +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ + +extern u8 nuRDPOutputBuf[]; +extern u8 nuDramStack[]; +extern u8 nuYieldBuf[]; +extern NUSched nusched; /* Scheduler structure */ +extern OSMesgQueue nuGfxMesgQ; /* Graphics thread queue */ +extern u32 nuScRetraceCounter; /* Retrace counter */ +extern u8 nuScPreNMIFlag; +/*--------------------------------------*/ +/* graphics variables */ +/*--------------------------------------*/ +extern NUUcode* nuGfxUcode; /* Pointer to GFX microcode structure */ +extern u16** nuGfxCfb; /* Pointer to array of pointers to frame buffers */ +extern u16* nuGfxCfb_ptr; /* Pointer to to frame buffer */ +extern u32 nuGfxCfbNum; /* Number of frame buffers */ +extern u16* nuGfxZBuffer; /* Pointer to the Z buffer */ +extern volatile u32 nuGfxTaskSpool; /* Number of tasks in queue */ +extern u32 nuGfxDisplay; /* Display on/off flag */ +extern u32 nuGfxCfbCounter; /* For frame buffer swapping */ +extern OSMesgQueue nuGfxMesgQ; +extern OSThread nuGfxThread; /* graphic thread */ + +/*--------------------------------------*/ +/* controller Manager variables */ +/*--------------------------------------*/ +extern OSContStatus nuContStatus[]; +extern OSContPad nuContData[]; +extern u32 nuContNum; /* Number of controllers connected */ +extern u32 nuContDataLockKey; /* Lock Controller data. */ +extern OSMesgQueue nuContWaitMesgQ; /* Wait for Controller read */ +extern OSPfs nuContPfs[]; +extern NUCallBackList nuContCallBack; +extern u16 nuContPakCompanyCode; /* Company code */ +extern u32 nuContPakGameCode; /* Game code */ +extern NUCallBackList nuContPakCallBack; + +/*--------------------------------------*/ +/* RUMBUL Manager variables */ +/*--------------------------------------*/ +extern NUContRmbCtl nuContRmbCtl[]; +extern u32 nuContRmbSearchTime; +extern NUCallBackList nuContRmbCallBack; + + +/*--------------------------------------*/ +/* EEPROM Manager variables */ +/*--------------------------------------*/ +extern NUCallBackList nuEepromCallBack; + +/*--------------------------------------*/ +/* 64GBPack Manager variables */ +/*--------------------------------------*/ +extern NUCallBackList nuContGBPakCallBack; + +/*--------------------------------------*/ +/* VRS Manager variables */ +/*--------------------------------------*/ +extern NUCallBackList nuVrsCallBack; + +/*--------------------------------------*/ +/* si variables */ +/*--------------------------------------*/ +extern OSMesgQueue nuSiMesgQ; /* SI event message queue */ +extern OSMesgQueue nuSiMgrMesgQ; /* SI Manager queue */ +extern NUCallBackList* nuSiCallBackList;/* Callback function list */ + +/*--------------------------------------*/ +/* pi variables */ +/*--------------------------------------*/ +extern OSPiHandle* nuPiCartHandle; +extern OSPiHandle* nuPiSramHandle; +extern OSPiHandle* nuPiDDRomHandle; + +/*--------------------------------------*/ +/* CALL BACK Function pointer */ +/*--------------------------------------*/ +extern NUIdleFunc nuIdleFunc; /* callback func pointer */ +extern NUScPreNMIFunc nuScPreNMIFunc; /* PRE NMI callback pointer */ +extern NUGfxSwapCfbFunc nuGfxSwapCfbFunc; /* swapbuf callback pointer */ +extern NUGfxFunc nuGfxFunc; /* callback pointer */ +extern NUGfxPreNMIFunc nuGfxPreNMIFunc; /* Callback pointer */ +extern NUGfxTaskEndFunc nuGfxTaskEndFunc; /* task end callback ptr */ +extern NUContReadFunc nuContReadFunc; /* When controller read ends */ + /* Callback function */ +/*--------------------------------------*/ +/* Debug */ +/*--------------------------------------*/ + +extern NUDebTaskPerf* nuDebTaskPerfPtr; +extern NUDebConWindow nuDebConWin[]; +extern NUDebTaskPerf nuDebTaskPerf[]; +extern u32 nuDebTaskPerfInterval; +extern volatile u32 nuDebTaskPerfCnt; +extern volatile u32 nuDebTaskPerfEnd; + + +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/* Global Function */ +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/*--------------------------------------*/ +/* Boot function */ +/*--------------------------------------*/ +extern void nuIdleFuncSet(void (*func)(void)); +extern void nuPreNMIFuncSet(NUScPreNMIFunc func); +/*--------------------------------------*/ +/* Scheduler function */ +/*--------------------------------------*/ +extern void nuScCreateScheduler(u8 videoMode, u8 numFields); +extern void nuScAddClient(NUScClient *c, OSMesgQueue *mq, NUScMsg msgType); +extern void nuScRemoveClient(NUScClient *client); +extern void nuScResetClientMesgType(NUScClient* client, NUScMsg msgType); +extern OSMesgQueue* nuScGetGfxMQ(void); +extern OSMesgQueue* nuScGetAudioMQ(void); +extern void nuScSetFrameBufferNum(u8 frameBufferNum); +extern s32 nuScGetFrameRate(void); + +/*--------------------------------------*/ +/* graphic(GFX) Manager function */ +/*--------------------------------------*/ +extern void nuGfxInit(void); +extern void nuGfxInitEX2(void); +extern void nuGfxThreadStart(void); +extern void nuGfxTaskMgrInit(void); +extern void nuGfxTaskStart(Gfx *gfxList_ptr, u32 gfxListSize, u32 ucode, u32 flag); +extern void nuGfxFuncSet(NUGfxFunc func); +extern void nuGfxPreNMIFuncSet(NUGfxPreNMIFunc func); +extern void nuGfxSwapCfbFuncSet(NUGfxSwapCfbFunc func); +extern void nuGfxSetCfb(u16** framebuf, u32 framebufnum); +extern void nuGfxSwapCfb(void* framebuffer); + +extern void nuGfxTaskEndFuncSet(NUGfxTaskEndFunc func); +extern void nuGfxTaskAllEndWait(void); +extern void nuGfxRetraceWait(u32 retrace_num); +extern void nuGfxDisplayOff(void); +extern void nuGfxDisplayOn(void); + +#ifdef F3DEX_GBI_2 +#define nuGfxInit() nuGfxInitEX2() +#endif /* F3DEX_GBI_2 */ +/*--------------------------------------*/ +/* controller Manager function */ +/*--------------------------------------*/ +extern u8 nuContInit(void); +extern s32 nuContMgr(void* mesg); +extern u8 nuContMgrInit(void); +extern void nuContMgrRemove(void); +extern void nuContDataLock(void); +extern void nuContDataUnLock(void); +extern void nuContDataRead(OSContPad* pad); +extern void nuContDataReadWait(void); +extern void nuContDataReadStart(void); +extern void nuContDataGet(OSContPad* contdata, u32 padno); +extern void nuContDataGetAll(OSContPad* contdata); +extern void nuContDataGetEx(NUContData *contdata, u32 padno); +extern void nuContDataGetExAll(NUContData *contdata); +extern void nuContReadFuncSet(NUContReadFunc func); +extern void nuContQueryRead(void); +extern void nuContDataClose(void); +extern void nuContDataOpen(void); + +/*--------------------------------------*/ +/* controller pak function */ +/*--------------------------------------*/ +extern s32 nuContPakMgr(void* mesg_type); +extern void nuContPakMgrInit(void); +extern void nuContPakMgrRemove(void); +extern void nuContPakJisToN64(u8* src, u8* dest, u32 len); +extern void nuContPakN64ToJis(u8* src, u8* dest, u32 len); +extern s32 nuContPakOpen(NUContPakFile *file, u32 contNo); +extern s32 nuContPakGetFree(NUContPakFile *file); +extern void nuContPakCodeSet(u8* companyCode, u8* gameCode); +extern s32 nuContPakRepairId(NUContPakFile *file); +extern s32 nuContPakFileOpen(NUContPakFile *file, + u8* noteName,u8* extName, u32 mode, s32 size); +extern s32 nuContPakFileOpenJis(NUContPakFile *file, + u8* noteName,u8* extName, u32 mode, s32 size); +extern s32 nuContPakFileReadWrite(NUContPakFile *file, + s32 offset, s32 size,u8* buf, u32 mode); +extern s32 nuContPakFileDelete(NUContPakFile *file, u8* noteName, u8* extName); +extern s32 nuContPakFileDeleteJis(NUContPakFile *file, u8* noteName, u8* extName); +extern s32 nuContPakFileState(NUContPakFile *file, OSPfsState* state); +extern s32 nuContPakFileNum(NUContPakFile *file, + s32 *max_files, s32 *used_files); +extern s32 nuContPakFileFread(NUContPakFile *file, s32 offset, s32 size, u8* buf); + +/*--------------------------------------*/ +/* rumbler pak functions */ +/*--------------------------------------*/ +extern void nuContRmbMgrInit(void); +extern s32 nuContRmbMgr(void* mesg); +extern void nuContRmbMgrRemove(void); +extern void nuContRmbStart(u32 contNo, u16 freq, u16 frame); +extern void nuContRmbStop(u32 contNo); +extern s32 nuContRmbCheck(u32 contNo); +extern void nuContRmbModeSet(u32 contNo, u8 mode); +extern void nuContRmbForceStop(void); +extern void nuContRmbForceStopEnd(void); +extern void nuContRmbSearchTimeSet(u32 frame); + +/*--------------------------------------*/ +/* 64GB Pack functions */ +/*--------------------------------------*/ +extern s32 nuContGBPakMgr(void* mesg); +extern void nuContGBPakMgrInit(void); +extern void nuContGBPakMgrRemove(void); +extern s32 nuContGBPakOpen(NUContPakFile* handle, s32 contNo); +extern s32 nuContGBPakGetStatus(NUContPakFile* handle, u8* status); +extern s32 nuContGBPakReadID(NUContPakFile* handle, OSGbpakId* id, u8* status); +extern s32 nuContGBPakReadWrite(NUContPakFile* handle, u16 flag , u16 address, u8* buffer, u16 size); +extern s32 nuContGBPakPower(NUContPakFile* handle, s32 flag); +extern s32 nuContGBPakCheckConnector(NUContPakFile* handle, u8* status); +extern s32 nuContGBPakFread(NUContPakFile* handle, u16 address, u8* buffer, u16 size); + +extern s32 nuContGBPakFwrite(NUContPakFile* handle, u16 address, u8* buffer, u16 size); +extern s32 nuContGBPakRegWrite(NUContPakFile* handle, u16 addr, u8 data); + +/*--------------------------------------*/ +/* eeprom functions */ +/*--------------------------------------*/ +extern void nuEepromMgrInit(void); +extern s32 nuEepromMgr(void* mesg); +extern s32 nuEepromCheck(void); +extern void nuEepromMgrRemove(void); +extern s32 nuEepromRead(u8 address, u8* buffer,u16 len); +extern s32 nuEepromWrite(u8 address, u8* buffer,u16 len); + + +/*--------------------------------------*/ +/* pi functions */ +/*--------------------------------------*/ +extern void nuPiInit(void); +extern void nuPiReadRom(u32 rom_addr, void* buf_ptr, u32 size); +extern void nuPiInitSram(void); +extern void nuPiInitDDrom(void); +extern void nuPiReadWriteSram(u32 addr, void* buf_ptr, u32 size, s32 flag); +extern void nuPiReadRomOverlay(NUPiOverlaySegment* segment); + +/*--------------------------------------*/ +/* si functions */ +/*--------------------------------------*/ +extern u8 nuSiMgrInit(void); +extern void nuSiCallBackAdd(NUCallBackList* list); +extern void nuSiCallBackRemove(NUCallBackList* list); +extern s32 nuSiSendMesg(NUScMsg mesg, void* dataPtr); +extern void nuSiSendMesgNW(NUScMsg mesg, void* dataPtr); +extern void nuSiMgrStop(void); +extern void nuSiMgrRestart(void); +/*--------------------------------------*/ +/* si functions */ +/*--------------------------------------*/ +extern s32 nuVrsMgr(void *mesg); +extern void nuVrsMgrInit(void); +extern s32 nuVrsOpen(NUVrsHandle* handle, s32 contNo); +extern s32 nuVrsClearDictionary(NUVrsHandle* handle, u8 words); +extern s32 nuVrsSetWord(NUVrsHandle* handle, u8* word); +extern s32 nuVrsStartReadData(NUVrsHandle* handle); +extern s32 nuVrsGetReadData(NUVrsHandle* handle, NUVrsData* data); +extern s32 nuVrsStopReadData(NUVrsHandle* handle); +extern s32 nuVrsControlGain(NUVrsHandle* handle, s32 analog, s32 digital); +extern s32 nuVrsMaskDictionary(NUVrsHandle* handle, u8* maskpattern, s32 size); + +/*--------------------------------------*/ +/* dubug functions */ +/*--------------------------------------*/ +#ifdef NDEBUG +#define nuDebTaskPerfBar0(EX0 ,EX1 ,EX2) ((void)0) +#define nuDebTaskPerfBar1(EX0 ,EX1 ,EX2) ((void)0) +#define nuDebTaskPerfBar0EX2(EX0 ,EX1 ,EX2) ((void)0) +#define nuDebTaskPerfBar1EX2(EX0 ,EX1 ,EX2) ((void)0) +#define nuDebPerfMarkSet(EX0) ((void)0) +#define nuDebTaskPerfIntervalSet(EX0) ((void)0) +#else +extern void nuDebTaskPerfBar0(u32 frameNum, u32 y, u32 flag); +extern void nuDebTaskPerfBar1(u32 frameNum, u32 y, u32 flag); +extern void nuDebTaskPerfBar0EX2(u32 frameNum, u32 y, u32 flag); +extern void nuDebTaskPerfBar1EX2(u32 frameNum, u32 y, u32 flag); +extern u32 nuDebPerfMarkSet(s32 markNo); +extern void nuDebTaskPerfIntervalSet(u32 interval); +#ifdef F3DEX_GBI_2 +#define nuDebTaskPerfBar0(a, b, c) nuDebTaskPerfBar0EX2(a, b, c) +#define nuDebTaskPerfBar1(a, b, c) nuDebTaskPerfBar1EX2(a, b, c) +#endif /* F3DEX_GBI_2 */ + +#endif /* NDEBUG */ + +extern void nuDebConDisp(u32 flag); +extern void nuDebConDispEX2(u32 flag); +extern void nuDebConCPuts(u32 wndNo, const char *s); +extern void nuDebConInc(NUDebConWindow* conWin); +extern void nuDebConRtn(NUDebConWindow* conWin); +extern void nuDebConEsc(NUDebConWindow* conWin, char esc); +extern void nuDebConWindowSet(u32 wndNo, u32 winX , u32 winY, u32 width, u32 height); +extern void nuDebConWindowSize(u32 wndNo, u32 width, u32 height); +extern void nuDebConWindowPos(u32 wndNo, u32 winX , u32 winY); +extern void nuDebConTextColor(u32 wndNo, u32 color); +extern void nuDebConTextAttr(u32 wndNo, u32 attr); +extern void nuDebConTextPos(u32 wndNo, u32 posX, u32 posY); +extern void nuDebConScroll(u32 wndNo, u32 flag); +extern void nuDebConWindowShow(u32 wndNo, u32 flag); +extern void nuDebConClear(u32 wndNo); +extern void nuDebConPutc(u32 wndNo, u32 c); +extern void nuDebTaskPerfLoad(void); +extern void nuDebConPrintf(u32 wndNo, const char* fmt, ...); + + +#ifdef F3DEX_GBI_2 +#define nuDebConDisp(flag) nuDebConDispEX2(flag) +#endif /* F3DEX_GBI_2 */ + +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/* MACRO */ +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------*/ +/* Registers the graphics microcode */ +/* IN: Pointer to the graphics microcode NUUcode array */ +/*----------------------------------------------------------------------*/ +#define nuGfxSetUcode(ucode) \ +{ \ + nuGfxUcode = ucode; \ +} +/*----------------------------------------------------------------------*/ +/* Z buffer settings */ +/* IN: Pointer to the Z buffer */ +/*----------------------------------------------------------------------*/ +#define nuGfxSetZBuffer(ZBuf_p) \ +{ \ + nuGfxZBuffer = ZBuf_p; \ +} +/*----------------------------------------------------------------------*/ +/* Remove callback functions */ +/* IN: nothing */ +/*----------------------------------------------------------------------*/ +#define nuPreNmiFuncRemove() nuPreNmiFuncSet(NULL) +#define nuGfxFuncRemove() nuGfxFuncSet(NULL) +#define nuGfxPreNMIFuncRemove() nuGfxPreNMIFuncSet(NULL) +#define nuGfxSwapCfbFuncRemove() nuGfxSwapCfbFuncSet(NULL) +#define nuGfxTaskEndFuncRemove() nuGfxTaskEndFuncSet(NULL) +#define nuContReadFuncRemove() nuContReadFuncSet(NULL) + +/*----------------------------------------------------------------------*/ +/* nuContDataGet - Obtains Controller data */ +/* Obtains read data from the Controller Manager. */ +/* */ +/* IN: *contpad Pointer to the Controller structure */ +/* cont_no Controller number */ +/*----------------------------------------------------------------------*/ +#if 0 +#define nuContDataGet(contpad, cont_no) \ +{ \ + bcopy(&nuContData[cont_no], contpad, sizeof(OSContPad)); \ +} + +/*----------------------------------------------------------------------*/ +/* nuContDataGetAll - Obtains Controller data */ +/* Obtains read data from the Controller Manager. */ +/* Copies all 4 buffers. */ +/* IN: *contpad Pointer to the Controller structure */ +/* cont_no Controller number */ +/*----------------------------------------------------------------------*/ +#define nuContDataGetAll(contpad) \ +{ \ + bcopy(&nuContData[0], contpad, sizeof(OSContPad)*MAXCONTROLLERS);\ +} +#endif +/*----------------------------------------------------------------------*/ +/* nuContPakFileFind - Search node */ +/*----------------------------------------------------------------------*/ +#define nuContPakFileFind(file, nodeName, extName) \ + nuContPakFileOpen(file, nodeNname, extName, NU_CONT_PAK_NOCREAT, 0)\ + + +/*----------------------------------------------------------------------*/ +/* nuContPakFileFindJis - Search node */ +/*----------------------------------------------------------------------*/ +#define nuContPakFileFindJis(file, nodeName, extName) \ + nuContPakFileOpenJis(file, nodeNname, extName, NU_CONT_PAK_NOCREAT, 0)\ + +/*----------------------------------------------------------------------*/ +/* nuContPakFileRead - Read note */ +/*----------------------------------------------------------------------*/ +#define nuContPakFileRead(file, offset, size, buf) \ + nuContPakFileReadWrite(file, offset, size, buf, PFS_READ) \ + +/*----------------------------------------------------------------------*/ +/* nuContPakFileWrite - Read note */ +/*----------------------------------------------------------------------*/ +#define nuContPakFileWrite(file, offset, size, buf) \ + nuContPakFileReadWrite(file, offset, size, buf, PFS_WRITE) \ + +/*----------------------------------------------------------------------*/ +/* nuDebConPuts - String output (with newline) */ +/*----------------------------------------------------------------------*/ +#define nuDebConPuts(wndNo, s) \ +{ \ + nuDebConCPuts(wndNo, s); \ + nuDebConRtn(&nuDebConWin[wndNo]); \ +} + +/*----------------------------------------------------------------------*/ +/* nuContGBPakRead - Read from the GB cartridge */ +/*----------------------------------------------------------------------*/ +#define nuContGBPakRead(file, address, buf, size) \ + nuContGBPakReadWrite(file, OS_READ, address, buf, size) + +/*----------------------------------------------------------------------*/ +/* nuContGBPakWrite - Write to the GB cartridge */ +/*----------------------------------------------------------------------*/ +#define nuContGBPakWrite(file, address, buf, size) \ + nuContGBPakReadWrite(file, OS_WRITE, address, buf, size) + +/*----------------------------------------------------------------------*/ +/* nuPiReadSram - Read from SRAM */ +/*----------------------------------------------------------------------*/ +#define nuPiReadSram(addr, buf_ptr, size) \ + nuPiReadWriteSram(addr, buf_ptr, size, OS_READ) + +/*----------------------------------------------------------------------*/ +/* nuPiWriteSram - Write to SRAM */ +/*----------------------------------------------------------------------*/ +#define nuPiWriteSram(addr, buf_ptr, size) \ + nuPiReadWriteSram(addr, buf_ptr, size, OS_WRITE) + +/*----------------------------------------------------------------------*/ +/* Define voice recognition macros */ +/*----------------------------------------------------------------------*/ +#define nuVrsCheckWord osVoiceCheckWord +#define nuVrsCountSyllables osVoiceCountSyllables + + + +#endif /* defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) */ +#ifdef _LANGUAGE_C_PLUS_PLUS +} +#endif +#endif /* _NUSYS_H_ */ diff --git a/include/si.h b/include/si.h index 798d5d6b18..9d027e4c78 100644 --- a/include/si.h +++ b/include/si.h @@ -99,17 +99,17 @@ typedef enum ScriptOpcode { ScriptOpcode_DEBUG_PRINT = 0x5B, ///< Args: expression } ScriptOpcode; -#define SI_VAR(v) (v - 30000000) -#define SI_MAP_VAR(v) (v - 50000000) -#define SI_FLAG(v) (v - 70000000) -#define SI_MAP_FLAG(v) (v - 90000000) -#define SI_AREA_FLAG(v) (v - 110000000) -#define SI_SAVE_FLAG(v) (v - 130000000) -#define SI_AREA_VAR(v) (v - 150000000) -#define SI_SAVE_VAR(v) (v - 170000000) -#define SI_ARRAY(v) (v - 190000000) -#define SI_ARRAY_FLAG(v) (v - 210000000) -#define SI_FIXED(v) ((v * 1024.0f) + -230000000) // See float_to_fixed_var +#define SI_VAR(v) ((v - 30000000)) +#define SI_MAP_VAR(v) ((v - 50000000)) +#define SI_FLAG(v) ((v - 70000000)) +#define SI_MAP_FLAG(v) ((v - 90000000)) +#define SI_AREA_FLAG(v) ((v - 110000000)) +#define SI_SAVE_FLAG(v) ((v - 130000000)) +#define SI_AREA_VAR(v) ((v - 150000000)) +#define SI_SAVE_VAR(v) ((v - 170000000)) +#define SI_ARRAY(v) ((v - 190000000)) +#define SI_ARRAY_FLAG(v) ((v - 210000000)) +#define SI_FIXED(v) (((v * 1024.0f) + -230000000)) // See float_to_fixed_var /* Return type of si_execute_next_command */ #define SI_CONTINUE 0 /* Continue to next command */ diff --git a/include/types.h b/include/types.h index 883df844b3..c17a3260dc 100644 --- a/include/types.h +++ b/include/types.h @@ -14,6 +14,6 @@ typedef s32 BattleID; #define BATTLE_ID(area, stage, index) ((area << 16) + (stage << 8) + index) typedef s32 NpcAnimID; -#define NPC_ANIM(sprite, palette, anim) ((_NPC_SPRITE_##sprite << 16) + (_NPC_PALETTE_##sprite##_##palette << 8) + _NPC_ANIM_##sprite##_##anim) +#define NPC_ANIM(sprite, palette, anim) (((_NPC_SPRITE_##sprite << 16) + (_NPC_PALETTE_##sprite##_##palette << 8) + _NPC_ANIM_##sprite##_##anim)) #endif diff --git a/include/variables.h b/include/variables.h index 99fff620ec..031cf2b4d2 100644 --- a/include/variables.h +++ b/include/variables.h @@ -230,6 +230,7 @@ extern u32 gBattleMapFlags[MAX_MAPFLAGS]; extern s32 D_8009A5D8; extern u8 D_800779B0; +extern u32 D_80078174; extern u8 D_800A0963; // Scripts diff --git a/sources.mk b/sources.mk index 20170f1f79..cd1c1ca871 100644 --- a/sources.mk +++ b/sources.mk @@ -1,4 +1,4 @@ -OBJECTS := $(subst BUILD_DIR, $(BUILD_DIR), $(shell grep -E 'BUILD_DIR.+\.o' papermario.ld -o)) +OBJECTS = $(subst BUILD_DIR, $(BUILD_DIR), $(shell grep -E 'BUILD_DIR.+\.o' papermario.ld -o)) DSL_C_FILES := $(shell grep -lrF "SCRIPT" src) @@ -58,7 +58,7 @@ ASSETS := \ MESSAGES := $(shell find msg -type f -name "*.msg" 2> /dev/null) -NPC_SPRITES := world_goombario world_kooper world_bombette world_parakarry world_bow world_watt world_sushi world_lakilester battle_goombario battle_kooper battle_bombette battle_parakarry battle_bow battle_watt battle_sushi battle_lakilester kooper_without_shell world_eldstar world_mamar world_skolar world_muskular world_misstar world_klevar world_kalmar battle_eldstar battle_mamar battle_skolar battle_muskular battle_misstar battle_klevar battle_kalmar twink jr_troopa spiked_jr_troopa spiked_para_jr_troopa mage_jr_troopa para_jr_troopa goomba spiked_goomba paragoomba koopa_troopa para_troopa fuzzy bob_omb bullet_bill bill_blaster monty_mole cleft pokey battle_bandit buzzy_beetle swooper stone_chomp putrid_piranha piranha_plant sentinel world_clubba battle_clubba shy_guy groove_guy sky_guy pyro_guy spy_guy medi_guy fuzzipede jungle_guy heart_plant hurt_plant m_bush bubble kent_c_koopa dayzee lakitu spiny bzzap ruff_puff spike_top duplighost albino_dino blooper baby_blooper gulpit dry_bones thrown_bone bony_beetle magikoopa flying_magikoopa world_koopatrol koopatrol hammer_bros bush_basic bush_blocky bush_dry bush_leafy bush_matted world_kammy battle_kammy goomba_bros goomba_king spiky_goomnut dark_toad koopa_bros buzzar tutankoopa chain_chomp world_tubba battle_tubba tubbas_heart big_lantern_ghost shy_squad_guy marshal_guy stilt_guy stilt_guy_unfold shy_stack_guy shy_stack_unfold shy_stack_damage shy_stack_rock general_guy general_guy_bomb tank_guy lava_piranha_head petit_piranha lava_bud huff_n_puff tuff_puff monstar crystal_king world_bowser battle_bowser luigi toad three_sisters vanna_t toad_kid toad_guard harry_t toad_minister postmaster conductor_toad train_station_toad fishmael artist_toad koopa koopa_without_shell world_bob_omb whacka dryite mouser boo yoshi yoshi_kid raven bubulb penguin shiver_toad world_bandit goompapa goombaria goomama goompa goomma the_master chan lee merlon chet_rippo rowf minh_t russ_t tayce_t fice_t bartender chanterelle rip_cheato chuck_quizmo merluvlee merlar merlow star_kid kolorado_wife koopa_koot kolorado battle_kolorado archeologist nomadimouse world_merlee battle_merlee disguised_moustafa moustafa oaklie bootler yakkey gourmet_guy village_leader leaders_friend rafael_raven tolielup gate_flower petunia posie lily rosie sun lakilulu ninji mayor_penguin mayor_penguin_wife penguin_patrol herringway merle star_rod fire coin parade_peach parade_koopas parade_burnt_bowser parade_luigi parade_partners parade_yoshis parade_kolorados parade_chicks parade_ice_show parade_toads parade_batons parade_drums parade_flags parade_horns parade_tubba_balloon parade_wizards parade_mario parade_shy_guys parade_twink leaf +NPC_SPRITES := world_goombario world_kooper world_bombette world_parakarry world_bow world_watt world_sushie world_lakilester battle_goombario battle_kooper battle_bombette battle_parakarry battle_bow battle_watt battle_sushie battle_lakilester kooper_without_shell world_eldstar world_mamar world_skolar world_muskular world_misstar world_klevar world_kalmar battle_eldstar battle_mamar battle_skolar battle_muskular battle_misstar battle_klevar battle_kalmar twink jr_troopa spiked_jr_troopa spiked_para_jr_troopa mage_jr_troopa para_jr_troopa goomba spiked_goomba paragoomba koopa_troopa para_troopa fuzzy bob_omb bullet_bill bill_blaster monty_mole cleft pokey battle_bandit buzzy_beetle swooper stone_chomp putrid_piranha piranha_plant sentinel world_clubba battle_clubba shy_guy groove_guy sky_guy pyro_guy spy_guy medi_guy fuzzipede jungle_guy heart_plant hurt_plant m_bush bubble kent_c_koopa dayzee lakitu spiny bzzap ruff_puff spike_top duplighost albino_dino blooper baby_blooper gulpit dry_bones thrown_bone bony_beetle magikoopa flying_magikoopa world_koopatrol koopatrol hammer_bros bush_basic bush_blocky bush_dry bush_leafy bush_matted world_kammy battle_kammy goomba_bros goomba_king spiky_goomnut dark_toad koopa_bros buzzar tutankoopa chain_chomp world_tubba battle_tubba tubbas_heart big_lantern_ghost shy_squad_guy marshal_guy stilt_guy stilt_guy_unfold shy_stack_guy shy_stack_unfold shy_stack_damage shy_stack_rock general_guy general_guy_bomb tank_guy lava_piranha_head petit_piranha lava_bud huff_n_puff tuff_puff monstar crystal_king world_bowser battle_bowser luigi toad three_sisters vanna_t toad_kid toad_guard harry_t toad_minister postmaster conductor_toad train_station_toad fishmael artist_toad koopa koopa_without_shell world_bob_omb whacka dryite mouser boo yoshi yoshi_kid raven bubulb penguin shiver_toad world_bandit goompa goombaria gooma goompapa goomama the_master chan lee merlon chet_rippo rowf minh_t russ_t tayce_t fice_t bartender chanterelle rip_cheato chuck_quizmo merluvlee merlar merlow star_kid kolorado_wife koopa_koot kolorado battle_kolorado archeologist nomadimouse world_merlee battle_merlee disguised_moustafa moustafa oaklie bootler yakkey gourmet_guy village_leader leaders_friend rafael_raven tolielup gate_flower petunia posie lily rosie sun lakilulu ninji mayor_penguin mayor_penguin_wife penguin_patrol herringway merle star_rod fire coin parade_peach parade_koopas parade_burnt_bowser parade_luigi parade_partners parade_yoshis parade_kolorados parade_chicks parade_ice_show parade_toads parade_batons parade_drums parade_flags parade_horns parade_tubba_balloon parade_wizards parade_mario parade_shy_guys parade_twink leaf # Image settings $(BUILD_DIR)/img/battle/text_action_command_ratings.ia4.png: IMG_FLAGS = --flip-y diff --git a/src/audio.h b/src/audio.h new file mode 100644 index 0000000000..08c055e307 --- /dev/null +++ b/src/audio.h @@ -0,0 +1,644 @@ +#ifndef _AUDIO_H_ +#define _AUDIO_H_ + +#include "common.h" + +struct UnkAlA9C; +struct UnkAl19E0; + +typedef void (*UnkFuncAl)(); + +typedef union UnkField { + u8 u8; + u16 u16; + u32 u32; + s8 s8; + s32 s32; +} UnkField; + +typedef union X16 { + u8 u8[2]; + u16 u16; +} X16; + +typedef struct UnkAl1 { + /* 0x00 */ UnkField unk_00; + /* 0x04 */ s32 unk_04; + /* 0x08 */ s16 unk_08; + /* 0x0A */ s16 unk_0A; + /* 0x0C */ UnkFuncAl unk_0C; + /* 0x10 */ s32 unk_10; + /* 0x14 */ s32 unk_14; + /* 0x18 */ s16 unk_18; + /* 0x1A */ s16 unk_1A; +} UnkAl1; // size unknown (currently 0x1C) + +typedef struct UnkAl4 { // maybe same as UnkAlC? + /* 0x00 */ s16 unk_00; + /* 0x02 */ u8 unk_02; + /* 0x03 */ s8 unk_03; + /* 0x04 */ s8 unk_04; + /* 0x05 */ s8 unk_05; + /* 0x06 */ s8 unk_06; +} UnkAl4; + +typedef struct UnkLen18 { + /* 0x00 */ u16 unk_00; + /* 0x02 */ char unk_02[0x2]; + /* 0x04 */ s32* unk_04; + /* 0x08 */ s32* unk_08; + /* 0x0C */ s8 unk_0C; + /* 0x0D */ char unk_0D[0x3]; + /* 0x10 */ s32* unk_10; + /* 0x14 */ s32* unk_14; +} UnkLen18; + +typedef struct UnkAl7C { + /* 0x00 */ char unk_00[0x4]; + /* 0x04 */ s32* unk_04; + /* 0x08 */ s32* unk_08; + /* 0x0C */ char unk_0C[0x8]; + /* 0x14 */ s32* unk_14; + /* 0x18 */ s32* unk_18; + /* 0x1C */ char unk_1C[0xC]; + /* 0x28 */ s32 unk_28; + /* 0x2C */ s32 unk_2C; + /* 0x30 */ s32 unk_30; + /* 0x34 */ s32 unk_34; + /* 0x38 */ char unk_38[0x4]; + /* 0x3C */ f32 unk_3C; + /* 0x40 */ s32 unk_40; + /* 0x44 */ s32 unk_44; + /* 0x48 */ char unk_48[0x5]; + /* 0x4D */ u8 unk_4D; + /* 0x4E */ s16 unk_4E; + /* 0x50 */ char unk_50[0x4]; + /* 0x54 */ s16 unk_54; + /* 0x56 */ s16 unk_56; + /* 0x58 */ char unk_58[0x14]; + /* 0x6C */ s32 unk_6C; + /* 0x70 */ s32 unk_70; + /* 0x74 */ char unk_74[0x4]; + /* 0x78 */ u8 unk_78; + /* 0x79 */ char unk_79[0x3]; +} UnkAl7C; + +typedef struct UnkAl0 { + /* 0x00 */ char unk_00[0x14]; + /* 0x14 */ s32* unk_14; // pointer to nuAuDmaNew + /* 0x18 */ ALHeap* unk_18; + /* 0x1C */ UnkAl7C* unk_1C; // pointer to list of UnkAl7C + /* 0x20 */ UnkLen18* unk_20; // amt unknown + /* 0x24 */ s32* unk_24; + /* 0x28 */ s32* unk_28; +} UnkAl0; + +typedef struct UnkAlA { + /* 0x0 */ s16 unk_00; + /* 0x2 */ s16 unk_02; + /* 0x4 */ s16 unk_04; + /* 0x6 */ s16 unk_06; + /* 0x8 */ s8 unk_08; +} UnkAlA; // size = 0xA + +typedef struct UnkAlAC { + /* 0x00 */ s32 unk_00; + /* 0x04 */ char unk_04[0x58]; + /* 0x5C */ u16 unk_5C; + /* 0x5E */ char unk_5E[0x1A]; + /* 0x78 */ u8 unk_78; + /* 0x79 */ u8 unk_79; + /* 0x7A */ u8 unk_7A; + /* 0x7B */ u8 unk_7B; + /* 0x7C */ u8 unk_7C; + /* 0x7D */ u8 unk_7D; + /* 0x7E */ u8 unk_7E; + /* 0x7F */ u8 unk_7F; + /* 0x80 */ char unk_80[0xE]; + /* 0x8E */ u16 unk_8E; + /* 0x90 */ u16 unk_90; + /* 0x92 */ u16 unk_92; + /* 0x94 */ u8 unk_94; + /* 0x95 */ char unk_05[0x4]; + /* 0x99 */ u8 unk_99; + /* 0x9A */ char unk_9A[0x1]; + /* 0x9B */ u8 unk_9B; + /* 0x9C */ u8 unk_9C; + /* 0x9D */ u8 unk_9D; + /* 0x9E */ u8 unk_9E; + /* 0x9F */ u8 unk_9F; + /* 0xA0 */ char unk_A0[0xC]; +} UnkAlAC; // size = 0xAC + +typedef struct UnkAl6CC { + /* 0x000 */ struct UnkAl19E0* unk_00; + /* 0x004 */ char unk_04[0x4]; + /* 0x008 */ s32* unk_08; + /* 0x00C */ char unk_0C[0x24]; + /* 0x030 */ s32 unk_30; + /* 0x034 */ s32 unk_34; + /* 0x038 */ s32 unk_38; + /* 0x03C */ s32 unk_3C; + /* 0x040 */ UnkAl1 unk_40; + /* 0x05C */ s32 unk_5C; + /* 0x060 */ s32 unk_60; + /* 0x064 */ s32* unk_64[8]; + /* 0x084 */ s8 unk_84[8]; + /* 0x08C */ u8 unk_8C; + /* 0x08D */ s8 unk_8D; + /* 0x08E */ char unk_8E[0x2]; + /* 0x090 */ s32 unk_90[4]; + /* 0x0A0 */ Vec3s unk_A0[4]; + /* 0x0B8 */ u16 unk_B8; + /* 0x0BA */ s16 unk_BA; + /* 0x0BC */ u8 unk_BC; + /* 0x0BD */ u8 unk_BD; + /* 0x0BE */ u8 unk_BE; + /* 0x0BF */ char unk_BF[0x1]; + /* 0x0C0 */ s8 unk_C0; + /* 0x0C1 */ char unk_C1[0x1]; + /* 0x0C2 */ UnkAlA unk_C2[16]; + /* 0x162 */ s8 unk_162; + /* 0x163 */ s8 unk_163; + /* 0x164 */ s8 unk_164; + /* 0x165 */ s8 unk_165; + /* 0x166 */ char unk_166[0x2]; + /* 0x168 */ s32 unk_168; + /* 0x16C */ UnkAlAC unk_16C[8]; +} UnkAl6CC; + +typedef struct UnkAlC { + /* 0x0 */ s16 unk_00; + /* 0x2 */ s16 unk_02; + /* 0x4 */ s8 unk_04; + /* 0x5 */ s8 unk_05; + /* 0x6 */ s8 unk_06; + /* 0x7 */ s8 unk_07; + /* 0x8 */ s8 unk_08; + /* 0x9 */ s8 unk_09; + /* 0xA */ s8 unk_0A; +} UnkAlC; + +typedef struct UnkAl30 { + /* 0x00 */ s32* unk_00; + /* 0x04 */ s32 unk_04; + /* 0x08 */ s32 unk_08; + /* 0x0C */ s32 unk_0C; + /* 0x10 */ s32 unk_10; + /* 0x14 */ s32 unk_14; + /* 0x18 */ s32* unk_18; + /* 0x1C */ s16 unk_1C; + /* 0x1E */ s16 unk_1E; + /* 0x20 */ f32 unk_20; + /* 0x24 */ s8 unk_24; + /* 0x25 */ s8 unk_25; + /* 0x26 */ s8 unk_26; + /* 0x27 */ s8 unk_27; + /* 0x28 */ s8 unk_28; + /* 0x29 */ s8 unk_29; + /* 0x2A */ s8 unk_2A; + /* 0x2B */ s8 unk_2B; + /* 0x2C */ s32* unk_2C; +} UnkAl30; + +typedef struct UnkAl48 { // Track? + /* 0x00 */ s32 unk_00; // pointer to something + /* 0x04 */ f32 unk_04; + /* 0x08 */ s32 unk_08; + /* 0x0C */ s16 unk_0C; + /* 0x0E */ u8 unk_0E; + /* 0x0F */ u8 unk_0F; + /* 0x10 */ u8 unk_10; + /* 0x11 */ char unk_11[0x3]; + /* 0x14 */ s32 unk_14; + /* 0x18 */ s32 unk_18; + /* 0x1C */ s32* unk_1C; + /* 0x20 */ s32 unk_20; + /* 0x24 */ s32 unk_24; + /* 0x28 */ s32 unk_28; + /* 0x2C */ f32 unk_2C; + /* 0x30 */ s32 unk_30; + /* 0x34 */ s32 unk_34; + /* 0x38 */ char unk_38[0x1]; + /* 0x39 */ u8 unk_39; + /* 0x3A */ u8 unk_3A; + /* 0x3B */ u8 unk_3B; + /* 0x3C */ u8 unk_3C; + /* 0x3D */ u8 unk_3D; + /* 0x3E */ u8 unk_3E; + /* 0x3F */ u8 unk_3F; + /* 0x40 */ s16 unk_40; + /* 0x42 */ u8 unk_42; + /* 0x43 */ u8 unk_43; + /* 0x44 */ s8 unk_44; + /* 0x45 */ u8 unk_45; + /* 0x46 */ char unk_46[2]; +} UnkAl48; // size = 0x48 + +typedef struct UnkTemp2 { + /* 0x00 */ s32 unk_00; + /* 0x08 */ s32 unk_04; +} UnkTemp2; + +typedef struct UnkAl19E0Sub { + /* 0x0 */ u16 unk_0; + /* 0x2 */ u16 unk_2; + /* 0x4 */ u16 unk_4; +} UnkAl19E0Sub; + +typedef struct UnkAl19E0Sub2 { + /* 0x0 */ u8 unk_00; + /* 0x1 */ u8 unk_01; + /* 0x2 */ char unk_02[2]; +} UnkAl19E0Sub2; + +typedef struct UnkAl19E0Sub3 { + /* 0x00 */ struct UnkAlA9C* unk_0; + /* 0x04 */ s8 unk_4; + /* 0x05 */ s8 unk_5; +} UnkAl19E0Sub3; + +typedef struct UnkAl19E0 { + /* 0x0000 */ f32 unk_00; + /* 0x0004 */ UnkAl30* unk_04; + /* 0x0008 */ UnkAlC unk_08; + /* 0x0014 */ UnkAl4 unk_14; + /* 0x001C */ s32 unk_1C; + /* 0x0020 */ UnkTemp2* unk_20; + /* 0x0024 */ s32 unk_24; + /* 0x0028 */ char unk_28[0x4]; + /* 0x002C */ s32* unk_2C; + /* 0x0030 */ char unk_30[0x4]; + /* 0x0034 */ s32 unk_34; + /* 0x0038 */ s32 unk_38; + /* 0x003C */ UnkAl19E0Sub* unk_3C; + /* 0x0040 */ UnkAl19E0Sub2 unk_40[4]; + /* 0x0050 */ u8 unk_50; + /* 0x0051 */ u8 unk_51; + /* 0x0052 */ u8 unk_52; + /* 0x0053 */ u8 unk_53; + /* 0x0054 */ s32* unk_54; + /* 0x0058 */ s32* unk_58; + /* 0x005C */ s32* unk_5C; + /* 0x0060 */ s32* unk_60; + /* 0x0064 */ s32* unk_64; + /* 0x0068 */ s32* unk_68; + /* 0x006C */ UnkAl19E0Sub3 unk_6C[1]; + /* 0x0074 */ char unk_74[0xC]; + /* 0x0080 */ s32 unk_80; + /* 0x0084 */ char unk_84[0x10]; + /* 0x0094 */ s32* unk_94; + /* 0x0098 */ s32* unk_98; + /* 0x009C */ s32 unk_9C; + /* 0x00A0 */ s32* unk_A0; + /* 0x00A4 */ UnkFuncAl unk_A4[2]; + /* 0x00AC */ s32* unk_AC; + /* 0x00B0 */ char unk_B0[0x3C]; + /* 0x00EC */ s32* unk_EC; + /* 0x00F0 */ char unk_F0[0x3FC]; + /* 0x04EC */ s32* unk_4EC; + /* 0x04F0 */ char unk_4F0[0xFC]; + /* 0x05EC */ s32* unk_5EC; + /* 0x05F0 */ char unk_5F0[0x3FC]; + /* 0x09EC */ s32* unk_9EC; + /* 0x09F0 */ char unk_9F0[0x3FC]; + /* 0x0DEC */ s32* unk_DEC; + /* 0x0DF0 */ char unk_DF0[0x3FC]; + /* 0x11EC */ s32* unk_11EC; + /* 0x11F0 */ char unk_11F0[0xFC]; + /* 0x12EC */ s32* unk_12EC; + /* 0x12F0 */ s32* unk_12F0; + /* 0x12F4 */ s32* unk_12F4; + /* 0x12F8 */ s32* unk_12F8; + /* 0x12FC */ s32* unk_12FC; + /* 0x1300 */ s32* unk_1300; + /* 0x1304 */ s32* unk_1304; + /* 0x1308 */ s32* unk_1308; + /* 0x130C */ u8 unk_130C; + /* 0x130D */ char unk_130D[3]; + /* 0x1310 */ s32* unk_1310[3]; + /* 0x131C */ char unk_131C[4]; + /* 0x1320 */ UnkAl48 unk_1320[24]; +} UnkAl19E0; // size = 0x19E0 + +typedef struct UnkAl60 { + /* 0x00 */ u32 unk_00; + /* 0x04 */ u32 unk_04; + /* 0x08 */ char unk_08[0x4]; + /* 0x0C */ s32 unk_0C; + /* 0x10 */ s32 unk_10; + /* 0x14 */ char unk_14[0x4]; + /* 0x18 */ s32 unk_18; + /* 0x1C */ s32 unk_1C; + /* 0x20 */ s32 unk_20; + /* 0x24 */ s32 unk_24[2]; + /* 0x2C */ char unk_2C[0xC]; + /* 0x38 */ u16 unk_38; + /* 0x3A */ s16 unk_3A; + /* 0x3C */ char unk_3C[0x2]; + /* 0x3E */ s16 unk_3E; + /* 0x40 */ s8 unk_40; + /* 0x41 */ s8 unk_41; + /* 0x42 */ s8 unk_42; + /* 0x43 */ s8 unk_43; + /* 0x44 */ u16 unk_44; + /* 0x46 */ u16 unk_46; + /* 0x48 */ u8 unk_48; + /* 0x49 */ u8 unk_49; + /* 0x4A */ u8 unk_4A; + /* 0x4B */ u8 unk_4B; + /* 0x4C */ u8 unk_4C; + /* 0x4D */ char unk_4D[0x8]; + /* 0x55 */ s8 unk_55; + /* 0x56 */ s8 unk_56; + /* 0x57 */ s8 unk_57; + /* 0x58 */ u8 unk_58; + /* 0x59 */ char unk_59[0x2]; + /* 0x5B */ s8 unk_5B; + /* 0x5C */ u8 unk_5C; + /* 0x5D */ char unk_5D[0x3]; +} UnkAl60; // size = 0x60; + +typedef struct UnkAl24 { + /* 0x00 */ char unk_00[0x8]; + /* 0x08 */ u16 unk_08; + /* 0x0A */ u16 unk_0A; + /* 0x0C */ s32 unk_0C; + /* 0x10 */ char unk_10[0x4]; + /* 0x14 */ u16 unk_14; + /* 0x16 */ u8 unk_16; + /* 0x17 */ u8 unk_17; +} UnkAl24; // size = 0x18; + +typedef struct UnkAlA9C { + /* 0x000 */ UnkAl19E0* unk_00; + /* 0x004 */ UnkAl6CC* unk_04; + /* 0x008 */ s32 unk_08; + /* 0x00C */ s32 unk_0C; + /* 0x010 */ s32 unk_10; + /* 0x014 */ s32 unk_14; + /* 0x018 */ s32 unk_18; + /* 0x01C */ s32 unk_1C; + /* 0x020 */ s32 unk_20; + /* 0x024 */ char unk_24[0x8]; + /* 0x02C */ UnkAl1 unk_2C; + /* 0x048 */ s32 unk_48; + /* 0x04C */ u8 unk_4C[0x1]; // not sure how long this is + /* 0x04D */ char unk_4D[0xB]; + /* 0x058 */ s16 unk_58; + /* 0x05A */ s16 unk_5A; + /* 0x05C */ s16 unk_5C; + /* 0x05E */ char unk_5E[0x6]; + /* 0x064 */ s32 unk_64; + /* 0x068 */ s32 unk_68; + /* 0x06C */ s32 unk_6C; + /* 0x070 */ s32 unk_70; + /* 0x074 */ char unk_74[0x3C]; + /* 0x0B0 */ s32 unk_B0; + /* 0x0B4 */ s32 unk_B4; + /* 0x0B8 */ s32 unk_B8; + /* 0x0BC */ s32 unk_BC; + /* 0x0C0 */ s32 unk_C0; + /* 0x0C4 */ s32 unk_C4; + /* 0x0C8 */ s32 unk_C8; + /* 0x0CC */ s32 unk_CC; + /* 0x0D0 */ f32 unk_D0; + /* 0x0D4 */ X16 unk_D4; + /* 0x0D6 */ X16 unk_D6; + /* 0x0D8 */ char unk_D8[0x90]; + /* 0x168 */ s32 unk_168; + /* 0x16C */ char unk_16C[0x98]; + /* 0x204 */ s32 unk_204; + /* 0x208 */ s16 unk_208; + /* 0x20A */ u16 unk_20A; + /* 0x20C */ s16 unk_20C; + /* 0x20E */ s16 unk_20E; + /* 0x210 */ char unk_210[0xA]; + /* 0x21A */ u8 unk_21A; + /* 0x21B */ char unk_21B[0x5]; + /* 0x220 */ u8 unk_220; + /* 0x221 */ u8 unk_221; + /* 0x222 */ u8 unk_222; + /* 0x223 */ u8 unk_223; + /* 0x224 */ u8 unk_224[3]; + /* 0x227 */ char unk_227[0x3]; + /* 0x22A */ u8 unk_22A; + /* 0x22B */ u8 unk_22B; + /* 0x22C */ u8 unk_22C; + /* 0x22D */ u8 unk_22D; + /* 0x22E */ u8 unk_22E; + /* 0x22F */ u8 unk_22F; + /* 0x230 */ u8 unk_230; + /* 0x231 */ u8 unk_231; + /* 0x232 */ u8 unk_232; + /* 0x233 */ char unk_233[0x1]; + /* 0x234 */ u8 unk_234; + /* 0x235 */ u8 unk_235; + /* 0x236 */ char unk_236[0x2]; + /* 0x238 */ s32 unk_238[8]; + /* 0x258 */ s8 unk_258; + /* 0x259 */ s8 unk_259; + /* 0x25A */ s8 unk_25A; + /* 0x25B */ s8 unk_25B; + /* 0x25C */ UnkAl60 unk_25C[16]; + /* 0x85C */ UnkAl24 unk_85C[24]; +} UnkAlA9C; // size = 0xA9C + +typedef union Q32 { + u8 u8[4]; + u16 u16[2]; + s32 s32; +} Q32; + +typedef struct UnkAl8 { + /* 0x00 */ Q32 unk_00; + /* 0x04 */ char unk_04[0x4]; +} UnkAl8; // size = 0x8 + +typedef struct UnkAl1E4 { + /* 0x00 */ char unk_00[0x8]; + /* 0x08 */ s32 unk_08; + /* 0x0C */ char unk_0C[0x18]; + /* 0x24 */ u8 unk_24; + /* 0x25 */ u8 unk_25; + /* 0x26 */ char unk_26[0x2]; + /* 0x28 */ u16 unk_28; + /* 0x29 */ char unk_2A[0x1BA]; +} UnkAl1E4; // size = 0x1E4 + +typedef struct UnkAl834 { + /* 0x000 */ UnkAl19E0* unk_00; + /* 0x004 */ s32 unk_04; + /* 0x008 */ s32 unk_08; + /* 0x00C */ s32 unk_0C; + /* 0x010 */ char unk_10[0x10]; + /* 0x020 */ u8 unk_20; + /* 0x021 */ u8 unk_21; + /* 0x022 */ u8 unk_22; + /* 0x023 */ char unk_23[0x1]; + /* 0x024 */ UnkAl1E4 unk_24[4]; + /* 0x7B4 */ UnkAl8 unk_7B4[16]; +} UnkAl834; + +extern u8 D_80078181; +extern s32 D_80078190; +extern s32 D_800781D0; +extern s32 D_80078290; +extern s32 D_800782F8; +extern s32 D_80078348; +extern s32 D_80078320; +extern s32 D_80078544; +extern s32 D_800785A0; +extern s32 D_80078DB0; +extern u16 D_80078DB6; + +extern UnkAl0* D_80078E50; +extern UnkAl0* D_80078E54; +extern s8 D_80078E58; +extern s16 D_80078E5A; +extern s8 D_80078E5C; +extern s32* D_8007F1F8; // points to 80078290 + +extern UnkAl19E0* D_8009A5C0; +extern UnkAlA9C* D_8009A5CC; +extern UnkAlA9C* D_8009A5FC; +extern UnkFuncAl D_8009A5E8; +extern UnkAl834* D_8009A628; +extern UnkAl6CC* D_8009A640; +extern UnkAlA9C* D_8009A664; + +extern u16 D_800A0F50; + +extern s32* D_800A3FE0; +extern s32* D_800A3FE4; +extern s32 D_800A3FE8; +extern s8 D_800A3FEC; +extern s16 D_800A3FEE; +extern s32 D_800A3FF0; + +void al_LoadBKHeaders(UnkAl19E0* arg0, ALHeap* arg1); + +void func_8004B440(UnkAl6CC*, u8, u8, UnkAl19E0*, u8); +void func_8004B62C(UnkAl6CC*); +void func_8004B698(UnkAl6CC*); +void func_8004B6D8(UnkAl6CC*, s32, s16, s16, u8); +void func_8004B748(UnkAl6CC*); +s32 func_8004B9E4(UnkAl6CC*, s32); +void func_8004BA54(UnkAl6CC*, s32); +s16 func_8004C444(UnkAl6CC*); + +void func_8004D510(UnkAlA9C*); +UnkAlA9C* func_8004D794(s32); +s32 func_8004DA0C(UNK_TYPE); +void func_8004DAA8(UnkAlA9C*); +void func_8004DFD4(UnkAl19E0*); +void func_8004E158(UnkAlA9C*, s32, s32, UnkAl19E0*); +void func_8004E3A4(UnkAlA9C*); +void func_8004E444(UnkAlA9C*); +s16 func_8004E4B8(UnkAlA9C*); +void func_8004FBBC(UnkAlA9C*, UnkAl60*); +s32 func_8004FC08(UnkAlA9C*, u32); +void func_8004FCB4(UnkAlA9C*, UnkAl60*); +void func_8004FCE4(UnkAlA9C*, UnkAl60*); +void func_8004FD04(UnkAlA9C*, UnkAl60*); +void func_8004FD38(UnkAlA9C*, UnkAl60*); +void func_8004FD94(UnkAlA9C*, UnkAl60*); +void func_8004FE10(UnkAlA9C*, UnkAl60*); +void func_8004FE6C(UnkAlA9C*, UnkAl60*); +void func_8004FEB0(UnkAlA9C*, UnkAl60*); +void func_8004FED0(UnkAlA9C*, UnkAl60*); +void func_8004FF3C(UnkAlA9C*, UnkAl60*); +void func_8004FF58(UnkAlA9C*, UnkAl60*); +void func_8004FF70(UnkAlA9C*, UnkAl60*); +void func_8004FF88(UnkAlA9C*, UnkAl60*); +void func_8004FFA8(UnkAlA9C*, UnkAl60*); +void func_8004FFB4(UnkAlA9C*, UnkAl60*); +void func_8004FFC8(UnkAlA9C*, UnkAl60*); +void func_8004FFE4(UnkAlA9C*, UnkAl60*); +void func_8004FFF0(UnkAlA9C*, UnkAl60*); +void func_8004FFFC(UnkAlA9C*, UnkAl60*); +void func_80050004(UnkAlA9C*, UnkAl60*); +void func_80050020(UnkAlA9C*, UnkAl60*); +void func_80050128(UnkAlA9C*, UnkAl60*); +void func_8005015C(UnkAlA9C*, UnkAl60*); +void func_80050184(UnkAlA9C*, UnkAl60*); +void func_800501A8(UnkAlA9C*, UnkAl60*); +void func_800502F0(UnkAlA9C*, UnkAl60*); +void func_80050560(UnkAlA9C*, UnkAl60*); +s32 func_80056068(s32, u8); +s32 func_800506C8(s32, s32); +s32 func_80050C30(u32); +void func_80050D50(UnkAl1E4*); +void func_800511BC(UnkAl834*); +void func_80051334(UnkAl834*, UnkAl1E4*); +void func_80051434(UnkAl834*, UnkAl1E4*); +void func_800521E8(UnkAl834*, UnkAl1E4*); +void func_800522A8(UnkAl834*, UnkAl1E4*); +void func_8005232C(UnkAl834*, UnkAl1E4*); + +void func_800525A0(UnkAl19E0*); +void func_80052614(UnkAl19E0*); +void func_80052660(UnkAl19E0*); +void func_80052B44(UnkAl48*); +void func_80052BF8(UnkAl48*, s32*); + +void func_800532F4(UnkAl30*); +void func_80053370(UnkAlC*); +void func_800533A8(UnkAl4*); +void func_80053654(UnkAl19E0*); +void func_80053974(UnkAl1*, s32, s32, s16); +void func_80053A18(UnkAl1*); +void func_80053A28(UnkAl1*); +void func_80053A98(u8, u16, s32); +void func_80053AEC(UnkAl1*, s16); +void func_80053BA8(UnkAl1*); +s32 func_80053BE8(UnkAl19E0*, s32, s32, s32*); +void func_80054CE0(s32, s32); +void func_8005610C(void); + +void func_80055110(UnkAlA9C*); +s32 func_80055FF0(s32, s32); +s32 func_8005600C(s32, s32); +s32 func_80056028(s32, u8); +s32 func_80056044(s32, u8); +s32 func_80056068(s32, u8); +void func_8005608C(s32*, s32*); +void func_800560A8(void); +void func_8005610C(void); +void func_80056144(UnkFuncAl, s32); +void func_8005615C(void); +void func_80056180(void); +void func_800561A4(s32); +void func_800561C4(s32); +void func_800561E4(s32); +void func_80056204(void); +void func_80056228(void); + +void func_80056D44(s16); +s16 func_80056D50(void); +void func_80056D78(u8, u16); +void func_80056DCC(u8, u8); +void func_80056EC0(u8, s8); +void func_80056EE8(u8); +void func_80056FA4(u8, u8, s32, f32, s16, u8, u8, s32); +void func_80057224(u8, UnkAl30*); +void func_80057344(u8, f32); +void func_8005736C(u8, s16, s32, u8, u8); +void func_80057548(u8, u8, u8); +void func_800576EC(u8, s32, s32); +void func_80057DC8(s32); +void func_80057E08(u8); +void func_80057E5C(u8); +void func_80057EB0(void); +void func_80057ED0(s16); + +void al_LoadINIT(UnkAl19E0*, s32, ALHeap*); +s32 al_CopyFileTableEntry(u16, s32, s32*); +void al_LoadPER(UnkAl19E0*, s32*); +void al_LoadPRG(UnkAl19E0*, s32*); +void al_DmaCopy(s32, s32*, s32); + +#undef alHeapAlloc +void* alHeapAlloc(ALHeap *heap, s32 arg1, s32 size); + +#endif diff --git a/src/code_13870_len_6980.c b/src/code_13870_len_6980.c index 3199d38f7f..f83f0e8bb9 100644 --- a/src/code_13870_len_6980.c +++ b/src/code_13870_len_6980.c @@ -52,7 +52,14 @@ INCLUDE_ASM(s32, "code_13870_len_6980", appendGfx_npc); INCLUDE_ASM(s32, "code_13870_len_6980", render_npcs); -INCLUDE_ASM(void, "code_13870_len_6980", npc_move_heading, Npc* npc, f32 speed, f32 yaw); +void npc_move_heading(Npc* npc, f32 speed, f32 yaw) { + f32 angle = (yaw * TAU) / 360.0f; + f32 sin = sin_rad(angle); + f32 cos = cos_rad(angle); + + npc->pos.x += speed * sin; + npc->pos.z += -speed * cos; +} INCLUDE_ASM(Npc*, "code_13870_len_6980", get_npc_unsafe, NpcId npcId); @@ -101,7 +108,17 @@ void func_8003B1A8(void) { INCLUDE_ASM(s32, "code_13870_len_6980", func_8003B1B0); -INCLUDE_ASM(void, "code_13870_len_6980", set_npc_yaw, Npc* npcPtr, f32 angle); +void set_npc_yaw(Npc* npc, f32 angle) { + npc->yaw = angle; + + if (get_clamped_angle_diff(gCameras[gCurrentCameraID].currentYaw, angle) >= 0.0f) { + npc->yawCamOffset = 180; + npc->isFacingAway = TRUE; + } else { + npc->yawCamOffset = 0; + npc->isFacingAway = FALSE; + } +} INCLUDE_ASM(s32, "code_13870_len_6980", func_8003B3D0); diff --git a/src/code_1f580_len_1940.c b/src/code_1f580_len_1940.c index 7ca226c865..4965b3997a 100644 --- a/src/code_1f580_len_1940.c +++ b/src/code_1f580_len_1940.c @@ -37,7 +37,26 @@ ApiStatus func_80044290(ScriptInstance* script, s32 isInitialCall) { return ApiStatus_DONE2; } -INCLUDE_ASM(s32, "code_1f580_len_1940", MakeNpcs, ScriptInstance* script, s32 isInitialCall); +ApiStatus MakeNpcs(ScriptInstance* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + + if (isInitialCall) { + script->functionTemp[0].s = 0; + } + + switch (script->functionTemp[0].s) { + case 0: + make_npcs(get_variable(script, *args++), GAME_STATUS->mapID, get_variable(script, *args++)); + script->functionTemp[0].s = 1; + break; + case 1: + if (gGameState != script->functionTemp[0].s) { + return ApiStatus_DONE2; + } + } + + return ApiStatus_BLOCK; +} INCLUDE_ASM(s32, "code_1f580_len_1940", RemoveNpc, ScriptInstance* script, s32 isInitialCall); @@ -65,11 +84,11 @@ ApiStatus GetOwnerEncounterTrigger(ScriptInstance* script, s32 isInitialCall) { ApiStatus DoNpcDefeat(ScriptInstance* script, s32 isInitialCall) { Enemy* owner = script->owner1.enemy; - Npc* temp_s1 = get_npc_unsafe(owner->npcID); + Npc* npc = get_npc_unsafe(owner->npcID); ScriptInstance* newScript; kill_script(script); - temp_s1->currentAnim = owner->animList[6]; + npc->currentAnim = owner->animList[6]; newScript = start_script(&SCRIPT_NpcDefeat, 10, 0); owner->defeatScript = newScript; owner->defeatScriptID = newScript->id; @@ -345,15 +364,10 @@ ApiStatus SetNpcVar(ScriptInstance* script, s32 isInitialCall) { ApiStatus GetNpcVar(ScriptInstance* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; - Enemy* npc; - NpcId npcID; - s32 varIdx; - s32 var3; - - npc = script->owner1.enemy; - npcID = get_variable(script, *args++); - varIdx = get_variable(script, *args++); - var3 = *args; + Enemy* npc = script->owner1.enemy; + NpcId npcID = get_variable(script, *args++); + s32 varIdx = get_variable(script, *args++); + s32 var3 = *args; if (npcID == NpcId_SELF) { npcID = npc->npcID; @@ -420,8 +434,8 @@ ApiStatus ClearDefeatedEnemies(ScriptInstance* script, s32 isInitialCall) { s32 i; s32 j; - for (i = 0; i < 60; i++) { - for (j = 0; j < 12; j++) { + for (i = 0; i < ARRAY_COUNT(currentEncounter->defeatFlags); i++) { + for (j = 0; j < ARRAY_COUNT(currentEncounter->defeatFlags[0]); j++) { currentEncounter->defeatFlags[i][j] = 0; } } @@ -504,7 +518,39 @@ ApiStatus func_800458CC(ScriptInstance* script, s32 isInitialCall) { return ApiStatus_DONE2; } -INCLUDE_ASM(s32, "code_1f580_len_1940", func_80045900); +ApiStatus func_80045900(ScriptInstance* script) { + Enemy* enemy = script->owner1.enemy; + Npc* npc = get_npc_unsafe(enemy->npcID); + s32 var0 = get_variable(script, *script->ptrReadPos); + + enemy->unk_B0 |= 4; + + if (var0 == 0) { + s32 unk; + + if (!(enemy->unk_B0 & 0x10)) { + npc->currentAnim = *enemy->animList; + } + + if (!(enemy->unk_B0 & 0x8)) { + fx_emote(2, npc, 0.0f, npc->collisionHeight, 1.0f, 0.0f, -20.0f, 40, &unk); + } + + if ((npc->flags & 0xA08) == 0x808) { + f32 x = npc->pos.x; + f32 y = npc->pos.y + npc->collisionHeight; + f32 z = npc->pos.z; + f32 a = 100.0f; + + if (func_800DCB7C(npc->unk_80, &x, &y, &z, &a) != 0) { + npc->pos.y = y; + } + npc->flags &= ~0x800; + } + } + + return ApiStatus_DONE2; +} ApiStatus SetTattleString(ScriptInstance* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; diff --git a/src/code_25f00_len_940.c b/src/code_25f00_len_940.c index 601ebe4882..42af61eb5d 100644 --- a/src/code_25f00_len_940.c +++ b/src/code_25f00_len_940.c @@ -1,18 +1,112 @@ #include "common.h" +#include "nu/nusys.h" +#include "nu/nualsgi.h" +#include "audio.h" + +extern NUDMAState nuAuDmaState; + +s32 D_80078170 = 0; +NUAuPreNMIFunc nuAuPreNMIFunc = NULL; +s32 nuAuDmaNext = 0; +u32 nuAuFrameCounter = 0; +u8 D_80078180 = 1; +u8 D_80078181 = 1; INCLUDE_ASM(s32, "code_25f00_len_940", func_8004AB00); -INCLUDE_ASM(s32, "code_25f00_len_940", func_8004ADD0); +void nuAuPreNMIFuncSet(NUAuPreNMIFunc func) { + OSIntMask mask = osSetIntMask(OS_IM_NONE); + + nuAuPreNMIFunc = func; + osSetIntMask(mask); +} INCLUDE_ASM(s32, "code_25f00_len_940", func_8004AE08); -INCLUDE_ASM(s32, "code_25f00_len_940", nuAuDmaCallBack); +s32 nuAuDmaCallBack(s32 addr, s32 len, void* state, s32 arg3); +INCLUDE_ASM(s32, "code_25f00_len_940", nuAuDmaCallBack, s32 addr, s32 len, void* state, s32 arg3); -INCLUDE_ASM(s32, "code_25f00_len_940", nuAuDmaNew); +ALDMAproc nuAuDmaNew(NUDMAState** state) { + if (!nuAuDmaState.initialized) { + nuAuDmaState.firstFree = &nuAuDmaBuf; + nuAuDmaState.firstUsed = NULL; + nuAuDmaState.initialized = TRUE; + } -INCLUDE_ASM(s32, "code_25f00_len_940", nuAuCleanDMABuffers); + nuAuDmaNext = 0; + *state = &nuAuDmaState; + return nuAuDmaCallBack; +} +void nuAuCleanDMABuffers(void) { + NUDMAState* state = &nuAuDmaState; + NUDMABuffer* dmaPtr = state->firstUsed; + + // A bit odd, this + do { + NUDMAState* state = &nuAuDmaState; + NUDMABuffer* nextPtr; + u32* frameCounter; + + while (dmaPtr != NULL) { + nextPtr = dmaPtr->node.next; + + if (dmaPtr->frameCnt + 1 < nuAuFrameCounter) { + if (state->firstUsed == dmaPtr) { + state->firstUsed = nextPtr; + } + + alUnlink(dmaPtr); + + if (state->firstFree != 0) { + alLink(dmaPtr, state->firstFree); + } else { + state->firstFree = dmaPtr; + dmaPtr->node.next = 0; + dmaPtr->node.prev = 0; + } + } + + dmaPtr = nextPtr; + } + + nuAuDmaNext = 0; + frameCounter = &nuAuFrameCounter; + *frameCounter += 1; + } while (0); +} + +// Nop issue +#ifdef NON_MATCHING +void func_8004B328(s16 arg0, s32 arg1) { + s16 temp_a0_2; + s32 temp_s0; + + switch (arg0) { + case 2: + D_800A0F50 = func_80056D50(); + func_80056D34(); + break; + case 1: + temp_a0_2 = D_800A0F50; + temp_s0 = temp_a0_2 - (temp_a0_2 / 20) * arg1; + + if (temp_s0 < 0) { + temp_s0 = 0; + } + + temp_s0 = (temp_s0 * temp_s0) >> 15; + func_80056D44(temp_s0); + + if (temp_s0 == 0) { + D_80078180 = 0; + } + break; + } +} +#else INCLUDE_ASM(s32, "code_25f00_len_940", func_8004B328); +#endif void alLink(ALLink* element, ALLink* after) { element->next = after->next; diff --git a/src/code_26840_len_20d0.c b/src/code_26840_len_20d0.c index 8bb059f7cc..8b8181fa4b 100644 --- a/src/code_26840_len_20d0.c +++ b/src/code_26840_len_20d0.c @@ -1,18 +1,163 @@ #include "common.h" +#include "audio.h" -INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B440); +void func_8004B440(UnkAl6CC* arg0, u8 arg1, u8 arg2, UnkAl19E0* arg3, u8 arg4) { + u32 i; + s32 c = 0x6A25E; -INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B62C); + arg0->unk_00 = arg3; + arg0->unk_34 = 0x4C4B4; + arg0->unk_38 = arg0->unk_3C = c; + arg0->unk_BC = arg1; + arg0->unk_BE = arg2; -INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B698); + if (arg4 > 0x10) { + arg0->unk_BD = 0x10; + } else { + arg0->unk_BD = arg4; + } -INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B6D8); + arg0->unk_5C = 0x8000; + arg0->unk_B8 = 0x8000; + arg0->unk_30 = 0; + arg0->unk_60 = 0; -INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B748); + for (i = 0; i < ARRAY_COUNT(arg0->unk_16C); i++) { + UnkAlAC* sub = &arg0->unk_16C[i]; -INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B9E4); + sub->unk_00 = 0; + sub->unk_5C = 0; + sub->unk_8E = 0; + sub->unk_90 = 0; + sub->unk_92 = 0; + sub->unk_94 = 0; + sub->unk_9B = 0; + sub->unk_9C = 0; + sub->unk_9D = 0; + sub->unk_9E = 0; + sub->unk_9F = 0; + sub->unk_99 = 0; + sub->unk_78 = 0; + sub->unk_79 = 0; + sub->unk_7A = 0; + sub->unk_7B = 0x40; + sub->unk_7C = 0; + sub->unk_7D = 0xB0; + sub->unk_7E = 0; + sub->unk_7F = 0; + } -INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004BA54); + for (i = 0; i < 4; i++) { + arg0->unk_90[i] = 0; + } + + for (i = 0; i < 4; i++) { + arg0->unk_A0[i].x = 0; + } + + arg0->unk_168 = 0; + func_8004BA54(arg0, 0); + func_8004B698(arg0); + func_80053974(&arg0->unk_40, 0, 0x7FFF, 0x7FFF); + func_80053A98(arg0->unk_BE, arg0->unk_40.unk_00.u16, arg0->unk_5C); + arg0->unk_8C = 0xFF; + + arg0->unk_64[0] = &D_80078290; + arg0->unk_64[1] = &D_800782F8; + arg0->unk_64[2] = &D_80078320; + arg0->unk_64[3] = &D_80078348; + arg0->unk_64[4] = &D_80078348; + arg0->unk_64[5] = &D_80078348; + arg0->unk_64[6] = &D_80078348; + arg0->unk_64[7] = &D_80078348; + + arg0->unk_84[0] = 0x10; + arg0->unk_84[1] = 0x20; + arg0->unk_84[2] = 0x20; + arg0->unk_84[3] = 0x20; + arg0->unk_84[4] = 0x20; + arg0->unk_84[5] = 0x30; + arg0->unk_84[6] = 0x40; + arg0->unk_84[7] = 0x50; + + func_8004B9E4(arg0, 0); +} + +INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B62C, UnkAl6CC* arg0); + +void func_8004B698(UnkAl6CC* arg0) { + s32 i; + + for (i = 0; i < ARRAY_COUNT(arg0->unk_C2); i++) { + arg0->unk_C2[i].unk_00 = 0; + arg0->unk_C2[i].unk_02 = 0; + arg0->unk_C2[i].unk_04 = 0; + arg0->unk_C2[i].unk_06 = 0; + arg0->unk_C2[i].unk_08 = 0; + } + + arg0->unk_165 = 0; + arg0->unk_164 = 0; + arg0->unk_163 = 0; + arg0->unk_162 = 0; +} + +void func_8004B6D8(UnkAl6CC* arg0, s32 arg1, s16 arg2, s16 arg3, u8 arg4) { + u8 temp_v1 = arg0->unk_164; + s32 temp_v0 = temp_v1 - (u8) arg0->unk_163; + u32 temp_t0; + + if (temp_v0 < 0) { + temp_v0 += 0x10; + } + + if (temp_v0 < 0x10) { + temp_t0 = temp_v1; + + arg0->unk_C2[temp_v1].unk_00 = arg1 & 0xBFFF; + arg0->unk_C2[temp_v1].unk_02 = (((u32) arg1 >> 0x10) & 0x3FF); + arg0->unk_C2[temp_v1].unk_04 = arg2; + arg0->unk_C2[temp_v1].unk_06 = arg3; + arg0->unk_C2[temp_v1].unk_08 = arg4; + + temp_t0++; + if (temp_t0 >= 0x10) { + temp_t0 = 0; + } + + arg0->unk_164 = temp_t0; + } +} + +INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B748, UnkAl6CC* arg0); + +s32 func_8004B9E4(UnkAl6CC* arg0, s32 arg1) { + s32 a1 = (u8) arg1; + + if (a1 != 0xF0) { + if (a1 < 8) { + if (arg0->unk_8C != a1) { + arg0->unk_8C = a1; + arg0->unk_00->unk_40[1].unk_00 = 6; + arg0->unk_00->unk_40[1].unk_01 = 1; + D_8007F1F8 = arg0->unk_64[a1]; + } + arg0->unk_8D = arg0->unk_84[a1]; + } else { + arg0->unk_8C = 0xFF; + arg0->unk_8D = 0; + } + } + return arg0->unk_8C; +} + +void func_8004BA54(UnkAl6CC* arg0, s32 arg1) { + if (arg1 == 0) { + arg0->unk_C0 = 0; + } else if (arg1 == 1) { + arg0->unk_C0 = 1; + } +} INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004BA74); @@ -28,7 +173,7 @@ INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004C358); INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004C3D4); -INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004C444); +INCLUDE_ASM(s16, "code_26840_len_20d0", func_8004C444, UnkAl6CC* arg0); INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004C578); diff --git a/src/code_28910_len_5090.c b/src/code_28910_len_5090.c index 40274bd6f0..0a5d163bca 100644 --- a/src/code_28910_len_5090.c +++ b/src/code_28910_len_5090.c @@ -1,8 +1,24 @@ -#include "code_28910_len_5090.h" +#include "audio.h" -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004D510); +INCLUDE_ASM(void, "code_28910_len_5090", func_8004D510, UnkAlA9C* arg0); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004D794); +// Return values are being pushed into v0 in the wrong place +// May depend on data decomp +#ifdef NON_MATCHING +UnkAlA9C* func_8004D794(s32 arg0) { + UnkAl19E0* temp_v1 = D_8009A664->unk_00; + + if (arg0 == temp_v1->unk_5C[2]) { + return D_8009A664; + } + if (arg0 == temp_v1->unk_60[2]) { + return D_8009A5FC; + } + return NULL; +} +#else +INCLUDE_ASM(UnkAlA9C*, "code_28910_len_5090", func_8004D794, s32 arg0); +#endif INCLUDE_ASM(s32, "code_28910_len_5090", func_8004D7E0); @@ -10,16 +26,16 @@ s32 func_8004DA0C(UNK_TYPE arg0) { s32 ret = 0; if (arg0 != 0) { - UnkStructFor8004DAA8* unknown; + UnkAlA9C* unknown; do { - unknown = func_8004D794(); + unknown = func_8004D794(arg0); } while (0); do { if (unknown == NULL) { ret = 2; - } else if (arg0 == unknown->unk_01C) { + } else if (arg0 == unknown->unk_1C) { func_8004DAA8(unknown); ret = 0; } @@ -33,12 +49,12 @@ s32 func_8004DA0C(UNK_TYPE arg0) { INCLUDE_ASM(s32, "code_28910_len_5090", func_8004DA74); -void func_8004DAA8(UnkStructFor8004DAA8* arg0) { +void func_8004DAA8(UnkAlA9C* arg0) { if (arg0->unk_221 != 0) { arg0->unk_221 = 4; - arg0->unk_010 = 1; - arg0->unk_008 = 1; - func_80053A18(&arg0->unk_02C); + arg0->unk_10 = 1; + arg0->unk_08 = 1; + func_80053A18(&arg0->unk_2C); } } @@ -54,19 +70,115 @@ INCLUDE_ASM(s32, "code_28910_len_5090", func_8004DCB8); INCLUDE_ASM(s32, "code_28910_len_5090", func_8004DE2C); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004DFD4); +INCLUDE_ASM(void, "code_28910_len_5090", func_8004DFD4, UnkAl19E0* arg0); INCLUDE_ASM(s32, "code_28910_len_5090", func_8004E0F4); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004E158); +void func_8004E158(UnkAlA9C* arg0, s32 arg1, s32 arg2, UnkAl19E0* arg3) { + s16 i; + + arg0->unk_00 = arg3; + func_8004E880(arg0, 0x2625A, 0x30); + arg0->unk_48 = 0x8000; + arg0->unk_B0 = 0x3CF0; + arg0->unk_C0 = 0x7F000000; + arg0->unk_22B = 1; + arg0->unk_14 = 0; + arg0->unk_18 = 0; + arg0->unk_1C = 0; + arg0->unk_20 = 0; + arg0->unk_58 = 0; + arg0->unk_5A = 0; + arg0->unk_68 = 0; + arg0->unk_6C = 0; + arg0->unk_70 = 0; + arg0->unk_BC = 0; + arg0->unk_B8 = 0; + arg0->unk_B4 = 0; + arg0->unk_CC = 0; + arg0->unk_C8 = 0; + arg0->unk_C4 = 0; + arg0->unk_20C = 0; + arg0->unk_20E = 0; + arg0->unk_220 = 0; + arg0->unk_204 = 0; + arg0->unk_232 = 0; + arg0->unk_221 = 0; + arg0->unk_234 = arg1; + arg0->unk_235 = arg2; + arg0->unk_168 = 0; + arg0->unk_222 = 0; + arg0->unk_223 = 0; + arg0->unk_22A = 0; + arg0->unk_22C = 0; + arg0->unk_D0 = 1.0f; + arg0->unk_22D = 0; + arg0->unk_22F = 2; + arg0->unk_230 = 3; + arg0->unk_22E = 0; + arg0->unk_231 = 4; + + for (i = 0; i < ARRAY_COUNT(arg0->unk_25C); i++) { + UnkAl60* temp = &arg0->unk_25C[i]; + + temp->unk_18 = 0; + temp->unk_24[1] = 0; + temp->unk_46 = 0; + temp->unk_48 = 0; + temp->unk_4A = 0; + temp->unk_4B = 0; + temp->unk_44 = 0; + temp->unk_58 = 0; + temp->unk_49 = 0x7F; + temp->unk_4C = 0; + + if (i < ARRAY_COUNT(arg0->unk_238)) { + arg0->unk_238[i] = 0; + } + } + + for (i = 0; i < ARRAY_COUNT(arg0->unk_85C); i++) { + UnkAl24* temp = &arg0->unk_85C[i]; + + temp->unk_08 = 0; + temp->unk_0A = 0; + temp->unk_0C = 0; + temp->unk_14 = 0; + temp->unk_16 = 0; + temp->unk_17 = 0; + } + + func_80053AEC(&arg0->unk_2C, 0x7FFF); + func_80055110(arg0); +} + INCLUDE_ASM(s32, "code_28910_len_5090", func_8004E344); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004E3A4); +void func_8004E3A4(UnkAlA9C* arg0) { + arg0->unk_2C.unk_0A--; -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004E444); + if (arg0->unk_2C.unk_0A != 0) { + arg0->unk_2C.unk_00.s32 += arg0->unk_2C.unk_04; + } else { + arg0->unk_2C.unk_00.s32 = arg0->unk_2C.unk_08 << 16; -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004E4B8); + if (arg0->unk_2C.unk_0C != NULL) { + arg0->unk_2C.unk_0C(); + } + + if (arg0->unk_20 != 0) { + func_8004DC80(arg0->unk_20); + } else if (arg0->unk_2C.unk_00.s32 == 0) { + func_8004DAA8(arg0); + } + } + func_8004E444(arg0); +} + +INCLUDE_ASM(void, "code_28910_len_5090", func_8004E444, UnkAlA9C* arg0); + +INCLUDE_ASM(s16, "code_28910_len_5090", func_8004E4B8, UnkAlA9C* arg0); INCLUDE_ASM(s32, "code_28910_len_5090", func_8004E5D8); @@ -84,63 +196,244 @@ INCLUDE_ASM(s32, "code_28910_len_5090", func_8004EC04); INCLUDE_ASM(s32, "code_28910_len_5090", func_8004EC68); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FBBC); +void func_8004FBBC(UnkAlA9C* arg0, UnkAl60* arg1) { + u32 unk_D4 = arg0->unk_D4.u16; + s32 temp_v0; -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FC08); + arg0->unk_208 = unk_D4; + temp_v0 = func_8004FC08(arg0, unk_D4); + arg0->unk_B0 = temp_v0; + arg0->unk_08 = temp_v0 * 10; + arg0->unk_BC = 0; + arg0->unk_B8 = 0; + arg0->unk_B4 = 0; +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FCB4); +s32 func_8004FC08(UnkAlA9C* arg0, u32 arg1) { + u32 unk_20A = arg0->unk_20A; + u32 ret = arg1; -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FCE4); + ret *= arg0->unk_D0; -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FD04); + if (unk_20A < ret) { + ret = unk_20A; + } else if (ret == 0) { + ret = 1; + } -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FD38); + return ret * 100; +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FD94); +void func_8004FCB4(UnkAlA9C* arg0, UnkAl60* arg1) { + s32 unk_D4 = arg0->unk_D4.u8[0] & 0x7F; -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FE10); + if (unk_D4 != 0) { + unk_D4 = unk_D4 << 0x18; + } -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FE6C); + arg0->unk_C0 = unk_D4; + arg0->unk_CC = 0; + arg0->unk_C8 = 0; + arg0->unk_C4 = 0; + arg0->unk_21A = 1; + arg1->unk_41 = 1; +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FEB0); +void func_8004FCE4(UnkAlA9C* arg0, UnkAl60* arg1) { + arg0->unk_20C = (s8)arg0->unk_D4.u8[0] * 100; +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FED0); +void func_8004FD04(UnkAlA9C* arg0, UnkAl60* arg1) { + arg0->unk_00->unk_40[arg0->unk_235].unk_00 = arg0->unk_D4.u8[0]; + arg0->unk_00->unk_40[arg0->unk_235].unk_01 = 1; +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FF3C); +void func_8004FD38(UnkAlA9C* arg0, UnkAl60* arg1) { + u8 unk_D4 = arg0->unk_D4.u8[0]; + u32 temp_v1 = arg0->unk_4C[unk_D4]; -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FF58); + if ((unk_D4 < 4) && (temp_v1 < 0x80)) { + if (arg0->unk_00->unk_40[temp_v1].unk_00 != arg0->unk_D4.u8[1]) { + arg0->unk_00->unk_40[temp_v1].unk_00 = arg0->unk_D4.u8[1]; + arg0->unk_00->unk_40[temp_v1].unk_01 = 1; + } + arg0->unk_224[unk_D4] = arg0->unk_D4.u8[1]; + } +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FF70); +void func_8004FD94(UnkAlA9C* arg0, UnkAl60* arg1) { + s32 unk_D4 = arg0->unk_D4.u16; + s32 temp_a0 = func_8004FC08(arg0, arg0->unk_D6.u16); + s32 temp_v0; -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FF88); + if (unk_D4 <= 0) { + unk_D4 = 1; + } + temp_v0 = (temp_a0 - arg0->unk_B0) / unk_D4; -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FFA8); + arg0->unk_BC = unk_D4; + arg0->unk_B8 = temp_a0; + arg0->unk_B4 = temp_v0; +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FFB4); +void func_8004FE10(UnkAlA9C* arg0, UnkAl60* arg1) { + s32 temp_a1; + s32 temp_a2; -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FFC8); + temp_a1 = arg0->unk_D4.u16; + temp_a2 = arg0->unk_D6.u8[0] & 0x7F; -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FFE4); + if (temp_a2 != 0) { + temp_a2 = temp_a2 << 0x18; + } -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FFF0); + if (temp_a1 <= 0) { + temp_a1 = 1; + } -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FFFC); + arg0->unk_CC = temp_a1; + arg0->unk_C8 = temp_a2; + arg0->unk_C4 = (temp_a2 - arg0->unk_C0) / temp_a1; +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_80050004); +// Not sure about types +#ifdef NON_MATCHING +void func_8004FE6C(UnkAlA9C* arg0, UnkAl60* arg1) { + u8 temp_v1 = arg0->unk_D4.u16; -INCLUDE_ASM(s32, "code_28910_len_5090", func_80050020); + arg1->unk_44 = temp_v1; + arg1->unk_0C = func_80053BE8(arg0->unk_00, arg0->unk_D4.u8[0], temp_v1, &arg1->unk_10); +} +#else +INCLUDE_ASM(void, "code_28910_len_5090", func_8004FE6C, UnkAlA9C* arg0, UnkAl60* arg1); +#endif -INCLUDE_ASM(s32, "code_28910_len_5090", func_80050128); +void func_8004FEB0(UnkAlA9C* arg0, UnkAl60* arg1) { + u32 unk_D4 = arg0->unk_D4.u8[0] & 0x7F; -INCLUDE_ASM(s32, "code_28910_len_5090", func_8005015C); + if (unk_D4 != 0) { + unk_D4 = unk_D4 << 0x18; + } -INCLUDE_ASM(s32, "code_28910_len_5090", func_80050184); + arg1->unk_18 = unk_D4; + arg1->unk_41 = 1; +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_800501A8); +// Type shenanigans +#ifdef NON_MATCHING +void func_8004FED0(UnkAlA9C* arg0, UnkAl60* arg1) { + s32 temp_a2 = arg0->unk_D4.u16; + s32 temp_a0 = arg0->unk_D6.u8[0] & 0x7F; + s32 phi_a2; -INCLUDE_ASM(s32, "code_28910_len_5090", func_800502F0); + if (temp_a0 != 0) { + temp_a0 = temp_a0 << 0x18; + } -void func_80050560(void) { + if (temp_a0 != arg1->unk_18) { + + + if (temp_a2 <= 0) { + phi_a2 = 1; + } else { + phi_a2 = temp_a2; + } + arg1->unk_24[0] = phi_a2; + arg1->unk_20 = temp_a0; + arg1->unk_1C = (temp_a0 - arg1->unk_18) / phi_a2; + } +} +#else +INCLUDE_ASM(void, "code_28910_len_5090", func_8004FED0, UnkAlA9C* arg0, UnkAl60* arg1); +#endif + +void func_8004FF3C(UnkAlA9C* arg0, UnkAl60* arg1) { + arg1->unk_4A = arg0->unk_D4.u8[0] & 0x7F; + arg1->unk_57 = 0; + arg1->unk_42 = 1; +} + +void func_8004FF58(UnkAlA9C* arg0, UnkAl60* arg1) { + arg1->unk_4B = arg0->unk_D4.u8[0] & 0x7F; + arg1->unk_43 = 1; +} + +void func_8004FF70(UnkAlA9C* arg0, UnkAl60* arg1) { + arg1->unk_49 = arg0->unk_D4.u8[0] & 0x7F; + arg1->unk_41 = 1; +} + +void func_8004FF88(UnkAlA9C* arg0, UnkAl60* arg1) { + arg1->unk_46 = (s8)arg0->unk_D4.u8[0] * 100; +} + +void func_8004FFA8(UnkAlA9C* arg0, UnkAl60* arg1) { + arg1->unk_48 = arg0->unk_D4.u8[0]; +} + +void func_8004FFB4(UnkAlA9C* arg0, UnkAl60* arg1) { + arg1->unk_38 = arg0->unk_D4.u16; + arg1->unk_40 = 1; +} + +void func_8004FFC8(UnkAlA9C* arg0, UnkAl60* arg1) { + arg1->unk_3A = arg0->unk_D4.u8[0]; + arg1->unk_55 = arg0->unk_D4.u8[1]; + arg1->unk_56 = arg0->unk_D6.u8[0]; +} + +void func_8004FFE4(UnkAlA9C* arg0, UnkAl60* arg1) { + arg1->unk_55 = arg0->unk_D4.u8[0]; +} + +void func_8004FFF0(UnkAlA9C* arg0, UnkAl60* arg1) { + arg1->unk_56 = arg0->unk_D4.u8[0]; +} + +void func_8004FFFC(UnkAlA9C* arg0, UnkAl60* arg1) { + arg1->unk_56 = 0; +} + +void func_80050004(UnkAlA9C* arg0, UnkAl60* arg1) { + arg1->unk_4A = arg0->unk_D4.u8[0] & 0x7F; + arg1->unk_57 = arg0->unk_D4.u8[1] & 0x7F; +} + +INCLUDE_ASM(void, "code_28910_len_5090", func_80050020, UnkAlA9C* arg0, UnkAl60* arg1); + +void func_80050128(UnkAlA9C* arg0, UnkAl60* arg1) { + u8 temp_v0 = arg0->unk_D4.u8[0]; + u8 temp_v1 = arg0->unk_4C[temp_v0]; + + if ((temp_v0 < 4) && ((s8)temp_v1 >= 0)) { + arg1->unk_5B = temp_v1; + } else { + arg1->unk_5B = arg0->unk_235; + } +} + +// unk_D4 type shenanigans +#ifdef NON_MATCHING +void func_8005015C(UnkAlA9C* arg0, UnkAl60* arg1) { + func_800560BC(arg0->unk_234, arg1->unk_5C, arg0->unk_D4.u16 >> 8); +} +#else +INCLUDE_ASM(void, "code_28910_len_5090", func_8005015C, UnkAlA9C* arg0, UnkAl60* arg1); +#endif + +void func_80050184(UnkAlA9C* arg0, UnkAl60* arg1) { + s32 temp = arg0->unk_D4.u16 + arg0->unk_64; + + arg1->unk_3E = arg0->unk_D6.u8[0]; + arg1->unk_04 = arg1->unk_00; + arg1->unk_00 = temp; +} + +INCLUDE_ASM(void, "code_28910_len_5090", func_800501A8, UnkAlA9C* arg0, UnkAl60* arg1); + +INCLUDE_ASM(void, "code_28910_len_5090", func_800502F0, UnkAlA9C* arg0, UnkAl60* arg1); + +void func_80050560(UnkAlA9C* arg0, UnkAl60* arg1) { } INCLUDE_ASM(s32, "code_28910_len_5090", func_80050568); @@ -151,13 +444,21 @@ INCLUDE_ASM(s32, "code_28910_len_5090", func_80050654); INCLUDE_ASM(s32, "code_28910_len_5090", func_8005068C); -INCLUDE_ASM(s32, "code_28910_len_5090", func_800506C8); +INCLUDE_ASM(s32, "code_28910_len_5090", func_800506C8, s32 arg0, s32 arg1); INCLUDE_ASM(s32, "code_28910_len_5090", func_80050770); INCLUDE_ASM(s32, "code_28910_len_5090", func_80050818); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8005083C); +void func_8005083C(UnkAlA9C* arg0, s32 arg1, s16 arg2, s8 arg3) { + UnkAl60* temp_a1 = &arg0->unk_25C[arg1]; + + if (temp_a1->unk_00 != 0) { + arg0->unk_D4.u16 = arg2; + arg0->unk_D6.u8[0] = arg3; + func_8004FED0(arg0, temp_a1); + } +} INCLUDE_ASM(s32, "code_28910_len_5090", func_8005087C); @@ -169,15 +470,23 @@ INCLUDE_ASM(s32, "code_28910_len_5090", func_80050970); INCLUDE_ASM(s32, "code_28910_len_5090", func_80050B90); -INCLUDE_ASM(s32, "code_28910_len_5090", func_80050C30); +s32 func_80050C30(u32 arg0) { + if (D_8009A628->unk_20 <= arg0) { + return 3; + } else { + return 0; + } +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_80050C54); +void func_80050C54(s32 arg0, s8 arg1) { + D_8009A628->unk_21 = arg1; +} INCLUDE_ASM(s32, "code_28910_len_5090", func_80050C64); INCLUDE_ASM(s32, "code_28910_len_5090", func_80050CA0); -INCLUDE_ASM(s32, "code_28910_len_5090", func_80050D50); +INCLUDE_ASM(void, "code_28910_len_5090", func_80050D50, UnkAl1E4* arg0); INCLUDE_ASM(s32, "code_28910_len_5090", func_80050E18); @@ -193,16 +502,69 @@ INCLUDE_ASM(s32, "code_28910_len_5090", func_80051050); INCLUDE_ASM(s32, "code_28910_len_5090", func_800510A4); -INCLUDE_ASM(s32, "code_28910_len_5090", func_800511BC); +// Something wrong with the switch control flow +#ifdef NON_MATCHING +void func_800511BC(UnkAl834* arg0) { + u32 i; + s32 j; -INCLUDE_ASM(s32, "code_28910_len_5090", func_80051334); + for (i = 0; i < ARRAY_COUNT(arg0->unk_7B4); i++) { + UnkAl8* temp = &arg0->unk_7B4[i]; -INCLUDE_ASM(s32, "code_28910_len_5090", func_80051434); + if ((temp->unk_00.u8[3] == 1) && (arg0->unk_00->unk_1320[i].unk_45 != arg0->unk_22)) { + temp->unk_00.s32 = 0; + } + } + + for (j = 0; j < ARRAY_COUNT(arg0->unk_24); j++) { + UnkAl1E4* temp = &arg0->unk_24[j]; + + if (temp->unk_08 != 0) { + if (arg0->unk_21 != 0) { + func_80051334(arg0, temp); + } + + switch (temp->unk_24) { + case 3: + temp->unk_24 = 2; + func_800522A8(arg0, temp); + func_800521E8(arg0, temp); + break; + case 1: + temp->unk_24 = 0; + if (temp->unk_28 != 0) { + func_80050D50(temp); + } + func_8005232C(arg0, temp); + break; + case 0: + if (temp->unk_28 != 0) { + func_80050D50(temp); + } + if (temp->unk_25 == 2) { + func_800521E8(arg0, temp); + temp->unk_25 = 1; + } + func_80051434(arg0, temp); + break; + } + } + } + + arg0->unk_21 = 0; +} +#else +INCLUDE_ASM(void, "code_28910_len_5090", func_800511BC, UnkAl834* arg0); +#endif + +INCLUDE_ASM(void, "code_28910_len_5090", func_80051334, UnkAl834* arg0, UnkAl1E4* arg1); + +INCLUDE_ASM(void, "code_28910_len_5090", func_80051434, UnkAl834* arg0, UnkAl1E4* arg1); INCLUDE_ASM(s32, "code_28910_len_5090", func_800521D0); -INCLUDE_ASM(s32, "code_28910_len_5090", func_800521E8); +INCLUDE_ASM(void, "code_28910_len_5090", func_800521E8, UnkAl834* arg0, UnkAl1E4* arg1); -INCLUDE_ASM(s32, "code_28910_len_5090", func_800522A8); +INCLUDE_ASM(void, "code_28910_len_5090", func_800522A8, UnkAl834* arg0, UnkAl1E4* arg1); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8005232C); +INCLUDE_ASM(void, "code_28910_len_5090", func_8005232C, UnkAl834* arg0, UnkAl1E4* arg1); diff --git a/src/code_28910_len_5090.h b/src/code_28910_len_5090.h deleted file mode 100644 index 1aa5bb7712..0000000000 --- a/src/code_28910_len_5090.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef _CODE_28910_LEN_5090_H_ -#define _CODE_28910_LEN_5090_H_ - -#include "common.h" -#include "code_2e230_len_2190.h" - -typedef struct { - /* 0x000 */ char unk_000[8]; - /* 0x008 */ s32 unk_008; - /* 0x00C */ char unk_00C[4]; - /* 0x010 */ s32 unk_010; - /* 0x014 */ char unk_014[8]; - /* 0x01C */ UNK_TYPE unk_01C; - /* 0x020 */ char unk_020[0xC]; - /* 0x02C */ UnkStructFor80053A18 unk_02C; - /* 0x03C */ char unk_03C[0x1E5]; - /* 0x221 */ u8 unk_221; -} UnkStructFor8004DAA8; // size unknown - -void func_8004DAA8(UnkStructFor8004DAA8* arg0); - -#endif diff --git a/src/code_2d9a0_len_890.c b/src/code_2d9a0_len_890.c index 168ab886c9..9f3dc87c4a 100644 --- a/src/code_2d9a0_len_890.c +++ b/src/code_2d9a0_len_890.c @@ -1,17 +1,56 @@ #include "common.h" +#include "audio.h" -INCLUDE_ASM(s32, "code_2d9a0_len_890", func_800525A0); +void func_800525A0(UnkAl19E0* arg0) { + s32 i; -INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052614); + for (i = 0; i < ARRAY_COUNT(arg0->unk_1320); i++) { + UnkAl48* temp = &arg0->unk_1320[i]; -INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052660); + if (temp->unk_42 != 0) { + func_80056EE8(i); + temp->unk_42 = 0; + temp->unk_1C = NULL; + temp->unk_45 = 0; + } + } +} -INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052B44); +void func_80052614(UnkAl19E0* arg0) { + s32 i; -INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052BC0); + for (i = 0; i < ARRAY_COUNT(arg0->unk_1320); i++) { + UnkAl48* temp = &arg0->unk_1320[i]; -INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052BF8); + temp->unk_1C = 0; + temp->unk_20 = 0; + temp->unk_24 = 0; + temp->unk_28 = 0; + temp->unk_3B = 0; + temp->unk_3C = 0; + temp->unk_3D = 0; + temp->unk_3E = 0; + temp->unk_3F = 0x80; + } +} -INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052CFC); +INCLUDE_ASM(void, "code_2d9a0_len_890", func_80052660, UnkAl19E0* arg0); + +void func_80052B44(UnkAl48* arg0) { + s32 temp_lo = ((arg0->unk_3A * arg0->unk_40 * arg0->unk_3F) >> 14) * arg0->unk_30; + + arg0->unk_0C = temp_lo >> 7; + arg0->unk_08 = func_80052BC0(arg0->unk_28); + arg0->unk_3D &= ~0x2; + arg0->unk_43 |= 0x4; +} + +s32 func_80052BC0(s32 arg0) { + return (arg0 / 5750) * 0xB8; +} + +INCLUDE_ASM(void, "code_2d9a0_len_890", func_80052BF8, UnkAl48* arg0, s32* arg1); + +INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052CFC, UnkAl48* arg0); INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052E18); diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index d97c70f1b3..66328667e6 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -1,48 +1,442 @@ -#include "code_2e230_len_2190.h" +#include "audio.h" -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80052E30); +void func_80052E30(u8 index) { + UnkAl48* temp = &D_8009A5C0->unk_1320[index]; -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80052E5C); + temp->unk_1C = 0; + temp->unk_45 = 0; +} -INCLUDE_ASM(s32, "code_2e230_len_2190", func_800532F4); +void func_80052E5C(s32 arg0) { + UnkAl19E0** temp_s4 = &D_8009A5C0; + UnkAl19E0* temp4; + s32* temp_v0_2; + ALHeap* alHeap; + u32 i; + s32 subroutine_arg7[2]; + u8 temp6[4]; + UnkAlA9C** temp1 = &D_8009A664; + UnkAlA9C** temp1_1; + UnkAl6CC** temp2 = &D_8009A640; + UnkAl6CC** temp2_1; + UnkAlA9C** temp3; + UnkAl48* temp5; -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053370); + alHeap = D_80078E54->unk_18; + *temp_s4 = alHeapAlloc(alHeap, 1, 0x19E0); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_800533A8); + (*temp1) = alHeapAlloc(alHeap, 1, 0xA9C); + D_8009A5FC = alHeapAlloc(alHeap, 1, 0xA9C); + D_8009A5CC = alHeapAlloc(alHeap, 1, 0xA9C); + (*temp2) = alHeapAlloc(alHeap, 1, 0x6CC); + D_8009A628 = alHeapAlloc(alHeap, 1, 0x834); + (*temp1)->unk_04 = (*temp2); + D_8009A628->unk_00 = *(temp_s4); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_800533D0); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_800535C0); + temp4 = *temp_s4; + temp_v0_2 = alHeapAlloc(alHeap, 1, 0x8000); + temp4->unk_5C = &temp_v0_2[0]; + temp4->unk_60 = &temp_v0_2[0x1400]; + temp4->unk_64 = &temp_v0_2[0x1C00]; + temp4->unk_68 = &temp_v0_2[0x1400]; -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053654); + for (i = 0; i < 1; i++) { + temp4->unk_6C[i].unk_0 = alHeapAlloc(alHeap, 1, 0xA9C); + } -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053888); + temp4->unk_A0 = alHeapAlloc(alHeap, 1, 0x5200); + temp4->unk_04 = alHeapAlloc(alHeap, 1, 0x30); + temp4->unk_54 = alHeapAlloc(alHeap, 1, 0x360); + temp4->unk_58 = alHeapAlloc(alHeap, 1, 0x200); + temp4->unk_94 = alHeapAlloc(alHeap, 1, 0x40); + temp4->unk_00 = arg0; + func_800532F4(temp4->unk_04); + func_80053370(&temp4->unk_08); + func_800533A8(&temp4->unk_14); + func_8005610C(); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_800538C4); + temp4->unk_A4[0] = NULL; + temp4->unk_A4[1] = NULL; + + for (i = 0; i < 1; i++) { + temp4->unk_6C[i].unk_4 = 0; + temp4->unk_6C[i].unk_5 = 0; + } + + for (i = 0; i < 4; i++) { + temp4->unk_40[i].unk_00 = 0; + temp4->unk_40[i].unk_01 = 0; + } + + for (i = 0; i < 24; i++) { + func_80056EC0(i, 0); + func_80057224(i, temp4->unk_04); + temp5 = &temp4->unk_1320[i]; + temp5->unk_00 = 0; + temp5->unk_04 = 0; + temp5->unk_0C = -1; + temp5->unk_0E = 0xFF; + temp5->unk_0F = 0xFF; + temp5->unk_10 = 0; + temp5->unk_42 = 0; + temp5->unk_43 = 0; + temp5->unk_44 = 0; + temp5->unk_45 = 0; + } + + al_LoadINIT(temp4, 0xF00000, alHeap); + + for (i = 0; i < 3; i++) { + temp4->unk_1310[i] = alHeapAlloc(alHeap, 1, 0x840); + } + + temp2_1 = &D_8009A640; + temp3 = &D_8009A5FC; + temp1_1 = &D_8009A664; + + func_8004E158(*temp1_1, 1, 0, temp4); + temp6[0] = 0; + temp6[1] = 3; + temp6[2] = 0xff; + temp6[3] = 0xff; + func_8004E344(*temp1_1, &temp6); + func_8004E158(*temp3, 2, 2, temp4); + temp6[0] = 2; + temp6[1] = 0xff; + temp6[2] = 0xff; + temp6[3] = 0xff; + func_8004E344(*temp3, &temp6); + func_8004B440(*temp2_1, 4, 1, temp4, 0x10); + func_80050B90(D_8009A628, 6, 1, temp4); + func_80052614(temp4); + al_LoadBKHeaders(temp4, alHeap); + if (al_CopyFileTableEntry(temp4->unk_3C->unk_0, 0x20, subroutine_arg7) == 0) { + al_DmaCopy(subroutine_arg7[0], temp4->unk_A0, subroutine_arg7[1] & 0xFFFFFF); + } + func_8004B62C((*temp2_1)); + if (al_CopyFileTableEntry(temp4->unk_3C->unk_2, 0x40, subroutine_arg7) == 0) { + al_LoadPER(temp4, subroutine_arg7[0]); + } + if (al_CopyFileTableEntry(temp4->unk_3C->unk_4, 0x40, subroutine_arg7) == 0) { + al_LoadPRG(temp4, subroutine_arg7[0]); + } + + temp4->unk_12EC = &temp4->unk_4EC; + temp4->unk_12F0 = &temp4->unk_5EC; + temp4->unk_12F4 = &temp4->unk_AC; + temp4->unk_12F8 = &temp4->unk_EC; + temp4->unk_12FC = &temp4->unk_9EC; + temp4->unk_1300 = &temp4->unk_DEC; + temp4->unk_1304 = &temp4->unk_11EC; + temp4->unk_1308 = &temp4->unk_4EC; + temp4->unk_53 = 0; + temp4->unk_52 = 0; + temp4->unk_51 = 0; + temp4->unk_50 = 0; + + func_80057ED0(0); + func_80055050(alHeap); +} + +void func_800532F4(UnkAl30* arg0) { + arg0->unk_00 = &D_800781D0; + arg0->unk_04 = 190; + arg0->unk_18 = &D_80078190; + arg0->unk_1C = 64; + arg0->unk_1E = 4800; + arg0->unk_08 = 0; + arg0->unk_0C = 0; + arg0->unk_10 = 0; + arg0->unk_14 = 0; + arg0->unk_24 = 0; + arg0->unk_25 = 0; + arg0->unk_2C = &D_80078544; + arg0->unk_26 = 0; + arg0->unk_27 = 0; + arg0->unk_28 = 0; + arg0->unk_29 = 0; + arg0->unk_2A = 0; + arg0->unk_2B = 0; + arg0->unk_20 = 0.5f; +} + +void func_80053370(UnkAlC* arg0) { + arg0->unk_00 = 8208; + arg0->unk_02 = 4800; + arg0->unk_04 = ~0x80; + arg0->unk_05 = 64; + arg0->unk_06 = 0; + arg0->unk_07 = 0; + arg0->unk_08 = 0; + arg0->unk_09 = 0; + arg0->unk_0A = 0; +} + +void func_800533A8(UnkAl4* arg0) { + arg0->unk_00 = 8208; + arg0->unk_02 = ~0x80; + arg0->unk_03 = 64; + arg0->unk_04 = 0; + arg0->unk_05 = 0; + arg0->unk_06 = 0; +} + + +void func_800533D0(void) { + UnkAl19E0* temp_s2 = D_8009A5C0; + UnkAl6CC* temp_s1 = D_8009A640; + UnkAl834* temp_s0 = D_8009A628; + UnkAlA9C* temp_s0_2; + UnkAlA9C* temp_s0_3; + s32* t1; + + func_80053654(temp_s2); + + temp_s0->unk_0C -= temp_s0->unk_04; + if (temp_s0->unk_0C <= 0) { + temp_s0->unk_0C += temp_s0->unk_08; + func_800511BC(temp_s0); + } + + if (temp_s1->unk_40.unk_0A != 0) { + func_80053A28(&temp_s1->unk_40); + func_80053A98(temp_s1->unk_BE, temp_s1->unk_40.unk_00.u16, temp_s1->unk_5C); + } + + temp_s1->unk_3C -= temp_s1->unk_34; + if (temp_s1->unk_3C <= 0) { + temp_s1->unk_3C += temp_s1->unk_38; + temp_s1->unk_BA = func_8004C444(temp_s1); + } + + t1 = &D_80078DB0; + if (*t1 == 0) { + temp_s0_2 = D_8009A5FC; + if (temp_s0_2->unk_2C.unk_0A != 0) { + func_8004E3A4(temp_s0_2); + } + if (temp_s0_2->unk_1C != 0) { + temp_s0_2->unk_18++; + } + + temp_s0_2->unk_10 -= temp_s0_2->unk_08; + if (temp_s0_2->unk_10 <= 0) { + temp_s0_2->unk_10 += temp_s0_2->unk_0C; + temp_s0_2->unk_5C = func_8004E4B8(temp_s0_2); + } + if (*t1 == 0) { + if (temp_s2->unk_80 != 0) { + func_8004DFD4(temp_s2); + } + temp_s0_3 = D_8009A664; + if (temp_s0_3->unk_2C.unk_1A != 0) { + func_80053BA8(&temp_s0_3->unk_2C); + if (temp_s0_3->unk_2C.unk_0A == 0) { + func_8004E444(temp_s0_3); + } else { + func_8004E3A4(temp_s0_3); + } + } else if (temp_s0_3->unk_2C.unk_0A != 0) { + func_8004E3A4(temp_s0_3); + } + if (temp_s0_3->unk_1C != 0) { + temp_s0_3->unk_18++; + } + + temp_s0_3->unk_10 -= temp_s0_3->unk_08; + if (temp_s0_3->unk_10 <= 0) { + temp_s0_3->unk_10 += temp_s0_3->unk_0C; + temp_s0_3->unk_5C = func_8004E4B8(temp_s0_3); + } + } + } + func_80052660(temp_s2); +} + +void func_800535C0(void) { + UnkAl19E0* temp_s1 = D_8009A5C0; + UnkAlA9C* temp = D_8009A664; + UnkAl6CC* temp_s2 = D_8009A640; + + if (temp_s1->unk_9C != 0) { + func_8005610C(); + } + + D_8009A5E8 = temp_s1->unk_A4[0]; + if (D_8009A5E8 != NULL) { + D_8009A5E8(); + } + + func_8004D510(temp); + temp = D_8009A5FC; + func_8004D510(temp); + func_8004B748(temp_s2); +} + +void func_80053654(UnkAl19E0* arg0) { + u32 i; + + if (arg0->unk_130C == 2) { + arg0->unk_130C = 1; + func_80057EB0(); + } + + if ((arg0->unk_50 != 0) && (arg0->unk_130C == 0)) { + switch (arg0->unk_53) { + case 1: + func_80057DC8(arg0->unk_52); + func_80057E08(arg0->unk_51); + arg0->unk_50 = 0; + break; + case 2: + func_80057DC8(arg0->unk_52); + func_80057E5C(arg0->unk_51); + arg0->unk_50 = 0; + break; + default: + func_80057EB0(); + arg0->unk_50 = 0; + break; + } + } + + if (arg0->unk_40[0].unk_01 != 0) { + func_80056DCC(0, arg0->unk_40[0].unk_00); + arg0->unk_40[0].unk_01 = 0; + } + if (arg0->unk_40[1].unk_01 != 0) { + func_80056DCC(1, arg0->unk_40[1].unk_00); + arg0->unk_40[1].unk_01 = 0; + + } if (arg0->unk_40[2].unk_01 != 0) { + func_80056DCC(2, arg0->unk_40[2].unk_00); + arg0->unk_40[2].unk_01 = 0; + } + if (arg0->unk_40[3].unk_01 != 0) { + func_80056DCC(3, arg0->unk_40[3].unk_00); + arg0->unk_40[3].unk_01 = 0; + } + + for (i = 0; i < ARRAY_COUNT(arg0->unk_1320); i++) { + UnkAl48* it = &arg0->unk_1320[i]; + u8 unk_43 = it->unk_43; + + if (it->unk_42 != 0) { + func_80056EE8(i); + it->unk_42 = 0; + it->unk_1C = 0; + it->unk_45 = 0; + } + + if (unk_43 & 2) { + func_80052BF8(it, &it->unk_14); + func_80056FA4(i, it->unk_10, it->unk_00, it->unk_04, it->unk_0C, it->unk_0E, it->unk_0F, it->unk_08); + it->unk_45 = it->unk_44; + } else { + if (unk_43 & 8) { + func_80057344(i, it->unk_04); + } + + if (unk_43 & 4) { + func_8005736C(i, it->unk_0C, it->unk_08, it->unk_0E, it->unk_0F); + } else if (unk_43 & 0x10) { + func_80057548(i, it->unk_0E, it->unk_0F); + } + } + it->unk_43 = 0; + } +} + +void func_80053888(UnkAl48* arg0, s32 arg1) { // type may be wrong but it seems good + if (arg0->unk_45 != 0) { + arg0->unk_1C = 0; + arg0->unk_42 = 1; + arg0->unk_43 = 0; + func_800576EC(arg1, 0, 0xB8); + } +} + +void func_800538C4(UnkAl48* arg0, s32 arg1) { // type may be wrong but it seems good + arg0->unk_1C = 0; + arg0->unk_42 = 1; + arg0->unk_43 = 0; + func_800576EC(arg1, 0, 0xB8); +} INCLUDE_ASM(s32, "code_2e230_len_2190", func_800538F8); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053974); +INCLUDE_ASM(void, "code_2e230_len_2190", func_80053974, UnkAl1* arg0, s32 arg1, s32 arg2, s16 arg3); -void func_80053A18(UnkStructFor80053A18* arg0) { +void func_80053A18(UnkAl1* arg0) { arg0->unk_0A = 0; arg0->unk_04 = 0; arg0->unk_0C = 0; } -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053A28); +void func_80053A28(UnkAl1* arg0) { + arg0->unk_0A--; -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053A98); + if ((arg0->unk_0A << 0x10) != 0) { + arg0->unk_00.s32 += arg0->unk_04; + } else { + arg0->unk_00.s32 = arg0->unk_08 << 0x10; + if (arg0->unk_0C != 0) { + arg0->unk_0C(); + arg0->unk_04 = 0; + arg0->unk_0C = NULL; + } + } +} -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053AC8); +void func_80053A98(u8 arg0, u16 arg1, s32 arg2) { + func_80056D78(arg0, (u32)(arg1 * arg2) >> 15); +} -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053AEC); +void func_80053AC8(UnkAl1* arg0) { + if (arg0->unk_0A == 0) { + arg0->unk_0A = 1; + arg0->unk_04 = 0; + arg0->unk_08 = arg0->unk_00.u16; + } +} -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053B04); +void func_80053AEC(UnkAl1* arg0, s16 arg1) { + arg0->unk_10 = arg1 << 16; + arg0->unk_18 = arg1; + arg0->unk_1A = 0; + arg0->unk_14 = 0; +} -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053BA8); +void func_80053B04(UnkAl1* arg0, u32 arg1, s16 arg2) { + s16 temp_a0; + s32 temp_v1; -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053BE8); + if (arg1 >= 250 && arg1 <= 100000) { + temp_a0 = (s32)(arg1 * 1000) / 5750; + temp_v1 = (arg2 << 16) - arg0->unk_10; + + arg0->unk_18 = arg2; + arg0->unk_1A = temp_a0; + arg0->unk_14 = temp_v1 / temp_a0; + } else { + arg0->unk_1A = 0; + arg0->unk_14 = 0; + } +} + +void func_80053BA8(UnkAl1* arg0) { + arg0->unk_1A--; + + if (arg0->unk_1A != 0) { + arg0->unk_10 += arg0->unk_14; + } else { + arg0->unk_14 = 0; + arg0->unk_10 = arg0->unk_18 << 16; + } +} + +INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053BE8, UnkAl19E0* arg0, s32 arg1, s32 arg2, s32* arg3); INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053C58); @@ -52,19 +446,35 @@ INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053CF8); INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053E58); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053F64); +UnkAlA9C* func_80053F64(s32 arg0) { + if (arg0 == 0) { + return D_8009A5C0->unk_6C[0].unk_0; + } + return NULL; +} INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053F80); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054248); +UnkAlA9C* func_80054248(u8 arg0) { + switch (arg0) { + case 1: + return D_8009A664; + case 2: + return D_8009A5FC; + case 4: + return D_8009A640; + default: + return NULL; + } +} -INCLUDE_ASM(s32, "code_2e230_len_2190", al_LoadINIT); +INCLUDE_ASM(void, "code_2e230_len_2190", al_LoadINIT, UnkAl19E0* arg0, s32 arg1, ALHeap* arg2); -INCLUDE_ASM(s32, "code_2e230_len_2190", al_CopyFileTableEntry); +INCLUDE_ASM(s32, "code_2e230_len_2190", al_CopyFileTableEntry, u16 arg0, s32 arg1, s32* arg2); -INCLUDE_ASM(s32, "code_2e230_len_2190", al_LoadPER); +INCLUDE_ASM(void, "code_2e230_len_2190", al_LoadPER, UnkAl19E0* arg0, s32* arg1); -INCLUDE_ASM(s32, "code_2e230_len_2190", al_LoadPRG); +INCLUDE_ASM(void, "code_2e230_len_2190", al_LoadPRG, UnkAl19E0* arg0, s32* arg1); INCLUDE_ASM(s32, "code_2e230_len_2190", func_8005465C); @@ -76,20 +486,42 @@ INCLUDE_ASM(s32, "code_2e230_len_2190", func_800549F8); INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054AA0); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054C4C); +s32 func_80054C4C(s32 arg0, s32 arg1) { + al_LoadBank(arg0, D_8009A5C0->unk_1310[arg1], arg1, 1); + return 0; +} INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054C84); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054CE0); +INCLUDE_ASM(void, "code_2e230_len_2190", func_80054CE0, s32 arg0, s32 arg1); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054D74); +s32 func_80054D74(s32 arg0, s32 arg1) { + if (arg0 & 0x10) { + return func_8004B9E4(D_8009A640, arg1); + } + return 0; +} INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054DA8); -INCLUDE_ASM(s32, "code_2e230_len_2190", al_DmaCopy); +INCLUDE_ASM(void, "code_2e230_len_2190", al_DmaCopy, s32 arg0, s32* arg1, s32 arg2); INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054E90); INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054F48); -INCLUDE_ASM(s32, "code_2e230_len_2190", al_CopyWords); +void al_CopyWords(s32* src, s32* dst, s32 num) { + num /= 4; + + if (num > 0) { + if ((((s32) src | (s32) dst) & 3) == 0) { + s32* srcIt = src; + s32* dstIt = dst; + + num--; + do { + *dstIt++ = *srcIt++; + } while (num-- != 0); + } + } +} diff --git a/src/code_2e230_len_2190.h b/src/code_2e230_len_2190.h deleted file mode 100644 index 5b3dc33da0..0000000000 --- a/src/code_2e230_len_2190.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef _CODE_2E230_LEN_2190_H_ -#define _CODE_2E230_LEN_2190_H_ - -#include "common.h" - -// Probably some libultra audio thing -typedef struct UnkStructFor80053A18 { - /* 0x00 */ UNK_TYPE unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ char unk_08[2]; - /* 0x0A */ u16 unk_0A; - /* 0x0C */ s32 unk_0C; -} UnkStructFor80053A18; // size unknown - -void func_80053A18(UnkStructFor80053A18* arg0); - -#endif diff --git a/src/code_303c0_len_3e10.c b/src/code_303c0_len_3e10.c index 76cbc9c2a1..b02a5d000b 100644 --- a/src/code_303c0_len_3e10.c +++ b/src/code_303c0_len_3e10.c @@ -1,68 +1,284 @@ #include "common.h" +#include "audio.h" -// TODO: rodata -extern s32 D_80078DB0; -extern u16 D_80078DB4; +s32 D_80078DB0 = 0; +u16 D_80078DB4 = 0; +u16 D_80078DB6 = 0; -INCLUDE_ASM(s32, "code_303c0_len_3e10", al_LoadBKHeaders); +// chunks of data, not sure what +s32 D_80078DB8[] = { 0x025E0350, 0x04640554, 0x00000000, }; +s32 D_80078DC4[] = { 0x0264036E, 0x045A0000, }; +s32 D_80078DCC[] = { 0x025F0000, }; +s32 D_80078DD0[] = { 0x0546065A, 0x075A0864, 0x00000000, }; +s32 D_80078DDC[] = { 0x05000600, 0x07000800, 0x09000A00, 0x0B000C00, 0x0D000E00, 0x0F001000, 0x00000000, }; +s32 D_80078DF8[] = { 0x05640666, 0x0758086E, 0x09000A00, 0x0B000C00, 0x0D000E00, 0x0F001000, 0x00000000, }; +s32 D_80078E14[] = { 0x05640666, 0x0758086E, 0x097E0A58, 0x0B640C00, 0x0D000E00, 0x0F001000, 0x00000000, }; +s32 D_80078E30[] = { 0x05640666, 0x0758086E, 0x097E0A58, 0x0B640C64, 0x0D6A0E64, 0x0F64106E, 0x00000000, 0x00000000, }; + +INCLUDE_ASM(void, "code_303c0_len_3e10", al_LoadBKHeaders, UnkAl19E0* arg0, ALHeap* arg1); -#ifdef NON_MATCHING -// Delay slot (probably needs rodata) void func_80055050(void) { D_80078DB4 = 1; D_80078DB0 = 0; } -#else -INCLUDE_ASM(void, "code_303c0_len_3e10", func_80055050, void); -#endif INCLUDE_ASM(void, "code_303c0_len_3e10", func_80055068, u32 arg0); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055110); +void func_80055110(UnkAlA9C* arg0) { + s32 i; + + for (i = 0; i < 8; i++) { + arg0->unk_238[i] = 0; + } + + arg0->unk_25B = 0; + arg0->unk_25A = 0; + arg0->unk_259 = 0; + arg0->unk_258 = 0; +} INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005513C); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800551E0); +void func_800551E0(s32 arg0, u8 arg1, s8 arg2) { + UnkAl6CC* sym = D_8009A640; + s16 a1temp = arg1 * 256; -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055240); + if (a1temp != 0) { + a1temp |= 0xFF; + } -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800552D0); + if (arg2 < 0) { + arg2 = 0x7F; + } -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055330); + func_8004B6D8(sym, arg0, a1temp, 0, arg2); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800553C0); +void func_80055240(s32 arg0, u8 arg1, s8 arg2, s16 arg3) { + UnkAl6CC* sym = D_8009A640; + s16 a1temp = arg1 * 256; -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800553F4); + if (a1temp != 0) { + a1temp |= 0xFF; + } -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055408); + if (arg2 < 0) { + arg2 = 0x7F; + } -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055448, s32 arg0); + if (arg3 > 0x960) { + arg3 = 0x960; + } else if (arg3 < -0x960) { + arg3 = -0x960; + } -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055464, s32 arg0, s32 arg1); + func_8004B6D8(sym, arg0, a1temp, arg3, arg2); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800554A4, s32 arg0, s32 arg1); +void func_800552D0(s32 arg0, u8 arg1, s8 arg2) { + UnkAl6CC* sym = D_8009A640; + s16 a1temp = arg1 * 256; -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800554E8, s32 arg0, s32 arg1); + if (a1temp != 0) { + a1temp |= 0xFF; + } -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005553C); + if (arg2 < 0) { + arg2 = 0x7F; + } -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055590); + func_8004B6D8(sym, arg0 | 0x1000, a1temp, 0, arg2); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800555E4, s32 arg0); +void func_80055330(s32 arg0, u8 arg1, s8 arg2, s16 arg3) { + UnkAl6CC* sym = D_8009A640; + s16 a1temp = arg1 * 256; -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055618); + if (a1temp != 0) { + a1temp |= 0xFF; + } -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005566C); + if (arg2 < 0) { + arg2 = 0x7F; + } -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800556D0); + if (arg3 > 0x960) { + arg3 = 0x960; + } else if (arg3 < -0x960) { + arg3 = -0x960; + } -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055718); + func_8004B6D8(sym, arg0 | 0x1000, a1temp, arg3, arg2); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055760); +void func_800553C0(s32 arg0) { + func_8004B6D8(D_8009A640, arg0 | 0x8000, 0, 0, 0); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800557CC); +void func_800553F4(void) { + D_8009A640->unk_168 = 1; +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055848); +void func_80055408(s32 arg0, s16 arg1, s16 arg2, s32 arg3) { + func_8004B6D8(D_8009A640, arg0, arg1, arg2, arg3); +} + +s32 func_80055448(s32 arg0) { + return func_80053F80(arg0); +} + +s32 func_80055464(s32 arg0, s32 arg1) { + if (func_80050C30(arg0) == 0) { + func_80050CA0(arg0, arg1); + } +} + +s32 func_800554A4(s32 arg0) { + s32 ret = func_80050C30(arg0); + + if (ret == 0) { + func_80050EF0(arg0); + } + + return ret; +} + +s32 func_800554E8(s32 arg0, s32 arg1) { + s32 ret = func_80050C30(arg0); + + if (ret == 0) { + func_80050F64(arg0, arg1); + } + + return ret; +} + +s32 func_8005553C(s32 arg0, s32 arg1) { + s32 ret = func_80050C30(arg0); + + if (ret == 0) { + func_80050E18(arg0, arg1); + } + + return ret; +} + +s32 func_80055590(s32 arg0, s32 arg1) { + s32 ret = func_80050C30(arg0); + + if (ret == 0) { + func_80050E84(arg0, arg1); + } + + return ret; +} + +void func_800555E4(s32 arg0) { + if (func_80050C30(arg0) == 0) { + func_80051050(arg0); + } +} + +s32 func_80055618(s32 arg0, s32 arg1) { + s32 ret = func_80050C30(arg0); + + if (ret == 0) { + func_80050C54(arg0, arg1); + } + + return ret; +} + +s32 func_8005566C(s32 arg0, s32 arg1, s32 arg2) { + s32 ret = func_80050C30(arg0); + + if (ret == 0) { + func_80050FD0(arg0, arg1, arg2); + } + + return ret; +} + +s32 func_800556D0(s32 arg0) { + s32 ret = func_80050C30(arg0); + + if (ret == 0) { + func_80050C64(arg0, 1); + } + + return ret; +} + +s32 func_80055718(s32 arg0) { + s32 ret = func_80050C30(arg0); + + if (ret == 0) { + func_80050C64(arg0, 0); + } + + return ret; +} + +void func_80055760(s32 arg0) { + u32 i; + s32 lim = 4; + + D_80078DB6 = 0xFF; + + for (i = 0; i < lim; i++) { + if (func_80055464(i, 0) != 0) { + return; + } + } + + func_80055848(arg0); +} + +s32 func_800557CC(s32 arg0) { + u32 i; + s32 lim = 4; + s32 phi_v1; + + for (i = 0; i < lim; i++) { + if (i == D_80078DB6) { + phi_v1 = func_800554E8(i, arg0); + } else { + phi_v1 = func_800554A4(i); + } + + if (phi_v1 != 0) { + break; + } + } + return phi_v1; +} + +s32 func_80055848(s32 arg0) { + s32 lim = 4; + s32 phi_v1 = 0; + + if (arg0 != D_80078DB6) { + u32 i; + + for (i = 0; i < lim; i++) { + if (i == arg0) { + phi_v1 = func_80055718(arg0); + } else { + phi_v1 = func_800556D0(i); + } + + if (phi_v1 != 0) { + break; + } + } + + if (phi_v1 == 0) { + D_80078DB6 = arg0; + } + } + + return phi_v1; +} INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800558D4); @@ -74,9 +290,13 @@ s32 func_800559C4(UNK_TYPE arg0) { return func_8004DA0C(arg0); } -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800559E0); +void func_800559E0(void) { + func_8004DA74(); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800559FC); +void func_800559FC(void) { + func_8004DAE0(); +} INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055A18); @@ -112,127 +332,130 @@ INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055DDC); INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055E48); +// needs rodata +#ifdef NON_MATCHING +s32* func_80055EB4(s32 arg0) { + s32* ret = NULL; + + switch (arg0) { + case 0: + ret = &D_80078DB8; + break; + case 1: + ret = &D_80078DC4; + break; + case 2: + ret = &D_80078DCC; + break; + case 3: + ret = &D_80078DD0; + break; + case 4: + ret = &D_80078DDC; + break; + case 5: + ret = &D_80078DF8; + break; + case 6: + ret = &D_80078E14; + break; + case 7: + ret = &D_80078E30; + break; + } + + return ret; +} +#else INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055EB4); +#endif -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055F58); +s32 func_80055F58(s32 arg0, u32 arg1, u32 arg2) { + s32* subroutine_arg4; + s32* subroutine_arg5; + s32 temp_s2 = func_80055CE8(arg0, &subroutine_arg4, &subroutine_arg5); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055FD4); + if (temp_s2 == 0) { + if (arg2 > 0x7F) { + arg2 = 0x7F; + } + if (arg1 > 0xF) { + arg1 = 0xF; + } + func_8005083C(subroutine_arg5, arg1, 0x60, (u8)arg2); // todo remove cast when func is defined + } + return temp_s2; +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055FF0); +s32 func_80055FD4(s32 arg0, s32 arg1) { + return func_80055F58(arg0, arg1, 0); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005600C); +s32 func_80055FF0(s32 arg0, s32 arg1) { + return func_80055F58(arg0, arg1, 0x3F); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056028); +s32 func_8005600C(s32 arg0, s32 arg1) { + return func_80055F58(arg0, arg1, 0x7F); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056044); +s32 func_80056028(s32 arg0, u8 arg1) { + return func_800506C8(arg0, arg1); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056068); +s32 func_80056044(s32 arg0, u8 arg1) { + return func_800506C8(arg0, arg1 | 0x57000000); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005608C); +s32 func_80056068(s32 arg0, u8 arg1) { + return func_800506C8(arg0, arg1 | 0x7F000000); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800560A8); +void func_8005608C(s32* arg0, s32* arg1) { + UnkAl19E0* temp_v0 = D_8009A5C0; + + *arg0 = temp_v0->unk_94; + *arg1 = temp_v0->unk_98; +} + +void func_800560A8(void) { + D_8009A5C0->unk_9C = 1; +} INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800560BC); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005610C); +INCLUDE_ASM(void, "code_303c0_len_3e10", func_8005610C, void); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056144); +void func_80056144(UnkFuncAl arg0, s32 arg1) { + D_8009A5C0->unk_A4[arg1] = arg0; +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005615C); +void func_8005615C(void) { + func_80056D5C(1); + func_80054DA8(0); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056180); +void func_80056180(void) { + func_80056D5C(0); + func_80054DA8(1); +} -INCLUDE_ASM(void, "code_303c0_len_3e10", func_800561A4, s16 arg0); +void func_800561A4(s32 arg0) { + func_80054CE0(1, arg0); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800561C4); +void func_800561C4(s32 arg0) { + func_80054CE0(16, arg0); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800561E4); +void func_800561E4(s32 arg0) { + func_80054D74(16, arg0); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056204); +void func_80056204(void) { + func_8004BA54(D_8009A640, 0); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056228); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056250); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800565A4); - -INCLUDE_ASM(Acmd*, "code_303c0_len_3e10", alAudioFrame, Acmd* cmdList, s32* cmdLen, s16* outBuf, s32 outLen); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056D34); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056D44); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056D50); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056D5C); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056D78); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056DA4); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056DCC); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056E34); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056EC0); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056EE8); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056F78); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056FA4); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057224); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057344); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005736C); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057548); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800576EC); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057874); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800579D8); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057B64); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057B8C); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057BB4); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057BDC); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057C04); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057C2C); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057C54); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057D0C); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057DC8); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057E08); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057E5C); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057EB0); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057ED0); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057F20); - -#undef alHeapAlloc -INCLUDE_ASM(void, "code_303c0_len_3e10", alHeapAlloc, u8* file, s32 line, ALHeap* hp, s32 num, s32 size); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057FD8); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80058004); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80058050); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80058B20); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80058C6C); +void func_80056228(void) { + func_8004BA54(D_8009A640, 1); +} diff --git a/src/code_31650.c b/src/code_31650.c new file mode 100644 index 0000000000..7a03bc9b01 --- /dev/null +++ b/src/code_31650.c @@ -0,0 +1,241 @@ +#include "common.h" +#include "audio.h" + +UnkAl0* D_80078E50 = NULL; +UnkAl0* D_80078E54 = NULL; +s8 D_80078E58 = 0; +s16 D_80078E5A = 0x7FFF; +s8 D_80078E5C = 0; +s32 D_80078E60[] = { 0x7FFF7FFC, 0x7FF57FE8, 0x7FD77FC0, 0x7FA57F84, 0x7F5F7F34, 0x7F057ED0, 0x7E977E58, 0x7E157DCD, + 0x7D7F7D2D, 0x7CD67C7A, 0x7C1A7BB4, 0x7B497ADA, 0x7A6679ED, 0x796F78ED, 0x786677DA, 0x774976B4, 0x761A757B, + 0x74D87430, 0x738472D3, 0x721E7164, 0x70A66FE3, 0x6F1C6E51, 0x6D816CAD, 0x6BD56AF9, 0x6A186933, 0x684A675D, + 0x666C6577, 0x647E6381, 0x6280617C, 0x60735F67, 0x5E575D43, 0x5C2C5B11, + }; + + +INCLUDE_ASM(s32, "code_31650", func_80056250); + +void func_800565A4(void) { + UnkAl0** sym = &D_80078E50; + + if (*sym != NULL) { + *sym = NULL; + } +} + +INCLUDE_ASM(Acmd*, "code_31650", alAudioFrame, Acmd* cmdList, s32* cmdLen, s16* outBuf, s32 outLen); + +void func_80056D34(void) { + D_80078E58 = 1; +} + +void func_80056D44(s16 arg0) { + D_80078E5A = arg0; +} + +s16 func_80056D50(void) { + return D_80078E5A; +} + +#ifdef NON_MATCHING +void func_80056D5C(s8 arg0) { + D_80078181 = arg0; + D_80078E5C = 1; +} +#else +INCLUDE_ASM(s32, "code_31650", func_80056D5C); +#endif + +void func_80056D78(u8 arg0, u16 arg1) { + UnkLen18* temp = &D_80078E54->unk_20[arg0]; + + temp->unk_00 = arg1 & 0x7FFF; +} + +u16 func_80056DA4(u8 arg0, u16 arg1) { + UnkLen18* temp = &D_80078E54->unk_20[arg0]; + + return temp->unk_00; +} + +void func_80056DCC(u8 arg0, u8 arg1) { + UnkLen18* temp = &D_80078E54->unk_20[arg0]; + + temp->unk_0C = arg1; + func_8005904C(temp->unk_04, arg1); + func_8005904C(temp->unk_08, arg1); +} + +INCLUDE_ASM(s32, "code_31650", func_80056E34); + +void func_80056EC0(u8 arg0, s8 arg1) { + UnkAl7C* al7C = &D_80078E54->unk_1C[arg0]; + + al7C->unk_78 = arg1; +} + +INCLUDE_ASM(void, "code_31650", func_80056EE8, u8 arg0); + +void func_80056F78(u8 arg0) { + UnkAl7C* al7C = &D_80078E54->unk_1C[arg0]; + + al7C->unk_70 = 1; +} + +INCLUDE_ASM(void, "code_31650", func_80056FA4, u8 arg0, u8 arg1, s32 arg2, f32 arg3, s16 arg4, u8 arg5, u8 arg6, + s32 arg7); + +INCLUDE_ASM(void, "code_31650", func_80057224, u8 arg0, UnkAl30* arg1); + +void func_80057344(u8 arg0, f32 arg1) { + UnkAl7C* al7C = &D_80078E54->unk_1C[arg0]; + + al7C->unk_3C = arg1; +} + +INCLUDE_ASM(void, "code_31650", func_8005736C, u8 arg0, s16 arg1, s32 arg2, u8 arg3, u8 arg4); + +INCLUDE_ASM(void, "code_31650", func_80057548, u8 arg0, u8 arg1, u8 arg2); + +INCLUDE_ASM(void, "code_31650", func_800576EC, u8 arg0, s32 arg1, s32 arg2); + +INCLUDE_ASM(s32, "code_31650", func_80057874); + +INCLUDE_ASM(s32, "code_31650", func_800579D8); + +s32 func_80057B64(u8 arg0) { + UnkAl7C* al7C = &D_80078E54->unk_1C[arg0]; + + return al7C->unk_70; +} + +s32 func_80057B8C(u8 arg0) { + UnkAl7C* al7C = &D_80078E54->unk_1C[arg0]; + + return al7C->unk_78; +} + +f32 func_80057BB4(u8 arg0) { + UnkAl7C* al7C = &D_80078E54->unk_1C[arg0]; + + return al7C->unk_3C; +} + +u8 func_80057BDC(u8 arg0) { + UnkAl7C* al7C = &D_80078E54->unk_1C[arg0]; + + return al7C->unk_4D; +} + +s16 func_80057C04(u8 arg0) { + UnkAl7C* al7C = &D_80078E54->unk_1C[arg0]; + + return al7C->unk_54; +} + +s16 func_80057C2C(u8 arg0) { + UnkAl7C* al7C = &D_80078E54->unk_1C[arg0]; + + return al7C->unk_56; +} + +INCLUDE_ASM(s32, "code_31650", func_80057C54); + +INCLUDE_ASM(s32, "code_31650", func_80057D0C); + +void func_80057DC8(s32 arg0) { + s32* sym; + if (arg0 < 2) { + D_800A3FF0 = 0; + D_800A3FEE = 0; + } + + sym = &D_800A3FF0; + *sym = arg0; + if (arg0 >= 5) { + *sym = 4; + } +} + +void func_80057E08(u8 arg0) { + s32* phi_a1 = D_800A3FE0; + s32* phi_v1 = D_800A3FE4; + s32 i; + + for (i = 0; i < 0x170; i++) { + *phi_a1++ = 0; + *phi_v1++ = 0; + } + + D_800A3FEC = arg0; + D_800A3FEE = 1; + D_800A3FE8 = 0; +} + +void func_80057E5C(u8 arg0) { + s32* phi_a1 = D_800A3FE0; + s32* phi_v1 = D_800A3FE4; + s32 i; + + for (i = 0; i < 0x170; i++) { + *phi_a1++ = 0; + *phi_v1++ = 0; + } + + D_800A3FEC = arg0; + D_800A3FEE = 2; + D_800A3FE8 = 0; +} + +void func_80057EB0(void) { + D_800A3FEC = 0; + D_800A3FEE = 0; + D_800A3FE8 = 0; +} + +void func_80057ED0(s16 arg0) { + s32* phi_a1 = D_800A3FE0; + s32* phi_v1 = D_800A3FE4; + s32 i; + + for (i = 0; i < 0x170; i++) { + *phi_a1++ = 0; + *phi_v1++ = 0; + } + + D_800A3FEC = 0; + D_800A3FEE = arg0; + D_800A3FE8 = 0; +} + +INCLUDE_ASM(s32, "code_31650", func_80057F20); + +void* alHeapAlloc(ALHeap* heap, s32 arg1, s32 size) { + void* ret = NULL; + u8* newCur = &heap->cur[ALIGN16(arg1 * size)]; + + if (&heap->base[heap->len] >= newCur) { + ret = heap->cur; + heap->cur = newCur; + } + + return ret; +} + +void func_80057FD8(u8* src, u8* dst, s32 size) { + s32 i; + u8* srcIt = src; + u8* dstIt = dst; + + for (i = 0; i < size; i++) { + *dstIt++ = *srcIt++; + } +} + +INCLUDE_ASM(s32, "code_31650", func_80058004); + +INCLUDE_ASM(s32, "code_31650", func_80058050); + +INCLUDE_ASM(s32, "code_31650", func_80058B20); + +INCLUDE_ASM(s32, "code_31650", func_80058C6C); diff --git a/src/code_317020.c b/src/code_317020.c deleted file mode 100644 index 95b8c24a09..0000000000 --- a/src/code_317020.c +++ /dev/null @@ -1,59 +0,0 @@ -#include "common.h" - -s32 func_802BD100(s32 arg0) { - s32 i; - - for (i = 0; i < 0x40; i++) { - Trigger* trigger = get_trigger_by_id(i); - - if (trigger != NULL && trigger->flags.flags & 0x100 && trigger->params2 == arg0) { - return trigger->unk_2C; - } - } - return 0; -} - -void func_802BD174(Npc* npc) { - npc->collisionHeight = 24; - npc->collisionRadius = 20; -} - -INCLUDE_ASM(s32, "code_317020", func_802BD188); - -INCLUDE_ASM(s32, "code_317020", func_802BD1D0); - -INCLUDE_ASM(s32, "code_317020", func_802BD564); - -INCLUDE_ASM(s32, "code_317020", func_802BD5A8); - -INCLUDE_ASM(s32, "code_317020", func_802BD5D8); - -INCLUDE_ASM(s32, "code_317020", func_802BDB30); - -ApiStatus func_802BDB84(ScriptInstance* script, s32 isInitialCall) { - s32 unk = script->owner2.npc; // todo what is this? - - if (isInitialCall) { - func_800EE994(unk); - } - - return func_800EE9B8(unk) != 0; -} - -// Something is up with D_8010EBB0 I think. It might be a struct or something -#ifdef NON_MATCHING -void func_802BDBBC(s32 arg0) { - if (D_8010EBB0[0] != 0) { - func_80027088(0); - enable_player_input(); - CancelMessageAndBlock(); - clear_partner_move_history(arg0); - D_8010EBB0[0] = 0; - D_8010EBB0[3] = 0; - disable_npc_blur(arg0); - } - D_8010EBB0[3] = 1; -} -#else -INCLUDE_ASM(s32, "code_317020", func_802BDBBC); -#endif diff --git a/src/code_31B120.c b/src/code_31B120.c deleted file mode 100644 index 9e43f4c2bf..0000000000 --- a/src/code_31B120.c +++ /dev/null @@ -1,25 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "code_31B120", func_802BD100_31B120); - -INCLUDE_ASM(s32, "code_31B120", func_802BD144); - -INCLUDE_ASM(s32, "code_31B120", func_802BD17C); - -INCLUDE_ASM(s32, "code_31B120", func_802BD200); - -INCLUDE_ASM(s32, "code_31B120", func_802BD228); - -INCLUDE_ASM(s32, "code_31B120", func_802BD260); - -INCLUDE_ASM(s32, "code_31B120", func_802BD5F4); - -INCLUDE_ASM(s32, "code_31B120", func_802BD638); - -INCLUDE_ASM(s32, "code_31B120", func_802BE7E0); - -INCLUDE_ASM(s32, "code_31B120", func_802BE818); - -INCLUDE_ASM(s32, "code_31B120", func_802BEA24); - -INCLUDE_ASM(s32, "code_31B120", func_802BEB10); diff --git a/src/code_31CC70.c b/src/code_31CC70.c deleted file mode 100644 index 5db97d63ef..0000000000 --- a/src/code_31CC70.c +++ /dev/null @@ -1,29 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "code_31CC70", func_802BD100_31CC70); - -INCLUDE_ASM(s32, "code_31CC70", func_802BD180_31CC70); - -INCLUDE_ASM(s32, "code_31CC70", func_802BD1AC); - -INCLUDE_ASM(s32, "code_31CC70", func_802BD23C); - -INCLUDE_ASM(s32, "code_31CC70", func_802BD27C); - -INCLUDE_ASM(s32, "code_31CC70", func_802BD2B4); - -INCLUDE_ASM(s32, "code_31CC70", func_802BD710); - -INCLUDE_ASM(s32, "code_31CC70", func_802BD754); - -INCLUDE_ASM(s32, "code_31CC70", func_802BDD0C); - -INCLUDE_ASM(s32, "code_31CC70", func_802BDD9C); - -INCLUDE_ASM(s32, "code_31CC70", func_802BDE10); - -INCLUDE_ASM(s32, "code_31CC70", func_802BDE88); - -INCLUDE_ASM(s32, "code_31CC70", func_802BE014); - -INCLUDE_ASM(s32, "code_31CC70", func_802BE070); diff --git a/src/code_31DE70.c b/src/code_31DE70.c deleted file mode 100644 index 54a412abdd..0000000000 --- a/src/code_31DE70.c +++ /dev/null @@ -1,29 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "code_31DE70", func_802BD100_31DE70); - -INCLUDE_ASM(s32, "code_31DE70", func_802BD20C); - -INCLUDE_ASM(s32, "code_31DE70", func_802BD368); - -INCLUDE_ASM(s32, "code_31DE70", func_802BD414); - -INCLUDE_ASM(s32, "code_31DE70", func_802BE280); - -INCLUDE_ASM(s32, "code_31DE70", func_802BE3A4); - -INCLUDE_ASM(s32, "code_31DE70", func_802BF520); - -INCLUDE_ASM(s32, "code_31DE70", func_802BF568); - -INCLUDE_ASM(s32, "code_31DE70", func_802BF5A0); - -INCLUDE_ASM(s32, "code_31DE70", func_802BF920); - -INCLUDE_ASM(s32, "code_31DE70", func_802BF964); - -INCLUDE_ASM(s32, "code_31DE70", func_802BF9B8); - -INCLUDE_ASM(s32, "code_31DE70", func_802BFA58); - -INCLUDE_ASM(s32, "code_31DE70", func_802BFAB8); diff --git a/src/code_320C50.c b/src/code_320C50.c deleted file mode 100644 index 5a37d55f57..0000000000 --- a/src/code_320C50.c +++ /dev/null @@ -1,35 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "code_320C50", func_802BD100_320C50); - -INCLUDE_ASM(s32, "code_320C50", func_802BD21C); - -INCLUDE_ASM(s32, "code_320C50", func_802BD29C); - -INCLUDE_ASM(s32, "code_320C50", func_802BD2D4); - -INCLUDE_ASM(s32, "code_320C50", func_802BD678); - -INCLUDE_ASM(s32, "code_320C50", func_802BD6BC); - -INCLUDE_ASM(s32, "code_320C50", func_802BD7DC); - -INCLUDE_ASM(s32, "code_320C50", func_802BD99C); - -INCLUDE_ASM(s32, "code_320C50", func_802BDA90); - -INCLUDE_ASM(s32, "code_320C50", func_802BDDD8); - -INCLUDE_ASM(s32, "code_320C50", func_802BE6A0); - -INCLUDE_ASM(s32, "code_320C50", func_802BE724); - -INCLUDE_ASM(s32, "code_320C50", func_802BF4F0); - -INCLUDE_ASM(s32, "code_320C50", func_802BFA00); - -INCLUDE_ASM(s32, "code_320C50", func_802BFAA8); - -INCLUDE_ASM(s32, "code_320C50", func_802BFB44); - -INCLUDE_ASM(s32, "code_320C50", func_802BFBA0); diff --git a/src/code_323A50.c b/src/code_323A50.c deleted file mode 100644 index fe8cee5912..0000000000 --- a/src/code_323A50.c +++ /dev/null @@ -1,19 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "code_323A50", func_802BD100_323A50); - -INCLUDE_ASM(s32, "code_323A50", func_802BD130); - -INCLUDE_ASM(s32, "code_323A50", func_802BD168); - -INCLUDE_ASM(s32, "code_323A50", func_802BD4FC); - -INCLUDE_ASM(s32, "code_323A50", func_802BD540); - -INCLUDE_ASM(s32, "code_323A50", func_802BD694); - -INCLUDE_ASM(s32, "code_323A50", func_802BDDF0); - -INCLUDE_ASM(s32, "code_323A50", func_802BDF08); - -INCLUDE_ASM(s32, "code_323A50", func_802BDF64); diff --git a/src/code_759b0_len_61b0.c b/src/code_759b0_len_61b0.c index 2f827e8efb..10be5f6775 100644 --- a/src/code_759b0_len_61b0.c +++ b/src/code_759b0_len_61b0.c @@ -4,7 +4,7 @@ INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DC500); INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DC778); -INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DCB7C); +INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DCB7C, s32 arg0, f32* arg1, f32* arg2, f32* arg3, f32* arg4); INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DCE70); diff --git a/src/code_7bb60_len_41b0.c b/src/code_7bb60_len_41b0.c index 7becacbe3f..c77926fa26 100644 --- a/src/code_7bb60_len_41b0.c +++ b/src/code_7bb60_len_41b0.c @@ -1,4 +1,5 @@ #include "common.h" +#include "world/partners.h" void func_800E26B0(void) { PlayerStatus* playerStatus = &gPlayerStatus; @@ -91,7 +92,7 @@ INCLUDE_ASM(s32, "code_7bb60_len_41b0", func_800E4F10); INCLUDE_ASM(s32, "code_7bb60_len_41b0", check_input_midair_jump); -PartnerId get_current_partner_id(void) { +PartnerID get_current_partner_id(void) { return gPlayerData.currentPartner; } @@ -159,7 +160,7 @@ void set_action_state(s32 actionState) { // Whilst Lakilester, Bow, or Parakarry's ability is active, hazards have no effect. partner = playerData->currentPartner; - if (((u8)(partner - 7) < 2) || (playerData->currentPartner == PartnerId_PARAKARRY)) { + if (((u8)(partner - 7) < 2) || (playerData->currentPartner == PartnerID_PARAKARRY)) { if (D_8010EBB0[0]) { playerStatus->animFlags |= 0x4; playerStatus->flags |= 0x800; @@ -247,7 +248,7 @@ s32 check_input_hammer(void) { if (playerStatus->pressedButtons & Button_B) { if (!(playerStatus->flags & 4)) { - if (D_8010EBB0[0] != 1 || playerData->currentPartner != PartnerId_WATT) { + if (D_8010EBB0[0] != 1 || playerData->currentPartner != PartnerID_WATT) { if (playerData->hammerLevel != -1) { set_action_state(ActionState_HAMMER); return TRUE; diff --git a/src/code_838b0_len_5900.c b/src/code_838b0_len_5900.c index 81a72c5031..031096e67e 100644 --- a/src/code_838b0_len_5900.c +++ b/src/code_838b0_len_5900.c @@ -9,10 +9,12 @@ void remove_consumable(void) { INCLUDE_ASM(s32, "code_838b0_len_5900", func_800EA4B0); -INCLUDE_ASM(s32, "code_838b0_len_5900", func_800EA514); +s32 world_partner_can_use_ability_default(Npc* partner) { + return D_8010EBB0[0] == 0; +} -s32 func_800EA524(void) { - return 1; +s32 world_partner_can_player_pause_default(Npc* partner) { + return TRUE; } INCLUDE_ASM(s32, "code_838b0_len_5900", func_800EA52C); diff --git a/src/code_d0a70_len_4fe0.c b/src/code_d0a70_len_4fe0.c index 336acd6a5d..9d94ce162a 100644 --- a/src/code_d0a70_len_4fe0.c +++ b/src/code_d0a70_len_4fe0.c @@ -1,5 +1,38 @@ #include "common.h" +s32 D_8014EE10[] = { 0x80156920, }; + +s32 D_8014EE14[] = { 0x00000000, }; + +s32 D_8014EE18[] = { 0x90909000, 0x90909000, 0xFFFFFF00, 0xFFFFFF00, 0x00007800, 0x00000000, 0xFFFFFF00, 0xFFFFFF00, + 0x00008800, 0x00000000, + }; + +s32 D_8014EE40[] = { 0x028001E0, 0x01FF0000, 0x028001E0, 0x01FF0000, }; + +s32 D_8014EE50[] = { 0x028001E0, 0x01FF0000, 0x028001E0, 0x02000000, }; + +s32 D_8014EE60[] = { 0x012C0000, 0x00000000, }; + +s32 D_8014EE68[] = { 0xD9FDF9FF, 0x00000000, 0xD9FFFFFF, 0x00200005, 0xD7000002, 0xFFFFFFFF, 0xE2001E01, 0x00000000, + 0xE3000A11, 0x00082CF0, 0xDF000000, 0x00000000, + }; + +s32 D_8014EE98[] = { 0x00441208, 0x00111208, 0x00000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, 0x00104B40, + 0x01000000, 0x00404B40, 0x00104B40, 0x01000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, + 0x00104B40, 0x01000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, 0x00104B40, 0x01000000, + 0x00404B40, 0x00104B40, 0x01000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, 0x00104B40, + 0x01000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, 0x00104B40, 0x01000000, 0x00441208, + 0x00111208, 0x00000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, 0x00104B40, 0x01000000, + 0x00441208, 0x00111208, 0x00000000, + }; + +s32 D_8014EF64[] = { 0x00014358, 0x00018200, 0x0001A858, 0x0001E830, 0x00029458, 0x000314E0, 0x00033498, 0x00038988, + 0x00039228, 0x0005B7A8, 0x0007CF10, 0x00086490, 0x00096258, 0x000A1820, 0x000ACDE8, 0x000BBF68, + 0x000C0490, 0x000C49B8, 0x000C6150, 0x000CA380, 0x00000000, 0x00000000, 0x00000000, + }; + + #define UNKSTRUCT8013A854_SIZE 90 INCLUDE_ASM(s32, "code_d0a70_len_4fe0", func_8013A370); diff --git a/src/code_d5a50_len_5fd0.c b/src/code_d5a50_len_5fd0.c index 21d68bb4b9..873b2bf4e7 100644 --- a/src/code_d5a50_len_5fd0.c +++ b/src/code_d5a50_len_5fd0.c @@ -1,5 +1,24 @@ #include "common.h" +s32 D_8014EFC0[] = { 0x00000000, }; +s32 D_8014EFC4[] = { 0x00011000, }; +s32 D_8014EFC8[] = { 0x00000000, }; +s32 D_8014EFCC[] = { 0x00080008, 0x00200010, 0x00100080, 0x00180018, 0x01200020, 0x00200200, 0x00300030, 0x04800040, + 0x00400800, 0x00080010, 0x00400010, 0x00080040, 0x00100018, 0x00C00010, 0x00200100, 0x00400020, + 0x04000020, 0x00100100, 0x000C000C, 0x00480030, 0x00180240, 0x00200008, 0x00800018, 0x00080060, + 0x00400010, 0x02000010, 0x00400200, 0x00C00020, 0x0C000028, 0x00280320, 0x00180010, 0x00C00020, + 0x00280280, 0x00280010, 0x01400028, 0x001801E0, 0x00200018, 0x01800014, 0x00200000, 0x00220020, + 0x00000028, 0x002803C8, 0x00000000, 0xED000000, 0x005003C0, 0xE7000000, 0x00000000, 0xE3000A11, + 0x00002CF0, 0xE2001E01, 0x00000000, 0xDF000000, 0x00000000, 0xED000000, 0x005003C0, 0xE7000000, + 0x00000000, 0xE3000A11, 0x00002CF0, 0xE2001E01, 0x00000000, 0xDF000000, 0x00000000, + }; +s32 D_8014F0C8[] = { 0xFFF40000, 0x00000000, 0x08000800, 0x000000FF, 0x00330000, 0x00000000, 0x00000800, 0x000000FF, + 0x0033003F, 0x00000000, 0x00000000, 0x000000FF, 0xFFF4003F, 0x00000000, 0x08000000, 0x000000FF, + 0xFFFFFF00, 0xFFFFFF00, + }; +s32 D_8014F110[] = { 0x00000000, 0x00000000, 0x00000000, 0x00000000 }; + + INCLUDE_ASM(s32, "code_d5a50_len_5fd0", func_8013F350); INCLUDE_ASM(s32, "code_d5a50_len_5fd0", func_8013F704); diff --git a/src/os/code_4ac90_len_3910.c b/src/os/code_4ac90_len_3910.c index 0e74612759..e5df490a49 100644 --- a/src/os/code_4ac90_len_3910.c +++ b/src/os/code_4ac90_len_3910.c @@ -32,7 +32,7 @@ INCLUDE_ASM(s32, "os/code_4ac90_len_3910", func_8006FDD0); INCLUDE_ASM(s32, "os/code_4ac90_len_3910", func_8006FE30); -INCLUDE_ASM(void, "os/code_4ac90_len_3910", fx_emote, s32 arg0, Npc* arg1, s32 arg2, f32 arg3, f32 arg4, f32 arg5, +INCLUDE_ASM(void, "os/code_4ac90_len_3910", fx_emote, s32 arg0, Npc* arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, s32 arg7, s32* arg8); INCLUDE_ASM(void, "os/code_4ac90_len_3910", func_8006FEF0, s32 a0, f32 a1, f32 a2, f32 a3, f32 a4); diff --git a/src/world/area_kmr/kmr_03/8C7F90.c b/src/world/area_kmr/kmr_03/8C7F90.c index bdae212f4d..a24372dea7 100644 --- a/src/world/area_kmr/kmr_03/8C7F90.c +++ b/src/world/area_kmr/kmr_03/8C7F90.c @@ -1,4 +1,5 @@ #include "kmr_03.h" +#include "../../partners.h" Script M(Main); @@ -6,11 +7,11 @@ ApiStatus func_80240000_8C7F90(ScriptInstance* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; PlayerData* playerData = PLAYER_DATA; NpcId npcID = get_variable(script, *args++); - PartnerId partnerID = get_variable(script, *args++); + PartnerID partnerID = get_variable(script, *args++); Npc* npc = get_npc_safe(npcID); if (isInitialCall) { - if (gPlayerData.currentPartner == PartnerId_NONE) { + if (gPlayerData.currentPartner == PartnerID_NONE) { script->functionTemp[0].s = 2; } else { script->functionTemp[0].s = 0; @@ -65,5 +66,5 @@ MapConfig M(config) = { }; Script M(Script_802406C0) = SCRIPT({ - SetMusicTrack(0, 17, 0, 8) + SetMusicTrack(0, 17, 0, 8); }); diff --git a/src/world/area_kmr/kmr_03/8C8140.c b/src/world/area_kmr/kmr_03/8C8140.c index e7b2158b10..4907dd8956 100644 --- a/src/world/area_kmr/kmr_03/8C8140.c +++ b/src/world/area_kmr/kmr_03/8C8140.c @@ -20,32 +20,32 @@ Script M(ExitWalk_802406F0) = EXIT_WALK_SCRIPT(60, 0, "kmr_04", 0); Script M(ExitWalk_8024074C) = EXIT_WALK_SCRIPT(60, 1, "kmr_05", 0); Script M(Script_802407A8) = SCRIPT({ - bind M(ExitWalk_802406F0) to 0x80000 3 - bind M(ExitWalk_8024074C) to 0x80000 5 + bind M(ExitWalk_802406F0) to 0x80000 3; + bind M(ExitWalk_8024074C) to 0x80000 5; }); Script M(Main) = SCRIPT({ - SI_SAVE_VAR(425) = 30 - SetSpriteShading(-1) - SetCamPerspective(0, 3, 25, 16, 4096) - SetCamBGColor(0, 0, 0, 0) - SetCamEnabled(0, 1) - SetCamLeadPlayer(0, 0) - SI_AREA_FLAG(8) = 0 - MakeNpcs(0, M(npcGroupList_80241450)) - ClearDefeatedEnemies() - await M(MakeEntities) - await M(Script_802422B8) - spawn M(Script_802406C0) - GetEntryID(SI_VAR(0)) - if SI_VAR(0) != 2 { - SI_VAR(0) = M(Script_802407A8) - spawn EnterWalk + SI_SAVE_VAR(425) = 30; + SetSpriteShading(-1); + SetCamPerspective(0, 3, 25, 16, 4096); + SetCamBGColor(0, 0, 0, 0); + SetCamEnabled(0, 1); + SetCamLeadPlayer(0, 0); + SI_AREA_FLAG(8) = 0; + MakeNpcs(0, M(npcGroupList_80241450)); + ClearDefeatedEnemies(); + await M(MakeEntities); + await M(Script_802422B8); + spawn M(Script_802406C0); + GetEntryID(SI_VAR(0)); + if (SI_VAR(0) != 2) { + SI_VAR(0) = M(Script_802407A8); + spawn EnterWalk; } else { - spawn M(Script_802407A8) - spawn M(Script_80242340) + spawn M(Script_802407A8); + spawn M(Script_80242340); } - sleep 1 + sleep 1; }); s32 padding[] = {0, 0}; @@ -58,31 +58,31 @@ s32 M(npcSettings_80240950)[] = { Script M(Script_8024097C) = SCRIPT({ 1: - if SI_AREA_FLAG(8) == 1 { + if (SI_AREA_FLAG(8) == 1) { 100: - AwaitPlayerLeave(294, 123, 170) - EnableNpcAI(0, 0) - DisablePlayerInput(1) - SetNpcSpeed(0, 4.0) - SetNpcAnimation(0, 0x9D0003) - func_802401B0_8C8140() - GetAngleToPlayer(0, SI_VAR(2)) + AwaitPlayerLeave(294, 123, 170); + EnableNpcAI(0, 0); + DisablePlayerInput(1); + SetNpcSpeed(0, 4.0); + SetNpcAnimation(0, 0x9D0003); + func_802401B0_8C8140(); + GetAngleToPlayer(0, SI_VAR(2)); loop SI_VAR(1) { - GetNpcPos(0, SI_VAR(7), SI_VAR(8), SI_VAR(9)) - AddVectorPolar(SI_VAR(7), SI_VAR(9), 4.0, SI_VAR(2)) - SetNpcPos(0, SI_VAR(7), SI_VAR(8), SI_VAR(9)) - sleep 1 + GetNpcPos(0, SI_VAR(7), SI_VAR(8), SI_VAR(9)); + AddVectorPolar(SI_VAR(7), SI_VAR(9), 4.0, SI_VAR(2)); + SetNpcPos(0, SI_VAR(7), SI_VAR(8), SI_VAR(9)); + sleep 1; } - PlayerFaceNpc(0, 3) - SetPlayerSpeed(3.0) - PlayerMoveTo(243, 243, 0) - SetNpcVar(0, 0, 1) - EnableNpcAI(0, 1) - DisablePlayerInput(0) - goto 100 + PlayerFaceNpc(0, 3); + SetPlayerSpeed(3.0); + PlayerMoveTo(243, 243, 0); + SetNpcVar(0, 0, 1); + EnableNpcAI(0, 1); + DisablePlayerInput(0); + goto 100; } - sleep 1 - goto 1 + sleep 1; + goto 1; }); Script M(NpcAI_80240B50) = SCRIPT({ @@ -90,107 +90,107 @@ Script M(NpcAI_80240B50) = SCRIPT({ match SI_SAVE_VAR(0) { == 0xFFFFFF86 { 89: - UnkPositionFunc(0xFFFFFF8A, 86, 0xFFFFFFBA, 0xFFFFFFF1) - sleep 1 - if SI_VAR(0) == 0 { - goto 89 + UnkPositionFunc(0xFFFFFF8A, 86, 0xFFFFFFBA, 0xFFFFFFF1); + sleep 1; + if (SI_VAR(0) == 0) { + goto 89; } - DisablePlayerInput(1) - SetNpcAux(0, 0) - PlaySoundAtNpc(0, 610, 0) - ShowEmote(0, 0, 45, 15, 1, 0, 0, 0, 0) - sleep 15 - NpcFacePlayer(-1, 5) - sleep 10 - SpeakToPlayer(0, 0x9D0008, 0x9D0001, 0, 0xB00A6) - UseSettingsFrom(0, 0xFFFFFF24, 20, 0xFFFFFFB8) - SetPanTarget(0, 0xFFFFFFEC, 0, 68) - SetCamPitch(0, 15.0, -8.5) - SetCamDistance(0, 275) - SetCamSpeed(0, 1.5) - PanToTarget(0, 0, 1) + DisablePlayerInput(1); + SetNpcAux(0, 0); + PlaySoundAtNpc(0, 610, 0); + ShowEmote(0, 0, 45, 15, 1, 0, 0, 0, 0); + sleep 15; + NpcFacePlayer(-1, 5); + sleep 10; + SpeakToPlayer(0, 0x9D0008, 0x9D0001, 0, 0xB00A6); + UseSettingsFrom(0, 0xFFFFFF24, 20, 0xFFFFFFB8); + SetPanTarget(0, 0xFFFFFFEC, 0, 68); + SetCamPitch(0, 15.0, -8.5); + SetCamDistance(0, 275); + SetCamSpeed(0, 1.5); + PanToTarget(0, 0, 1); spawn { - sleep 20 - SetPlayerSpeed(2.0) - PlayerMoveTo(0xFFFFFFDA, 68, 0) + sleep 20; + SetPlayerSpeed(2.0); + PlayerMoveTo(0xFFFFFFDA, 68, 0); } - GetNpcPos(0, SI_VAR(7), SI_VAR(8), SI_VAR(9)) - SetNpcSpeed(0, 4.0) - SetNpcAnimation(0, 0x9D0003) - NpcMoveTo(0, 0, 70, 0) - SetNpcAnimation(0, 0x9D0001) - InterpNpcYaw(0, 276, 20) - sleep 30 - SpeakToPlayer(0, 0x9D0008, 0x9D0001, 0, 0xB00A7) - sleep 5 - SetPlayerAnimation(0x80007) - sleep 30 - SpeakToPlayer(0, 0x9D0008, 0x9D0001, 0, 0xB00A8) - func_80240000_8C7F90(0, 5) - SI_SAVE_VAR(0) = 0xFFFFFF87 - UseSettingsFrom(0, 0xFFFFFF24, 20, 0xFFFFFFB8) - GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)) - SetPanTarget(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)) - SetCamSpeed(0, 3.0) - PanToTarget(0, 0, 1) - WaitForCam(0, 1.0) - PanToTarget(0, 0, 0) - EnablePartnerAI() - DisablePlayerInput(0) - sleep 1 + GetNpcPos(0, SI_VAR(7), SI_VAR(8), SI_VAR(9)); + SetNpcSpeed(0, 4.0); + SetNpcAnimation(0, 0x9D0003); + NpcMoveTo(0, 0, 70, 0); + SetNpcAnimation(0, 0x9D0001); + InterpNpcYaw(0, 276, 20); + sleep 30; + SpeakToPlayer(0, 0x9D0008, 0x9D0001, 0, 0xB00A7); + sleep 5; + SetPlayerAnimation(0x80007); + sleep 30; + SpeakToPlayer(0, 0x9D0008, 0x9D0001, 0, 0xB00A8); + func_80240000_8C7F90(0, 5); + SI_SAVE_VAR(0) = 0xFFFFFF87; + UseSettingsFrom(0, 0xFFFFFF24, 20, 0xFFFFFFB8); + GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)); + SetPanTarget(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)); + SetCamSpeed(0, 3.0); + PanToTarget(0, 0, 1); + WaitForCam(0, 1.0); + PanToTarget(0, 0, 0); + EnablePartnerAI(); + DisablePlayerInput(0); + sleep 1; } } }); Script M(Hit_80240F64) = SCRIPT({ - SetNpcAnimation(-1, 0x9D0007) - sleep 10 - SetNpcAnimation(-1, 0x9D0001) - SI_MAP_VAR(0) += 1 - if SI_MAP_VAR(0) < 3 { - GetOwnerEncounterTrigger(SI_VAR(0)) + SetNpcAnimation(-1, 0x9D0007); + sleep 10; + SetNpcAnimation(-1, 0x9D0001); + SI_MAP_VAR(0) += 1; + if (SI_MAP_VAR(0) < 3) { + GetOwnerEncounterTrigger(SI_VAR(0)); match SI_VAR(0) { == 2 { - SetNpcVar(0, 0, 1) - if SI_AREA_FLAG(6) == 1 { + SetNpcVar(0, 0, 1); + if (SI_AREA_FLAG(6) == 1) { } else { - SI_AREA_FLAG(6) = 1 - SI_AREA_FLAG(7) = 0 + SI_AREA_FLAG(6) = 1; + SI_AREA_FLAG(7) = 0; } } == 4 { - SetNpcVar(0, 0, 1) - if SI_AREA_FLAG(7) == 1 { + SetNpcVar(0, 0, 1); + if (SI_AREA_FLAG(7) == 1) { } else { - SI_AREA_FLAG(6) = 0 - SI_AREA_FLAG(7) = 1 + SI_AREA_FLAG(6) = 0; + SI_AREA_FLAG(7) = 1; } } } - sleep 10 - SetNpcAnimation(-1, 0x9D0003) + sleep 10; + SetNpcAnimation(-1, 0x9D0003); } else { - sleep 10 - GetNpcPos(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)) - SetNpcPos(0xFFFFFFFC, SI_VAR(0), SI_VAR(1), SI_VAR(2)) - SetNpcFlagBits(0xFFFFFFFC, 512, 1) - SetNpcPos(0, 0, 0xFFFFFC18, 0) - SetNpcFlagBits(0, 256, 0) - EnablePartnerAI() - SetNpcAux(-1, M(Script_8024097C)) - BindNpcAI(-1, M(NpcAI_80240B50)) + sleep 10; + GetNpcPos(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)); + SetNpcPos(0xFFFFFFFC, SI_VAR(0), SI_VAR(1), SI_VAR(2)); + SetNpcFlagBits(0xFFFFFFFC, 512, 1); + SetNpcPos(0, 0, 0xFFFFFC18, 0); + SetNpcFlagBits(0, 256, 0); + EnablePartnerAI(); + SetNpcAux(-1, M(Script_8024097C)); + BindNpcAI(-1, M(NpcAI_80240B50)); } }); Script M(Init_802411A8) = SCRIPT({ - BindNpcIdle(-1, M(NpcAI_80240B50)) - BindNpcAux(-1, M(Script_8024097C)) - BindNpcHit(-1, M(Hit_80240F64)) + BindNpcIdle(-1, M(NpcAI_80240B50)); + BindNpcAux(-1, M(Script_8024097C)); + BindNpcHit(-1, M(Hit_80240F64)); match SI_SAVE_VAR(0) { >= 0xFFFFFF87 { - SetNpcFlagBits(-1, 512, 0) - SetNpcFlagBits(-1, 8, 1) - SetNpcPos(-1, 0, 0xFFFFFC18, 0) + SetNpcFlagBits(-1, 512, 0); + SetNpcFlagBits(-1, 8, 1); + SetNpcPos(-1, 0, 0xFFFFFC18, 0); } } }); @@ -221,47 +221,47 @@ s32 M(npcGroupList_80241450)[] = { s32 padding2[] = {0, 0}; Script M(Script_80241470) = SCRIPT({ - ModifyColliderFlags(0, 9, 0x7FFFFE00) - SI_SAVE_VAR(0) = 0xFFFFFF8B + ModifyColliderFlags(0, 9, 0x7FFFFE00); + SI_SAVE_VAR(0) = 0xFFFFFF8B; }); Script M(Script_802414A8) = SCRIPT({ - SI_SAVE_FLAG(54) = 1 + SI_SAVE_FLAG(54) = 1; }); Script M(Script_802414C8) = SCRIPT({ 0: - GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)) - SetCamTarget(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)) - sleep 1 - goto 0 + GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)); + SetCamTarget(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)); + sleep 1; + goto 0; }); Script M(MakeEntities) = SCRIPT({ - if SI_SAVE_VAR(0) < 0xFFFFFF8B { - MakeEntity(0x802EA10C, 45, 0, 70, 15, 0x80000000) - AssignScript(M(Script_80241470)) + if (SI_SAVE_VAR(0) < 0xFFFFFF8B) { + MakeEntity(0x802EA10C, 45, 0, 70, 15, 0x80000000); + AssignScript(M(Script_80241470)); } else { - ModifyColliderFlags(0, 9, 0x7FFFFE00) + ModifyColliderFlags(0, 9, 0x7FFFFE00); } - if SI_SAVE_FLAG(54) == 0 { - MakeEntity(0x802EA19C, 230, 0, 310, 15, 0x80000000) - AssignScript(M(Script_802414A8)) + if (SI_SAVE_FLAG(54) == 0) { + MakeEntity(0x802EA19C, 230, 0, 310, 15, 0x80000000); + AssignScript(M(Script_802414A8)); } - MakeEntity(0x802EA588, 230, 60, 310, 15, 151, 0x80000000) - AssignBlockFlag(SI_SAVE_FLAG(52)) - MakeEntity(0x802EA0C4, 230, 50, 0xFFFFFF60, 15, 0x80000000) - MakeEntity(0x802EA0C4, 165, 0, 380, 20, 0x80000000) - MakeEntity(0x802EA564, 0xFFFFFF56, 0, 370, 43, 343, 0x80000000) - AssignBlockFlag(SI_SAVE_FLAG(50)) - MakeEntity(0x802EAA54, 345, 75, 0xFFFFFF06, 0, 100, 0x80000000) - MakeItemEntity(343, 345, 205, 0xFFFFFF06, 17, SI_SAVE_FLAG(56)) - MakeItemEntity(343, 345, 230, 0xFFFFFF06, 17, SI_SAVE_FLAG(57)) - MakeItemEntity(343, 345, 255, 0xFFFFFF06, 17, SI_SAVE_FLAG(58)) - MakeItemEntity(343, 345, 280, 0xFFFFFF06, 17, SI_SAVE_FLAG(59)) - MakeItemEntity(128, 229, 250, 0xFFFFFF64, 17, SI_SAVE_FLAG(49)) - MakeEntity(0x802EAB04, 300, 0, 150, 0, 18, 0x80000000) - AssignPanelFlag(SI_SAVE_FLAG(88)) - MakeEntity(0x802EA7E0, 130, 60, 0, 0, 0x80000000) + MakeEntity(0x802EA588, 230, 60, 310, 15, 151, 0x80000000); + AssignBlockFlag(SI_SAVE_FLAG(52)); + MakeEntity(0x802EA0C4, 230, 50, 0xFFFFFF60, 15, 0x80000000); + MakeEntity(0x802EA0C4, 165, 0, 380, 20, 0x80000000); + MakeEntity(0x802EA564, 0xFFFFFF56, 0, 370, 43, 343, 0x80000000); + AssignBlockFlag(SI_SAVE_FLAG(50)); + MakeEntity(0x802EAA54, 345, 75, 0xFFFFFF06, 0, 100, 0x80000000); + MakeItemEntity(343, 345, 205, 0xFFFFFF06, 17, SI_SAVE_FLAG(56)); + MakeItemEntity(343, 345, 230, 0xFFFFFF06, 17, SI_SAVE_FLAG(57)); + MakeItemEntity(343, 345, 255, 0xFFFFFF06, 17, SI_SAVE_FLAG(58)); + MakeItemEntity(343, 345, 280, 0xFFFFFF06, 17, SI_SAVE_FLAG(59)); + MakeItemEntity(128, 229, 250, 0xFFFFFF64, 17, SI_SAVE_FLAG(49)); + MakeEntity(0x802EAB04, 300, 0, 150, 0, 18, 0x80000000); + AssignPanelFlag(SI_SAVE_FLAG(88)); + MakeEntity(0x802EA7E0, 130, 60, 0, 0, 0x80000000); }); diff --git a/src/world/area_kmr/kmr_03/8C83A0.c b/src/world/area_kmr/kmr_03/8C83A0.c index 1e2f655be9..a6264a57af 100644 --- a/src/world/area_kmr/kmr_03/8C83A0.c +++ b/src/world/area_kmr/kmr_03/8C83A0.c @@ -204,20 +204,20 @@ s32 M(treeEffectVectors_Tree1)[] = { }; Script M(Tree1_Callback) = SCRIPT({ - if SI_SAVE_FLAG(53) == 1 { - return + if (SI_SAVE_FLAG(53) == 1) { + return; } - if SI_MAP_FLAG(10) == 1 { - return + if (SI_MAP_FLAG(10) == 1) { + return; } - sleep 10 - GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)) - if SI_VAR(0) < 0xFFFFFFE2 { - MakeItemEntity(138, 0xFFFFFFE9, 100, 35, 13, SI_SAVE_FLAG(53)) + sleep 10; + GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)); + if (SI_VAR(0) < 0xFFFFFFE2) { + MakeItemEntity(138, 0xFFFFFFE9, 100, 35, 13, SI_SAVE_FLAG(53)); } else { - MakeItemEntity(138, 0xFFFFFFAB, 100, 16, 13, SI_SAVE_FLAG(53)) + MakeItemEntity(138, 0xFFFFFFAB, 100, 16, 13, SI_SAVE_FLAG(53)); } - SI_MAP_FLAG(10) = 1 + SI_MAP_FLAG(10) = 1; }); s32 M(shakeTreeEvent_Tree1)[] = { @@ -229,10 +229,10 @@ s32 M(triggerCoord_802422A8)[] = { }; Script M(Script_802422B8) = SCRIPT({ - SI_VAR(0) = M(searchBushEvent_Bush1) - bind M(SearchBush_802417F0) to TriggerFlag_WALL_INTERACT 53 - SI_VAR(0) = M(shakeTreeEvent_Tree1) - bind M(ShakeTree_80241B50) to TriggerFlag_WALL_HAMMER 52 - bind M(ShakeTree_80241B50) to TriggerFlag_BOMB M(triggerCoord_802422A8) + SI_VAR(0) = M(searchBushEvent_Bush1); + bind M(SearchBush_802417F0) to TriggerFlag_WALL_INTERACT 53; + SI_VAR(0) = M(shakeTreeEvent_Tree1); + bind M(ShakeTree_80241B50) to TriggerFlag_WALL_HAMMER 52; + bind M(ShakeTree_80241B50) to TriggerFlag_BOMB M(triggerCoord_802422A8); }); diff --git a/src/world/area_kmr/kmr_03/8C85E0.c b/src/world/area_kmr/kmr_03/8C85E0.c index 891b9090f3..0536fe53f9 100644 --- a/src/world/area_kmr/kmr_03/8C85E0.c +++ b/src/world/area_kmr/kmr_03/8C85E0.c @@ -1,86 +1,86 @@ #include "kmr_03.h" Script M(Script_80242340) = SCRIPT({ - UseSettingsFrom(0, 0xFFFFFEF2, 20, 0xFFFFFFB0) - SetPanTarget(0, 0xFFFFFEF2, 20, 0xFFFFFFB0) - SetCamDistance(0, 700.0) - SetCamSpeed(0, 90.0) - PanToTarget(0, 0, 1) - if SI_SAVE_VAR(0) >= 0xFFFFFF89 { - SetPlayerPos(0, 0xFFFFFC18, 0) - DisablePlayerInput(1) - SetPlayerPos(0xFFFFFF20, 20, 0xFFFFFFB0) - SetNpcPos(0xFFFFFFFC, 0xFFFFFF20, 20, 0xFFFFFFB0) - sleep 20 - SetCamSpeed(0, 3.0) - GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)) - UseSettingsFrom(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)) - SetPanTarget(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)) - PanToTarget(0, 0, 1) - WaitForCam(0, 1.0) - PanToTarget(0, 0, 0) - DisablePlayerInput(0) - return + UseSettingsFrom(0, 0xFFFFFEF2, 20, 0xFFFFFFB0); + SetPanTarget(0, 0xFFFFFEF2, 20, 0xFFFFFFB0); + SetCamDistance(0, 700.0); + SetCamSpeed(0, 90.0); + PanToTarget(0, 0, 1); + if (SI_SAVE_VAR(0) >= 0xFFFFFF89) { + SetPlayerPos(0, 0xFFFFFC18, 0); + DisablePlayerInput(1); + SetPlayerPos(0xFFFFFF20, 20, 0xFFFFFFB0); + SetNpcPos(0xFFFFFFFC, 0xFFFFFF20, 20, 0xFFFFFFB0); + sleep 20; + SetCamSpeed(0, 3.0); + GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)); + UseSettingsFrom(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)); + SetPanTarget(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)); + PanToTarget(0, 0, 1); + WaitForCam(0, 1.0); + PanToTarget(0, 0, 0); + DisablePlayerInput(0); + return; } - DisablePlayerInput(1) - DisablePlayerPhysics(1) - GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)) - SetPlayerPos(SI_VAR(0), 0xFFFFFC18, SI_VAR(2)) - sleep 30 - SetCamDistance(0, 220) - SetCamSpeed(0, 1.0) - PanToTarget(0, 0, 1) - WaitForCam(0, 1.0) + DisablePlayerInput(1); + DisablePlayerPhysics(1); + GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)); + SetPlayerPos(SI_VAR(0), 0xFFFFFC18, SI_VAR(2)); + sleep 30; + SetCamDistance(0, 220); + SetCamSpeed(0, 1.0); + PanToTarget(0, 0, 1); + WaitForCam(0, 1.0); spawn { - sleep 18 - PlaySoundAtPlayer(373, 0) - sleep 30 - PlaySoundAtPlayer(374, 0) - sleep 28 - PlaySoundAtPlayer(373, 0) + sleep 18; + PlaySoundAtPlayer(373, 0); + sleep 30; + PlaySoundAtPlayer(374, 0); + sleep 28; + PlaySoundAtPlayer(373, 0); } - HidePlayerShadow(1) - SetPlayerAnimation(0x10002) - SetPlayerPos(0xFFFFFF20, 120, 0xFFFFFFB0) - InterpPlayerYaw(90, 0) -0: - sleep 1 - GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)) - SI_VAR(1) += 0xFFFFFFFE - SetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)) - if SI_VAR(1) > 86 { - goto 0 + HidePlayerShadow(1); + SetPlayerAnimation(0x10002); + SetPlayerPos(0xFFFFFF20, 120, 0xFFFFFFB0); + InterpPlayerYaw(90, 0); +0: // TODO: this is a do..while + sleep 1; + GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)); + SI_VAR(1) += 0xFFFFFFFE; + SetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)); + if (SI_VAR(1) > 86) { + goto 0; } - SetPlayerPos(0xFFFFFECA, 20, 0xFFFFFFB0) + SetPlayerPos(0xFFFFFECA, 20, 0xFFFFFFB0); spawn { - sleep 20 - SetPanTarget(0, 0xFFFFFECA, 20, 0xFFFFFFB0) - SetCamSpeed(0, 0.2001953125) - PanToTarget(0, 0, 1) + sleep 20; + SetPanTarget(0, 0xFFFFFECA, 20, 0xFFFFFFB0); + SetCamSpeed(0, 0.2001953125); + PanToTarget(0, 0, 1); } - 0x802D286C(0x2800) - 0x802D2520(0x10002, 5, 5, 1, 1, 0) - sleep 100 - WaitForCam(0, 1.0) - 0x802D2520(0x10002, 0, 0, 0, 0, 0) - HidePlayerShadow(0) - SetPlayerAnimation(0x10006) - sleep 10 - SetPlayerAnimation(0x10007) - GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)) - SetPlayerJumpscale(1.0) - PlayerJump(SI_VAR(0), SI_VAR(1), SI_VAR(2), 10) - SetPlayerAnimation(0x10002) + 0x802D286C(0x2800); + 0x802D2520(0x10002, 5, 5, 1, 1, 0); + sleep 100; + WaitForCam(0, 1.0); + 0x802D2520(0x10002, 0, 0, 0, 0, 0); + HidePlayerShadow(0); + SetPlayerAnimation(0x10006); + sleep 10; + SetPlayerAnimation(0x10007); + GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)); + SetPlayerJumpscale(1.0); + PlayerJump(SI_VAR(0), SI_VAR(1), SI_VAR(2), 10); + SetPlayerAnimation(0x10002); spawn { - SetCamSpeed(0, 3.0) - GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)) - UseSettingsFrom(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)) - SetPanTarget(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)) - PanToTarget(0, 0, 1) - WaitForCam(0, 1.0) - PanToTarget(0, 0, 0) + SetCamSpeed(0, 3.0); + GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)); + UseSettingsFrom(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)); + SetPanTarget(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)); + PanToTarget(0, 0, 1); + WaitForCam(0, 1.0); + PanToTarget(0, 0, 0); } - sleep 30 - DisablePlayerPhysics(0) - DisablePlayerInput(0) + sleep 30; + DisablePlayerPhysics(0); + DisablePlayerInput(0); }); diff --git a/src/world/area_kmr/kmr_12/events.c b/src/world/area_kmr/kmr_12/events.c index 405ec0af16..e42697ec80 100644 --- a/src/world/area_kmr/kmr_12/events.c +++ b/src/world/area_kmr/kmr_12/events.c @@ -5,23 +5,23 @@ Script M(ExitWest) = EXIT_WALK_SCRIPT(60, 0, "kmr_07", 1); Script M(ExitEast) = EXIT_WALK_SCRIPT(60, 1, "kmr_11", 0); Script M(BindExits) = SCRIPT({ - bind M(ExitWest) to TriggerFlag_FLOOR_ABOVE 0 // deili1 - bind M(ExitEast) to TriggerFlag_FLOOR_ABOVE 3 // deili2 + bind M(ExitWest) to TriggerFlag_FLOOR_ABOVE 0; // deili1 + bind M(ExitEast) to TriggerFlag_FLOOR_ABOVE 3; // deili2 }); Script M(Main) = SCRIPT({ - SI_SAVE_VAR(425) = 31 - SetSpriteShading(-1) - SetCamPerspective(0, 3, 25, 16, 4096) - SetCamBGColor(0, 0, 0, 0) - SetCamEnabled(0, 1) - MakeNpcs(0, M(npcGroupList)) - await M(MakeEntities) - spawn M(PlayMusic) - SI_VAR(0) = M(BindExits) - spawn EnterWalk - sleep 1 - bind M(ReadWestSign) to TriggerFlag_WALL_INTERACT 10 + SI_SAVE_VAR(425) = 31; + SetSpriteShading(-1); + SetCamPerspective(0, 3, 25, 16, 4096); + SetCamBGColor(0, 0, 0, 0); + SetCamEnabled(0, 1); + MakeNpcs(0, M(npcGroupList)); + await M(MakeEntities); + spawn M(PlayMusic); + SI_VAR(0) = M(BindExits); + spawn EnterWalk; + sleep 1; + bind M(ReadWestSign) to TriggerFlag_WALL_INTERACT 10; }); NpcAISettings M(goombaAISettings) = { @@ -40,7 +40,7 @@ NpcAISettings M(goombaAISettings) = { }; Script M(GoombaAI) = SCRIPT({ - DoBasicAI(M(goombaAISettings)) + DoBasicAI(M(goombaAISettings)); }); NpcSettings M(goombaNpcSettings) = { @@ -54,90 +54,90 @@ NpcSettings M(goombaNpcSettings) = { /// @bug Never returns Script M(ReadWestSign) = SCRIPT({ - group 0 + group 0; // "Eat a Mushroom to regain your energy!" - suspend group 1 - DisablePlayerInput(TRUE) - ShowMessageAtScreenPos(MessageID_SIGN_MUSHROOM_GOOMBA_TRAP, 160, 40) - resume group 1 + suspend group 1; + DisablePlayerInput(TRUE); + ShowMessageAtScreenPos(MessageID_SIGN_MUSHROOM_GOOMBA_TRAP, 160, 40); + resume group 1; - SI_FLAG(0) = FALSE - GetGoomba() - if SI_VAR(0) != FALSE { - GetNpcVar(NpcId_GOOMBA, 0, SI_VAR(0)) - if SI_VAR(0) == FALSE { + SI_FLAG(0) = FALSE; + GetGoomba(); + if (SI_VAR(0) != FALSE) { + GetNpcVar(NpcId_GOOMBA, 0, SI_VAR(0)); + if (SI_VAR(0) == FALSE) { // Trigger Goomba to peel off - SetNpcVar(NpcId_GOOMBA, 0, TRUE) - SI_FLAG(0) = TRUE - sleep 10 + SetNpcVar(NpcId_GOOMBA, 0, TRUE); + SI_FLAG(0) = TRUE; + sleep 10; } } - DisablePlayerInput(FALSE) - if SI_FLAG(0) == TRUE { - unbind + DisablePlayerInput(FALSE); + if (SI_FLAG(0) == TRUE) { + unbind; } - break - return + break; + return; }); Script M(GoombaIdle) = SCRIPT({ - sleep 1 + sleep 1; - SetSelfVar(0, FALSE) - SetNpcAnimation(NpcId_SELF, NPC_ANIM(goomba, normal, fake_mushroom)) // TODO: work out why palette 0 is used here - EnableNpcShadow(NpcId_SELF, FALSE) - SetSelfEnemyFlagBits(0x00000020, TRUE) + SetSelfVar(0, FALSE); + SetNpcAnimation(NpcId_SELF, NPC_ANIM(goomba, normal, fake_mushroom)); // TODO: work out why palette 0 is used here + EnableNpcShadow(NpcId_SELF, FALSE); + SetSelfEnemyFlagBits(0x00000020, TRUE); // Wait until read_sign sets NPC var 0 loop { - GetSelfVar(0, SI_VAR(0)) - sleep 1 - } until SI_VAR(0) == FALSE + GetSelfVar(0, SI_VAR(0)); + sleep 1; + } until(SI_VAR(0) == FALSE) // Peel and jump off the sign - SetNpcFlagBits(NpcId_SELF, 0x00240000, TRUE) - sleep 3 - SI_VAR(0) = 0.0 + SetNpcFlagBits(NpcId_SELF, 0x00240000, TRUE); + sleep 3; + SI_VAR(0) = 0.0; loop 9 { - SI_VAR(0) += 10.0 - SetNpcRotation(NpcId_SELF, 0, SI_VAR(0), 0) - sleep 1 + SI_VAR(0) += 10.0; + SetNpcRotation(NpcId_SELF, 0, SI_VAR(0), 0); + sleep 1; } - SetNpcAnimation(NpcId_SELF, NPC_ANIM(goomba, normal, still)) + SetNpcAnimation(NpcId_SELF, NPC_ANIM(goomba, normal, still)); loop 9 { - SI_VAR(0) += 10.0 - SetNpcRotation(NpcId_SELF, 0, SI_VAR(0), 0) - sleep 1 + SI_VAR(0) += 10.0; + SetNpcRotation(NpcId_SELF, 0, SI_VAR(0), 0); + sleep 1; } - SetNpcAnimation(NpcId_SELF, NPC_ANIM(goomba, normal, dizzy)) - sleep 20 - SetNpcAnimation(NpcId_SELF, NPC_ANIM(goomba, normal, idle)) - PlaySoundAtNpc(NpcId_SELF, 248, 0) - func_802CFE2C(NpcId_SELF, 8192) - func_802CFD30(NpcId_SELF, 5, 6, 1, 1, 0) - sleep 12 - sleep 5 - PlaySoundAtNpc(NpcId_SELF, 812, 0) - EnableNpcShadow(NpcId_SELF, TRUE) - SetNpcJumpscale(NpcId_SELF, 0.6005859375) - NpcJump0(NpcId_SELF, -35, 0, 30, 23) - func_802CFD30(NpcId_SELF, 0, 0, 0, 0, 0) - InterpNpcYaw(NpcId_SELF, 90, 0) - SetNpcFlagBits(NpcId_SELF, 0x00240000, FALSE) - SetSelfEnemyFlagBits(0x00000020, FALSE) - SetSelfEnemyFlagBits(0x40000000, TRUE) + SetNpcAnimation(NpcId_SELF, NPC_ANIM(goomba, normal, dizzy)); + sleep 20; + SetNpcAnimation(NpcId_SELF, NPC_ANIM(goomba, normal, idle)); + PlaySoundAtNpc(NpcId_SELF, 248, 0); + func_802CFE2C(NpcId_SELF, 8192); + func_802CFD30(NpcId_SELF, 5, 6, 1, 1, 0); + sleep 12; + sleep 5; + PlaySoundAtNpc(NpcId_SELF, 812, 0); + EnableNpcShadow(NpcId_SELF, TRUE); + SetNpcJumpscale(NpcId_SELF, 0.6005859375); + NpcJump0(NpcId_SELF, -35, 0, 30, 23); + func_802CFD30(NpcId_SELF, 0, 0, 0, 0, 0); + InterpNpcYaw(NpcId_SELF, 90, 0); + SetNpcFlagBits(NpcId_SELF, 0x00240000, FALSE); + SetSelfEnemyFlagBits(0x00000020, FALSE); + SetSelfEnemyFlagBits(0x40000000, TRUE); // We're done jumping off; the player can read the sign again - bind M(ReadWestSign) to TriggerFlag_WALL_INTERACT 10 + bind M(ReadWestSign) to TriggerFlag_WALL_INTERACT 10; - // Behave like a normal enemy from now o - BindNpcAI(NpcId_SELF, M(GoombaAI)) + // Behave like a normal enemy from now on + BindNpcAI(NpcId_SELF, M(GoombaAI)); }); Script M(GoombaInit) = SCRIPT({ - BindNpcIdle(NpcId_SELF, M(GoombaIdle)) + BindNpcIdle(NpcId_SELF, M(GoombaIdle)); }); StaticNpc M(goombaNpc) = { @@ -192,21 +192,21 @@ NpcGroupList M(npcGroupList) = { }; Script M(ReadEastSign) = SCRIPT({ - func_800441F0(SI_VAR(0)) - if SI_VAR(0) == 1 { - return + func_800441F0($a); + if ($a == 1) { + return; } - group 0 + group 0; - func_802D5830(1) - DisablePlayerInput(1) - ShowMessageAtScreenPos(MessageID_SIGN_GOOMBA_KINGS_FORTRESS_AHEAD, 160, 40) - DisablePlayerInput(0) - func_802D5830(0) + func_802D5830(1); + DisablePlayerInput(1); + ShowMessageAtScreenPos(MessageID_SIGN_GOOMBA_KINGS_FORTRESS_AHEAD, 160, 40); + DisablePlayerInput(0); + func_802D5830(0); }); Script M(MakeEntities) = SCRIPT({ - MakeEntity(0x802EAFDC, 436, 0, -42, 0, 0x80000000) - AssignScript(M(ReadEastSign)) + MakeEntity(0x802EAFDC, 436, 0, -42, 0, 0x80000000); + AssignScript(M(ReadEastSign)); }); diff --git a/src/world/area_kmr/kmr_12/header.c b/src/world/area_kmr/kmr_12/header.c index 80225997b7..0728919d93 100644 --- a/src/world/area_kmr/kmr_12/header.c +++ b/src/world/area_kmr/kmr_12/header.c @@ -14,7 +14,7 @@ MapConfig M(config) = { }; Script M(PlayMusic) = SCRIPT({ - SetMusicTrack(0, Song_PLEASANT_PATH, 0, 8) + SetMusicTrack(0, Song_PLEASANT_PATH, 0, 8); }); ApiStatus GetGoomba(ScriptInstance* script, s32 isInitialCall) { diff --git a/src/world/area_sbk/sbk_00/929270.c b/src/world/area_sbk/sbk_00/929270.c index e3b3f8a9cc..f6abf4a9d2 100644 --- a/src/world/area_sbk/sbk_00/929270.c +++ b/src/world/area_sbk/sbk_00/929270.c @@ -21,40 +21,40 @@ MapConfig M(config) = { }; Script M(ExitWalk_802400E0) = SCRIPT({ - group 27 - UseExitHeading(60, 1) - spawn ExitWalk - GotoMap("sbk_01", 0) - sleep 100 + group 27; + UseExitHeading(60, 1); + spawn ExitWalk; + GotoMap("sbk_01", 0); + sleep 100; }); Script M(ExitWalk_8024013C) = SCRIPT({ - group 27 - UseExitHeading(60, 3) - spawn ExitWalk - GotoMap("sbk_10", 2) - sleep 100 + group 27; + UseExitHeading(60, 3); + spawn ExitWalk; + GotoMap("sbk_10", 2); + sleep 100; }); Script M(Script_80240198) = SCRIPT({ - bind M(ExitWalk_802400E0) to 524288 3 - bind M(ExitWalk_8024013C) to 524288 6 + bind M(ExitWalk_802400E0) to 524288 3; + bind M(ExitWalk_8024013C) to 524288 6; }); Script M(Main) = SCRIPT({ - SI_SAVE_VAR(425) = 10 - SetSpriteShading(-1) - if SI_SAVE_VAR(0) == 0xFFFFFFC1 { - DisablePulseStone(0) + SI_SAVE_VAR(425) = 10; + SetSpriteShading(-1); + if (SI_SAVE_VAR(0) == 0xFFFFFFC1) { + DisablePulseStone(0); } - SetCamPerspective(0, 3, 25, 16, 4096) - SetCamBGColor(0, 0, 0, 0) - SetCamEnabled(0, 1) - SetCamLeadPlayer(0, 0) - MakeNpcs(0, M(npcGroupList_80240768)) - await M(MakeEntities) - SpawnSunEffect() - SetMusicTrack(0, 23, 0, 8) - SI_VAR(0) = M(Script_80240198) - spawn EnterWalk + SetCamPerspective(0, 3, 25, 16, 4096); + SetCamBGColor(0, 0, 0, 0); + SetCamEnabled(0, 1); + SetCamLeadPlayer(0, 0); + MakeNpcs(0, M(npcGroupList_80240768)); + await M(MakeEntities); + SpawnSunEffect(); + SetMusicTrack(0, 23, 0, 8); + SI_VAR(0) = M(Script_80240198); + spawn EnterWalk; }); diff --git a/src/world/area_sbk/sbk_00/9292B0.c b/src/world/area_sbk/sbk_00/9292B0.c index fe21eb0d8f..aec6a730ff 100644 --- a/src/world/area_sbk/sbk_00/9292B0.c +++ b/src/world/area_sbk/sbk_00/9292B0.c @@ -8,8 +8,8 @@ s32 M(aISettings_80240300)[] = { }; Script M(NpcAI_80240330) = SCRIPT({ - SetNpcB5_3() - DoBasicAI(M(aISettings_80240300)) + SetNpcB5_3(); + DoBasicAI(M(aISettings_80240300)); }); s32 M(npcSettings_8024035C)[] = { @@ -63,8 +63,8 @@ s32 M(npcGroupList_80240768)[] = { static s32 padding = 0; Script M(MakeEntities) = SCRIPT({ - MakeEntity(0x802EA564, 0xFFFFFF1A, 0, 155, 0, 152, 0x80000000) - AssignBlockFlag(SI_SAVE_FLAG(797)) - MakeEntity(0x802EA564, 160, 0, 205, 0, 343, 0x80000000) - AssignBlockFlag(SI_SAVE_FLAG(798)) + MakeEntity(0x802EA564, 0xFFFFFF1A, 0, 155, 0, 152, 0x80000000); + AssignBlockFlag(SI_SAVE_FLAG(797)); + MakeEntity(0x802EA564, 160, 0, 205, 0, 343, 0x80000000); + AssignBlockFlag(SI_SAVE_FLAG(798)); }); diff --git a/src/world/area_sbk/sbk_01/929A90.c b/src/world/area_sbk/sbk_01/929A90.c index c98a622f48..df96ea6d6c 100644 --- a/src/world/area_sbk/sbk_01/929A90.c +++ b/src/world/area_sbk/sbk_01/929A90.c @@ -21,48 +21,48 @@ MapConfig M(config) = { }; Script M(ExitWalk_802400E0) = SCRIPT({ - group 27 - UseExitHeading(60, 0) - spawn ExitWalk - GotoMap("sbk_00", 1) - sleep 100 + group 27; + UseExitHeading(60, 0); + spawn ExitWalk; + GotoMap("sbk_00", 1); + sleep 100; }); Script M(ExitWalk_8024013C) = SCRIPT({ - group 27 - UseExitHeading(60, 1) - spawn ExitWalk - GotoMap("sbk_02", 0) - sleep 100 + group 27; + UseExitHeading(60, 1); + spawn ExitWalk; + GotoMap("sbk_02", 0); + sleep 100; }); Script M(ExitWalk_80240198) = SCRIPT({ - group 27 - UseExitHeading(60, 3) - spawn ExitWalk - GotoMap("sbk_11", 2) - sleep 100 + group 27; + UseExitHeading(60, 3); + spawn ExitWalk; + GotoMap("sbk_11", 2); + sleep 100; }); Script M(Script_802401F4) = SCRIPT({ - bind M(ExitWalk_802400E0) to 524288 7 - bind M(ExitWalk_8024013C) to 524288 3 - bind M(ExitWalk_80240198) to 524288 5 + bind M(ExitWalk_802400E0) to 524288 7; + bind M(ExitWalk_8024013C) to 524288 3; + bind M(ExitWalk_80240198) to 524288 5; }); Script M(Main) = SCRIPT({ - SI_SAVE_VAR(425) = 10 - SetSpriteShading(-1) - if SI_SAVE_VAR(0) == 0xFFFFFFC1 { - DisablePulseStone(0) + SI_SAVE_VAR(425) = 10; + SetSpriteShading(-1); + if (SI_SAVE_VAR(0) == 0xFFFFFFC1) { + DisablePulseStone(0); } - SetCamPerspective(0, 3, 25, 16, 4096) - SetCamBGColor(0, 0, 0, 0) - SetCamEnabled(0, 1) - SetCamLeadPlayer(0, 0) - MakeNpcs(0, M(npcGroupList_802407D8)) - SpawnSunEffect() - SetMusicTrack(0, 23, 0, 8) - SI_VAR(0) = M(Script_802401F4) - spawn EnterWalk + SetCamPerspective(0, 3, 25, 16, 4096); + SetCamBGColor(0, 0, 0, 0); + SetCamEnabled(0, 1); + SetCamLeadPlayer(0, 0); + MakeNpcs(0, M(npcGroupList_802407D8)); + SpawnSunEffect(); + SetMusicTrack(0, 23, 0, 8); + SI_VAR(0) = M(Script_802401F4); + spawn EnterWalk; }); diff --git a/src/world/area_sbk/sbk_01/929AD0.c b/src/world/area_sbk/sbk_01/929AD0.c index 7edd7b76f2..e7461e9f07 100644 --- a/src/world/area_sbk/sbk_01/929AD0.c +++ b/src/world/area_sbk/sbk_01/929AD0.c @@ -8,8 +8,8 @@ s32 M(aISettings_80240370)[] = { }; Script M(NpcAI_802403A0) = SCRIPT({ - SetNpcB5_3() - DoBasicAI(M(aISettings_80240370)) + SetNpcB5_3(); + DoBasicAI(M(aISettings_80240370)); }); s32 M(npcSettings_802403CC)[] = { diff --git a/src/world/common/PartnerToggleAbilityScript.inc.c b/src/world/common/PartnerToggleAbilityScript.inc.c index a20b7f45de..fb05c0278b 100644 --- a/src/world/common/PartnerToggleAbilityScript.inc.c +++ b/src/world/common/PartnerToggleAbilityScript.inc.c @@ -1,7 +1,8 @@ #include "common.h" +#include "../partners.h" static ApiStatus PartnerSuspendAbilityScript(ScriptInstance* script, s32 isInitialCall) { - if (gPlayerData.currentPartner == PartnerId_NONE) { + if (gPlayerData.currentPartner == PartnerID_NONE) { return ApiStatus_DONE2; } partner_suspend_ability_script(); diff --git a/src/world/common/UnkNpcAIFunc11.inc.c b/src/world/common/UnkNpcAIFunc11.inc.c index 250c081824..9abc9378ce 100644 --- a/src/world/common/UnkNpcAIFunc11.inc.c +++ b/src/world/common/UnkNpcAIFunc11.inc.c @@ -8,7 +8,7 @@ static void UnkNpcAIFunc11(ScriptInstance* script, NpcAISettings* aiSettings, s3 if (func_800490B4(arg2, enemy, aiSettings->chaseSpeed, aiSettings->unk_1C, 1) == 0) { s32* something; - fx_emote(2, npc, 0, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 0xF, &something); + fx_emote(2, npc, 0.0f, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 0xF, &something); npc->currentAnim = enemy->animList[0]; npc->duration = 25; script->functionTemp[0].s = 14; diff --git a/src/world/common/UnkNpcAIFunc8.inc.c b/src/world/common/UnkNpcAIFunc8.inc.c index d79df68192..6bb7eb9049 100644 --- a/src/world/common/UnkNpcAIFunc8.inc.c +++ b/src/world/common/UnkNpcAIFunc8.inc.c @@ -13,7 +13,7 @@ static void UnkNpcAIFunc8(ScriptInstance* script) { if (enemy->varTable[3] >= 8) { s32 something; - fx_emote(3, npc, 0, npc->collisionHeight, 1.0f, 2.0f, -20.0f, enemy->varTable[3] - 1, &something); + fx_emote(3, npc, 0.0f, npc->collisionHeight, 1.0f, 2.0f, -20.0f, enemy->varTable[3] - 1, &something); } script->functionTemp[0].s = 33; } diff --git a/src/code_317E50.c b/src/world/partner/bombette.c similarity index 52% rename from src/code_317E50.c rename to src/world/partner/bombette.c index 8c9bbbf551..855f49e752 100644 --- a/src/code_317E50.c +++ b/src/world/partner/bombette.c @@ -1,8 +1,8 @@ #include "common.h" -INCLUDE_ASM(s32, "code_317E50", func_802BD100_317E50); +INCLUDE_ASM(s32, "world/partner/bombette", func_802BD100_317E50); -INCLUDE_ASM(s32, "code_317E50", func_802BD2D8); +INCLUDE_ASM(s32, "world/partner/bombette", func_802BD2D8); ApiStatus func_802BD300(ScriptInstance* script, s32 isInitialCall) { s32 unk = script->owner2.npc; // todo what is this @@ -13,17 +13,17 @@ ApiStatus func_802BD300(ScriptInstance* script, s32 isInitialCall) { return func_800EECE8(unk) != 0; } -INCLUDE_ASM(s32, "code_317E50", func_802BD338); +INCLUDE_ASM(s32, "world/partner/bombette", func_802BD338); -INCLUDE_ASM(s32, "code_317E50", func_802BD6DC); +INCLUDE_ASM(s32, "world/partner/bombette", func_802BD6DC); -INCLUDE_ASM(s32, "code_317E50", func_802BD720); +INCLUDE_ASM(s32, "world/partner/bombette", func_802BD720); s32 func_802BD748(void) { return D_8010EBB0[0] == 0; } -INCLUDE_ASM(s32, "code_317E50", func_802BD758); +INCLUDE_ASM(s32, "world/partner/bombette", func_802BD758); ApiStatus func_802BE4E8(ScriptInstance* script, s32 isInitialCall) { s32 unk = script->owner2.npc; // todo what is this @@ -34,6 +34,6 @@ ApiStatus func_802BE4E8(ScriptInstance* script, s32 isInitialCall) { return func_800EE9B8(unk) != 0; } -INCLUDE_ASM(s32, "code_317E50", func_802BE520); +INCLUDE_ASM(s32, "world/partner/bombette", func_802BE520); -INCLUDE_ASM(s32, "code_317E50", func_802BE6E8); +INCLUDE_ASM(s32, "world/partner/bombette", func_802BE6E8); diff --git a/src/world/partner/bow.c b/src/world/partner/bow.c new file mode 100644 index 0000000000..efa82d47f1 --- /dev/null +++ b/src/world/partner/bow.c @@ -0,0 +1,19 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/partner/bow", func_802BD100_323A50); + +INCLUDE_ASM(s32, "world/partner/bow", func_802BD130); + +INCLUDE_ASM(s32, "world/partner/bow", func_802BD168); + +INCLUDE_ASM(s32, "world/partner/bow", func_802BD4FC); + +INCLUDE_ASM(s32, "world/partner/bow", func_802BD540); + +INCLUDE_ASM(s32, "world/partner/bow", func_802BD694); + +INCLUDE_ASM(s32, "world/partner/bow", func_802BDDF0); + +INCLUDE_ASM(s32, "world/partner/bow", func_802BDF08); + +INCLUDE_ASM(s32, "world/partner/bow", func_802BDF64); diff --git a/src/world/partner/goombaria.c b/src/world/partner/goombaria.c new file mode 100644 index 0000000000..535ec80091 --- /dev/null +++ b/src/world/partner/goombaria.c @@ -0,0 +1,61 @@ +#include "common.h" +#include "goombaria.h" +#include "../partners.h" + +void world_goombaria_init(Npc* partner) { + partner->collisionHeight = 24; + partner->collisionRadius = 20; +} + +ApiStatus GoombariaTakeOut(ScriptInstance* script, s32 isInitialCall) { + Npc* owner = script->owner2.npc; + + if (isInitialCall) { + func_800EECC4(owner); + } + return func_800EECE8(owner) != 0; +} + +ApiStatus GoombariaUpdate(ScriptInstance* script, s32 isInitialCall) { + PlayerData* playerData = &gPlayerData; + Npc* owner = script->owner2.npc; + + if (isInitialCall) { + enable_partner_walking(owner, TRUE); + } + + func_800EBA3C(owner); + func_800EBB40(owner); + playerData->unk_2F4[PartnerID_GOOMBARIA]++; + + return ApiStatus_BLOCK; +} + +ApiStatus GoombariaUseAbility(ScriptInstance* script, s32 isInitialCall) { + return ApiStatus_DONE2; +} + +ApiStatus GoombariaPutAway(ScriptInstance* script, s32 isInitialCall) { + Npc* owner = script->owner2.npc; + + if (isInitialCall) { + func_800EE994(owner); + } + return func_800EE9B8(owner) != 0; +} + +Script world_goombaria_take_out = SCRIPT({ + GoombariaTakeOut(); +}); + +Script world_goombaria_update = SCRIPT({ + GoombariaUpdate(); +}); + +Script world_goombaria_use_ability = SCRIPT({ + GoombariaUseAbility(); +}); + +Script world_goombaria_put_away = SCRIPT({ + GoombariaPutAway(); +}); diff --git a/src/world/partner/goombaria.h b/src/world/partner/goombaria.h new file mode 100644 index 0000000000..aefd8be80e --- /dev/null +++ b/src/world/partner/goombaria.h @@ -0,0 +1,14 @@ +#ifndef _WORLD_PARTNER_GOOMBARIA_H_ +#define _WORLD_PARTNER_GOOMBARIA_H_ + +#include "common.h" +#include "script_api/map.h" + +void world_goombaria_init(Npc* partner); + +Script world_goombaria_take_out; +Script world_goombaria_update; +Script world_goombaria_use_ability; +Script world_goombaria_put_away; + +#endif diff --git a/src/world/partner/goombario.c b/src/world/partner/goombario.c new file mode 100644 index 0000000000..309470dd8d --- /dev/null +++ b/src/world/partner/goombario.c @@ -0,0 +1,128 @@ +#include "common.h" +#include "sprite/npc/world_goombario.h" +#include "goombario.h" + +s32 func_802BD100(s32 arg0) { + s32 i; + + for (i = 0; i < 0x40; i++) { + Trigger* trigger = get_trigger_by_id(i); + + if (trigger != NULL && trigger->flags.flags & 0x100 && trigger->params2 == arg0) { + return trigger->unk_2C; + } + } + return 0; +} + +void world_goombario_init(Npc* partner) { + partner->collisionHeight = 24; + partner->collisionRadius = 20; +} + +INCLUDE_ASM(ApiStatus, "world/partner/goombario", func_802BD188, ScriptInstance* script, s32 isInitialCall); + +// uses rodata f64(?) at 802BDE80 = 0.8 +INCLUDE_ASM(ApiStatus, "world/partner/goombario", func_802BD1D0, ScriptInstance* script, s32 isInitialCall); + +INCLUDE_ASM(s32, "world/partner/goombario", func_802BD564); + +// Compiler is generating more efficient code than the original asm, using xori and sltiu instead of beq +#ifdef NON_MATCHING +s32 world_goombario_can_pause(Npc* partner) { + if (D_8010EBB0[0]) { + return FALSE; + } + + if ((partner->flags & 0x1800) != 0x1000) { + return FALSE; + } + + return TRUE; +} +#else +INCLUDE_ASM(s32, "world/partner/goombario", world_goombario_can_pause, Npc* partner); +#endif + +// get message for tattle routine +// has big jumptable at rodata 802BDE88 +INCLUDE_ASM(ApiStatus, "world/partner/goombario", func_802BD5D8, ScriptInstance* script, s32 isInitialCall); + +INCLUDE_ASM(ApiStatus, "world/partner/goombario", func_802BDB30, ScriptInstance* script, s32 isInitialCall); + +ApiStatus func_802BDB84(ScriptInstance* script, s32 isInitialCall) { + s32 unk = script->owner2.npc; // todo what is this? + + if (isInitialCall) { + func_800EE994(unk); + } + + return func_800EE9B8(unk) != 0; +} + +// Something is up with D_8010EBB0 I think. It might be a struct or something +#ifdef NON_MATCHING +void world_goombario_pre_battle(s32 arg0) { + if (D_8010EBB0[0] != 0) { + func_80027088(0); + enable_player_input(); + CancelMessageAndBlock(); + clear_partner_move_history(arg0); + D_8010EBB0[0] = 0; + D_8010EBB0[3] = 0; + disable_npc_blur(arg0); + } + D_8010EBB0[3] = 1; +} +#else +INCLUDE_ASM(void, "world/partner/goombario", world_goombario_pre_battle, s32 arg0); +#endif + +s32 func_802BD5D8_data[] = { + 0x00000015, 0x001B0000, 0x00000018, 0x001B0000, 0x00000016, 0x001B0001, 0x00000019, 0x001B0001, + 0x00000017, 0x001B0003, 0x0000001A, 0x001B0003, 0x0000000D, 0x001B0005, 0x0000000E, 0x001B0005, + 0x0000000F, 0x001B0006, 0x00000010, 0x001B0006, 0x0000000B, 0x001B0007, 0x0000000C, 0x001B0008, + 0x00000014, 0x001B0009, 0x0000002E, 0x001B000A, 0x0000002F, 0x001B000A, 0x00000007, 0x001B000B, + 0x00000008, 0x001B000B, 0x00000009, 0x001B000C, 0x0000000A, 0x001B000E, 0x0000002B, 0x001B0010, + 0x00000003, 0x001B0011, 0x00000004, 0x001B0011, 0x00000005, 0x001B0011, 0x00000006, 0x001B0011, + 0x00000033, 0x001B0012, 0x00000034, 0x001B0013, 0x00000026, 0x001B0014, 0x00000032, 0x001B0015, + 0x00000024, 0x001B0017, 0x00000025, 0x001B001A, 0x00000031, 0x001B001D, 0x00000035, 0x001B001F, + 0x00000036, 0x001B0020, 0x00000038, 0x001B0021, 0x00000037, 0x001B0022, 0x0000003A, 0x001B0023, + 0x00000039, 0x001B0024, 0xFFFFFFFF +}; + +Script world_goombario_take_out = SCRIPT({ + func_802BD188(); +}); + +s32 unk_802BDD88 = 0x802BDF40; + +Script world_goombario_update = SCRIPT({ + func_802BD1D0(); +}); + +Script world_goombario_use_ability = SCRIPT({ + func_802BD5D8(); // returns tattle message id on SI_VAR(0), and something else on SI_VAR(1) + + if (SI_VAR(0) == -1) { + return; + } + + if (SI_VAR(0) == 0) { + func_802BDB30(); + return; + } + + if (SI_VAR(1) == 0) { + SpeakToPlayer(NpcId_PARTNER, NPC_ANIM(world_goombario, normal, talk), NPC_ANIM(world_goombario, normal, idle), 0, + SI_VAR(0)); + } + + sleep 1; + + func_802BDB30(); +}); + +Script world_goombario_put_away = SCRIPT({ + func_802BDB84(); +}); diff --git a/src/world/partner/goombario.h b/src/world/partner/goombario.h new file mode 100644 index 0000000000..73b99651be --- /dev/null +++ b/src/world/partner/goombario.h @@ -0,0 +1,17 @@ +#ifndef _WORLD_PARTNER_GOOMBARIO_H_ +#define _WORLD_PARTNER_GOOMBARIO_H_ + +#include "common.h" +#include "script_api/map.h" + +void world_goombario_init(Npc* partner); +s32 world_goombario_can_pause(Npc* partner); +ApiStatus func_802BDB84(ScriptInstance* script, s32 isInitialCall); +void world_goombario_pre_battle(s32 arg0); + +Script world_goombario_take_out; +Script world_goombario_update; +Script world_goombario_use_ability; +Script world_goombario_put_away; + +#endif diff --git a/src/world/partner/goompa.c b/src/world/partner/goompa.c new file mode 100644 index 0000000000..7ba4857303 --- /dev/null +++ b/src/world/partner/goompa.c @@ -0,0 +1,51 @@ +#include "common.h" +#include "goompa.h" + +void world_goompa_init(Npc* partner) { + partner->collisionHeight = 24; + partner->collisionRadius = 20; +} + +ApiStatus GoompaTakeOut(ScriptInstance* script, s32 isInitialCall) { + Npc* owner = script->owner2.npc; + + if (isInitialCall) { + func_800EECC4(owner); + } + return func_800EECE8(owner) != 0; +} + +INCLUDE_ASM(s32, "world_goompa", func_802BD14C); + +INCLUDE_ASM(s32, "world_goompa", func_802BD4E0); + +ApiStatus GoompaUseAbility(ScriptInstance* script, s32 isInitialCall) { + return ApiStatus_DONE2; +} + +ApiStatus GoompaPutAway(ScriptInstance* script, s32 isInitialCall) { + Npc* owner = script->owner2.npc; + + if (isInitialCall) { + func_800EE994(owner); + } + return func_800EE9B8(owner) != 0; +} + +Script world_goompa_take_out = SCRIPT({ + GoompaTakeOut(); +}); + +s32 unk = 0x802BD600; + +Script world_goompa_update = SCRIPT({ + func_802BD14C(); +}); + +Script world_goompa_use_ability = SCRIPT({ + GoompaUseAbility(); +}); + +Script world_goompa_put_away = SCRIPT({ + GoompaPutAway(); +}); diff --git a/src/world/partner/goompa.h b/src/world/partner/goompa.h new file mode 100644 index 0000000000..01562cbda4 --- /dev/null +++ b/src/world/partner/goompa.h @@ -0,0 +1,14 @@ +#ifndef _WORLD_PARTNER_GOOMPA_H_ +#define _WORLD_PARTNER_GOOMPA_H_ + +#include "common.h" +#include "script_api/map.h" + +void world_goompa_init(Npc* partner); + +Script world_goompa_take_out; +Script world_goompa_update; +Script world_goompa_use_ability; +Script world_goompa_put_away; + +#endif diff --git a/src/world/partner/kooper.c b/src/world/partner/kooper.c new file mode 100644 index 0000000000..c937234064 --- /dev/null +++ b/src/world/partner/kooper.c @@ -0,0 +1,25 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BD100_31B120); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BD144); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BD17C); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BD200); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BD228); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BD260); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BD5F4); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BD638); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BE7E0); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BE818); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BEA24); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BEB10); diff --git a/src/world/partner/kooper.h b/src/world/partner/kooper.h new file mode 100644 index 0000000000..c3359d5907 --- /dev/null +++ b/src/world/partner/kooper.h @@ -0,0 +1,9 @@ +#ifndef _WORLD_PARTNER_KOOPER_H_ +#define _WORLD_PARTNER_KOOPER_H_ + +#include "common.h" +#include "script_api/map.h" + +// TODO + +#endif diff --git a/src/world/partner/lakilester.c b/src/world/partner/lakilester.c new file mode 100644 index 0000000000..25c4e258ff --- /dev/null +++ b/src/world/partner/lakilester.c @@ -0,0 +1,35 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD100_320C50); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD21C); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD29C); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD2D4); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD678); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD6BC); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD7DC); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD99C); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BDA90); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BDDD8); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BE6A0); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BE724); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BF4F0); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BFA00); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BFAA8); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BFB44); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BFBA0); diff --git a/src/code_319670.c b/src/world/partner/parakarry.c similarity index 52% rename from src/code_319670.c rename to src/world/partner/parakarry.c index 6bf3ebff66..70d9036baf 100644 --- a/src/code_319670.c +++ b/src/world/partner/parakarry.c @@ -1,6 +1,6 @@ #include "common.h" -INCLUDE_ASM(s32, "code_319670", func_802BD100_319670); +INCLUDE_ASM(s32, "world/partner/parakarry", func_802BD100_319670); ApiStatus func_802BD148(ScriptInstance* script, s32 isInitialCall) { s32 unk = script->owner2.npc; // todo what is this @@ -11,13 +11,13 @@ ApiStatus func_802BD148(ScriptInstance* script, s32 isInitialCall) { return func_800EECE8(unk) != 0; } -INCLUDE_ASM(s32, "code_319670", func_802BD180); +INCLUDE_ASM(s32, "world/partner/parakarry", func_802BD180); -INCLUDE_ASM(s32, "code_319670", func_802BD514); +INCLUDE_ASM(s32, "world/partner/parakarry", func_802BD514); -INCLUDE_ASM(s32, "code_319670", func_802BD558); +INCLUDE_ASM(s32, "world/partner/parakarry", func_802BD558); -INCLUDE_ASM(s32, "code_319670", func_802BD660); +INCLUDE_ASM(s32, "world/partner/parakarry", func_802BD660); ApiStatus func_802BE8D4(ScriptInstance* script, s32 isInitialCall) { s32 unk = script->owner2.npc; // todo what is this @@ -28,6 +28,6 @@ ApiStatus func_802BE8D4(ScriptInstance* script, s32 isInitialCall) { return func_800EE9B8(unk) != 0; } -INCLUDE_ASM(s32, "code_319670", func_802BE90C); +INCLUDE_ASM(s32, "world/partner/parakarry", func_802BE90C); -INCLUDE_ASM(s32, "code_319670", func_802BE9D0); +INCLUDE_ASM(s32, "world/partner/parakarry", func_802BE9D0); diff --git a/src/world/partner/sushie.c b/src/world/partner/sushie.c new file mode 100644 index 0000000000..1ee60dcbf6 --- /dev/null +++ b/src/world/partner/sushie.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BD100_31DE70); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BD20C); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BD368); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BD414); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BE280); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BE3A4); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BF520); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BF568); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BF5A0); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BF920); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BF964); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BF9B8); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BFA58); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BFAB8); diff --git a/src/world/partner/twink.c b/src/world/partner/twink.c new file mode 100644 index 0000000000..1e25b590e3 --- /dev/null +++ b/src/world/partner/twink.c @@ -0,0 +1,61 @@ +#include "common.h" +#include "../partners.h" +#include "twink.h" + +void world_twink_init(Npc* partner) { + partner->collisionHeight = 20; + partner->collisionRadius = 20; +} + +ApiStatus TwinkTakeOut(ScriptInstance* script, s32 isInitialCall) { + Npc* owner = script->owner2.npc; + + if (isInitialCall) { + func_800EECC4(owner); + } + return func_800EECE8(owner) != 0; +} + +ApiStatus TwinkUpdate(ScriptInstance* script, s32 isInitialCall) { + PlayerData* playerData = &gPlayerData; + Npc* owner = script->owner2.npc; + + if (isInitialCall) { + enable_partner_flying(owner, TRUE); + } + + update_player_move_history(owner); + func_800ED5D0(owner); + playerData->unk_2F4[PartnerID_TWINK]++; + + return ApiStatus_BLOCK; +} + +ApiStatus TwinkUseAbility(ScriptInstance* script, s32 isInitialCall) { + return ApiStatus_DONE2; +} + +ApiStatus TwinkPutAway(ScriptInstance* script, s32 isInitialCall) { + Npc* owner = script->owner2.npc; + + if (isInitialCall) { + func_800EE994(owner); + } + return func_800EE9B8(owner) != 0; +} + +Script world_twink_take_out = SCRIPT({ + TwinkTakeOut(); +}); + +Script world_twink_update = SCRIPT({ + TwinkUpdate(); +}); + +Script world_twink_use_ability = SCRIPT({ + TwinkUseAbility(); +}); + +Script world_twink_put_away = SCRIPT({ + TwinkPutAway(); +}); diff --git a/src/world/partner/twink.h b/src/world/partner/twink.h new file mode 100644 index 0000000000..da1c43833b --- /dev/null +++ b/src/world/partner/twink.h @@ -0,0 +1,14 @@ +#ifndef _WORLD_PARTNER_TWINK_H_ +#define _WORLD_PARTNER_TWINK_H_ + +#include "common.h" +#include "script_api/map.h" + +void world_twink_init(Npc* partner); + +Script world_twink_take_out; +Script world_twink_update; +Script world_twink_use_ability; +Script world_twink_put_away; + +#endif diff --git a/src/world/partner/watt.c b/src/world/partner/watt.c new file mode 100644 index 0000000000..d7ab539078 --- /dev/null +++ b/src/world/partner/watt.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/partner/watt", func_802BD100_31CC70); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BD180_31CC70); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BD1AC); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BD23C); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BD27C); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BD2B4); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BD710); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BD754); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BDD0C); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BDD9C); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BDE10); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BDE88); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BE014); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BE070); diff --git a/src/world/partners.c b/src/world/partners.c new file mode 100644 index 0000000000..41b34ab939 --- /dev/null +++ b/src/world/partners.c @@ -0,0 +1,216 @@ +#include "common.h" +#include "ld_addrs.h" +#include "partners.h" + +#include "partner/goombario.h" +#include "sprite/npc/world_goombario.h" + +#include "partner/kooper.h" +#include "sprite/npc/world_kooper.h" + +#include "sprite/npc/world_bombette.h" + +#include "sprite/npc/world_parakarry.h" + +#include "partner/goompa.h" +#include "sprite/npc/goompa.h" + +#include "sprite/npc/world_watt.h" + +#include "sprite/npc/world_sushie.h" + +#include "sprite/npc/world_lakilester.h" + +#include "sprite/npc/world_bow.h" + +#include "partner/goombaria.h" +#include "sprite/npc/goombaria.h" + +#include "partner/twink.h" +#include "sprite/npc/twink.h" + +s32 world_partner_can_use_ability_default(Npc* partner); +s32 world_partner_can_player_pause_default(Npc* partner); + +static s32 _pad[] = { 0x00, 0x00, 0x00 }; + +WorldPartner gWorldPartners[] = { + // XXX: it's possible that's there's a "none" entry here to match up with enum PartnerID + { + // Goombario + .dmaStart = &world_partner_goombario_ROM_START, + .dmaEnd = &world_partner_goombario_ROM_END, + .dmaDest = &world_partner_goombario_VRAM, + .isFlying = FALSE, + .init = world_goombario_init, + .takeOut = world_goombario_take_out, + .update = world_goombario_update, + .useAbility = world_goombario_use_ability, + .putAway = world_goombario_put_away, + .idle = NPC_ANIM(world_goombario, normal, idle), + .canUseAbility = world_goombario_can_pause, + .canPlayerPause = world_goombario_can_pause, + .preBattle = world_goombario_pre_battle, + }, + { + // Kooper + .dmaStart = &world_partner_kooper_ROM_START, + .dmaEnd = &world_partner_kooper_ROM_END, + .dmaDest = &world_partner_kooper_VRAM, + .isFlying = FALSE, + .init = 0x802BD200, + .takeOut = 0x802BEB44, + .update = 0x802BEB64, + .useAbility = 0x802BEB80, + .putAway = 0x802BEB9C, + .idle = NPC_ANIM(world_kooper, Palette_00, Anim_3), + .testFirstStrike = 0x802BE818, + .canUseAbility = world_partner_can_use_ability_default, + .canPlayerPause = world_partner_can_use_ability_default, + .preBattle = 0x802BEA24, + .postBattle = 0x802BEB10, + }, + { + // Bombette + .dmaStart = &world_partner_bombette_ROM_START, + .dmaEnd = &world_partner_bombette_ROM_END, + .dmaDest = &world_partner_bombette_VRAM, + .isFlying = FALSE, + .init = 0x802BD2D8, + .takeOut = 0x802BE880, + .update = 0x802BE8A0, + .useAbility = 0x802BE8BC, + .putAway = 0x802BE8D8, + .idle = NPC_ANIM(world_bombette, Palette_00, Anim_3), + .testFirstStrike = 0x802BE520, + .canUseAbility = 0x802BD720, + .canPlayerPause = 0x802BD748, + .preBattle = 0x802BE6E8, + }, + { + // Parakarry + .dmaStart = &world_partner_parakarry_ROM_START, + .dmaEnd = &world_partner_parakarry_ROM_END, + .dmaDest = &world_partner_parakarry_VRAM, + .isFlying = TRUE, + .init = 0x802BD100, + .takeOut = 0x802BEA90, + .update = 0x802BEAB0, + .useAbility = 0x802BEACC, + .putAway = 0x802BEAE8, + .idle = NPC_ANIM(world_parakarry, Palette_00, Anim_1), + .canPlayerPause = world_partner_can_use_ability_default, + .preBattle = 0x802BE90C, + .postBattle = 0x802BE9D0, + }, + { + // Goompa + .dmaStart = &world_partner_goompa_ROM_START, + .dmaEnd = &world_partner_goompa_ROM_END, + .dmaDest = &world_partner_goompa_VRAM, + .isFlying = FALSE, + .init = world_goompa_init, + .takeOut = world_goompa_take_out, + .update = world_goompa_update, + .useAbility = world_goompa_use_ability, + .putAway = world_goompa_put_away, + .idle = NPC_ANIM(goompa, Palette_00, Anim_1), + }, + { + // Watt + .dmaStart = &world_partner_watt_ROM_START, + .dmaEnd = &world_partner_watt_ROM_END, + .dmaDest = &world_partner_watt_VRAM, + .isFlying = TRUE, + .init = 0x802BD23C, + .takeOut = 0x802BE258, + .update = 0x802BE27C, + .useAbility = 0x802BE298, + .putAway = 0x802BE2B4, + .idle = NPC_ANIM(world_watt, Palette_00, Anim_1), + .canPlayerPause = world_partner_can_player_pause_default, + .preBattle = 0x802BDD9C, + .postBattle = 0x802BDE10, + .whileRiding = 0x802BE2D0, + }, + { + // Sushie + .dmaStart = &world_partner_sushie_ROM_START, + .dmaEnd = &world_partner_sushie_ROM_END, + .dmaDest = &world_partner_sushie_VRAM, + .isFlying = FALSE, + .init = 0x802BF520, + .takeOut = 0x802BFDDC, + .update = 0x802BFDFC, + .useAbility = 0x802BFDC0, + .putAway = 0x802BFE18, + .idle = NPC_ANIM(world_sushie, Palette_00, Anim_1), + .canPlayerPause = world_partner_can_player_pause_default, + .preBattle = 0x802BF9B8, + .postBattle = 0x802BFA58, + .whileRiding = 0x802BFE34, + }, + { + // Lakilester + .dmaStart = &world_partner_lakilester_ROM_START, + .dmaEnd = &world_partner_lakilester_ROM_END, + .dmaDest = &world_partner_lakilester_VRAM, + .isFlying = TRUE, + .init = 0x802BD21C, + .takeOut = 0x802BFE60, + .update = 0x802BFE80, + .useAbility = 0x802BFE9C, + .putAway = 0x802BFEB8, + .idle = NPC_ANIM(world_lakilester, Palette_00, Anim_1), + .canPlayerPause = world_partner_can_player_pause_default, + .preBattle = 0x802BFA00, + .postBattle = 0x802BFAA8, + .whileRiding = 0x802BFED4, + }, + { + // Bow + .dmaStart = &world_partner_bow_ROM_START, + .dmaEnd = &world_partner_bow_ROM_END, + .dmaDest = &world_partner_bow_VRAM, + .isFlying = TRUE, + .init = 0x802BD100, + .takeOut = 0x802BDFE0, + .update = 0x802BE000, + .useAbility = 0x802BE01C, + .putAway = 0x802BE038, + .idle = NPC_ANIM(world_bow, Palette_00, Anim_1), + .canUseAbility = world_partner_can_use_ability_default, + .canPlayerPause = world_partner_can_player_pause_default, + .preBattle = 0x802BDF64, + }, + { + // Goombaria + .dmaStart = &world_partner_goombaria_ROM_START, + .dmaEnd = &world_partner_goombaria_ROM_END, + .dmaDest = &world_partner_goombaria_VRAM, + .isFlying = FALSE, + .init = world_goombaria_init, + .takeOut = world_goombaria_take_out, + .update = world_goombaria_update, + .useAbility = world_goombaria_use_ability, + .putAway = world_goombaria_put_away, + .idle = NPC_ANIM(goombaria, Palette_00, Anim_1), + .canUseAbility = world_partner_can_use_ability_default, + .canPlayerPause = world_partner_can_use_ability_default, + }, + { + // Twink + .dmaStart = &world_partner_twink_ROM_START, + .dmaEnd = &world_partner_twink_ROM_END, + .dmaDest = &world_partner_twink_VRAM, + .isFlying = TRUE, + .init = world_twink_init, + .takeOut = world_twink_take_out, + .update = world_twink_update, + .useAbility = world_twink_use_ability, + .putAway = world_twink_put_away, + .idle = NPC_ANIM(twink, Palette_00, Anim_1), + .canUseAbility = world_partner_can_use_ability_default, + .canPlayerPause = world_partner_can_use_ability_default, + }, +}; diff --git a/src/world/partners.h b/src/world/partners.h new file mode 100644 index 0000000000..a4891e4dcf --- /dev/null +++ b/src/world/partners.h @@ -0,0 +1,43 @@ +#ifndef _WORLD_PARTNERS_H +#define _WORLD_PARTNERS_H + +#include "common.h" + +typedef struct WorldPartner { + /* 0x00 */ void* dmaStart; + /* 0x04 */ void* dmaEnd; + /* 0x08 */ void* dmaDest; ///< Always `0x802BD100` + /* 0x10 */ s32 isFlying; + /* 0x14 */ void (*init)(Npc* partner); + /* 0x18 */ Bytecode* takeOut; + /* 0x1C */ Bytecode* update; + /* 0x20 */ Bytecode* useAbility; + /* 0x24 */ Bytecode* putAway; + /* 0x28 */ NpcAnimID idle; + /* 0x2C */ UNK_FUN_PTR(testFirstStrike); + /* 0x30 */ s32 (*canUseAbility)(Npc* partner); + /* 0x34 */ s32 (*canPlayerPause)(Npc* partner); + /* 0x38 */ void (*preBattle)(Npc* partner); + /* 0x3C */ UNK_FUN_PTR(postBattle); + /* 0x40 */ Bytecode* whileRiding; +} WorldPartner; // size = 0x40 + +WorldPartner gWorldPartners[11]; + +typedef s8 PartnerID; +enum PartnerID { + PartnerID_NONE, + PartnerID_GOOMBARIO, + PartnerID_KOOPER, + PartnerID_BOMBETTE, + PartnerID_PARAKARRY, + PartnerID_GOOMPA, + PartnerID_WATT, + PartnerID_SUSHIE, + PartnerID_LAKILESTER, + PartnerID_BOW, + PartnerID_GOOMBARIA, + PartnerID_TWINK, +}; + +#endif diff --git a/src/world/script_api/7E3700.c b/src/world/script_api/7E3700.c index dc0334f9e7..4d5d6c43a6 100644 --- a/src/world/script_api/7E3700.c +++ b/src/world/script_api/7E3700.c @@ -1,4 +1,5 @@ #include "common.h" +#include "../partners.h" ApiStatus func_80282880(ScriptInstance* script, s32 isInitialCall) { PlayerStatus* playerStatus = PLAYER_STATUS; @@ -62,7 +63,7 @@ ApiStatus TeleportPartnerToPlayer(ScriptInstance* script, s32 isInitialCall) { PlayerStatus* playerStatus2 = PLAYER_STATUS; Npc* partner; - if (PLAYER_DATA->currentPartner == PartnerId_NONE) { + if (PLAYER_DATA->currentPartner == PartnerID_NONE) { return ApiStatus_DONE2; } @@ -91,7 +92,7 @@ ApiStatus func_80283908(ScriptInstance* script, s32 isInitialCall) { playerStatus->position.y = GAME_STATUS->savedPos.y; playerStatus->position.z = GAME_STATUS->savedPos.z; - if (currentPartner != PartnerId_NONE) { + if (currentPartner != PartnerID_NONE) { Npc* partner = get_npc_unsafe(NpcId_PARTNER); f32 angle = clamp_angle((playerStatus2->spriteFacingAngle < 180.0f) ? (90.0f) : (-90.0f)); partner->pos.x = playerStatus2->position.x; diff --git a/src/world_goombaria.c b/src/world_goombaria.c deleted file mode 100644 index 6a62c9edc6..0000000000 --- a/src/world_goombaria.c +++ /dev/null @@ -1,43 +0,0 @@ -#include "common.h" - -void func_802BD100_324F10(Npc* npc) { - npc->collisionHeight = 24; - npc->collisionRadius = 20; -} - -ApiStatus func_802BD114_324F10(ScriptInstance* script, s32 isInitialCall) { - Npc* owner = script->owner2.npc; - - if (isInitialCall) { - func_800EECC4(owner); - } - return func_800EECE8(owner) != 0; -} - -ApiStatus func_802BD14C_324F10(ScriptInstance* script, s32 isInitialCall) { - PlayerData* playerData = &gPlayerData; - Npc* owner = script->owner2.npc; - - if (isInitialCall) { - enable_partner_walking(owner, TRUE); - } - - func_800EBA3C(owner); - func_800EBB40(owner); - playerData->unk_2F4[PartnerId_GOOMBARIA]++; - - return ApiStatus_BLOCK; -} - -ApiStatus func_802BD1AC_324F10(ScriptInstance* script, s32 isInitialCall) { - return ApiStatus_DONE2; -} - -ApiStatus func_802BD1B4(ScriptInstance* script, s32 isInitialCall) { - Npc* owner = script->owner2.npc; - - if (isInitialCall) { - func_800EE994(owner); - } - return func_800EE9B8(owner) != 0; -} diff --git a/src/world_goompa.c b/src/world_goompa.c deleted file mode 100644 index 7a385c3ddb..0000000000 --- a/src/world_goompa.c +++ /dev/null @@ -1,32 +0,0 @@ -#include "common.h" - -void func_802BD100_324A10(Npc* npc) { - npc->collisionHeight = 24; - npc->collisionRadius = 20; -} - -ApiStatus func_802BD114(ScriptInstance* script, s32 isInitialCall) { - Npc* owner = script->owner2.npc; - - if (isInitialCall) { - func_800EECC4(owner); - } - return func_800EECE8(owner) != 0; -} - -INCLUDE_ASM(s32, "world_goompa", func_802BD14C); - -INCLUDE_ASM(s32, "world_goompa", func_802BD4E0); - -ApiStatus func_802BD524(ScriptInstance* script, s32 isInitialCall) { - return ApiStatus_DONE2; -} - -ApiStatus func_802BD52C(ScriptInstance* script, s32 isInitialCall) { - Npc* owner = script->owner2.npc; - - if (isInitialCall) { - func_800EE994(owner); - } - return func_800EE9B8(owner) != 0; -} diff --git a/src/world_twink.c b/src/world_twink.c deleted file mode 100644 index 1fb4e6a25d..0000000000 --- a/src/world_twink.c +++ /dev/null @@ -1,44 +0,0 @@ -#include "common.h" - -// Init -void func_802BD100_325070(Npc* npc) { - npc->collisionHeight = 20; - npc->collisionRadius = 20; -} - -ApiStatus func_802BD110(ScriptInstance* script, s32 isInitialCall) { - Npc* owner = script->owner2.npc; - - if (isInitialCall) { - func_800EECC4(owner); - } - return func_800EECE8(owner) != 0; -} - -ApiStatus func_802BD148_325070(ScriptInstance* script, s32 isInitialCall) { - PlayerData* playerData = &gPlayerData; - Npc* owner = script->owner2.npc; - - if (isInitialCall) { - enable_partner_flying(owner, TRUE); - } - - update_player_move_history(owner); - func_800ED5D0(owner); - playerData->unk_2F4[PartnerId_TWINK]++; - - return ApiStatus_BLOCK; -} - -ApiStatus func_802BD1A8(ScriptInstance* script, s32 isInitialCall) { - return ApiStatus_DONE2; -} - -ApiStatus func_802BD1B0(ScriptInstance* script, s32 isInitialCall) { - Npc* owner = script->owner2.npc; - - if (isInitialCall) { - func_800EE994(owner); - } - return func_800EE9B8(owner) != 0; -} diff --git a/tools/Yay0compress.c b/tools/Yay0compress.c index bbcae98760..1b9cd64fc3 100644 --- a/tools/Yay0compress.c +++ b/tools/Yay0compress.c @@ -32,7 +32,7 @@ int main(int argc, const char **argv, const char **envp) if (argc < 3) { - fprintf(stderr, "Yay0decompress [infile] [outfile]\n"); + fprintf(stderr, "Yay0compress [infile] [outfile]\n"); return 1; } diff --git a/tools/compile_dsl_macros.py b/tools/compile_dsl_macros.py index e471d2ba43..14b7d01aac 100755 --- a/tools/compile_dsl_macros.py +++ b/tools/compile_dsl_macros.py @@ -5,7 +5,7 @@ from lark import Lark, exceptions, Tree, Transformer, Visitor, v_args, Token from lark.visitors import Discard import traceback -DEBUG_OUTPUT = None +DEBUG_OUTPUT = None # "debug.i" def eprint(*args, **kwargs): print(*args, file=stderr, **kwargs) @@ -31,16 +31,15 @@ def pairs(seq): script_parser = Lark(r""" - block: "{" NEWLINE* (_block STMT_SEP*)? "}" + block: "{" (_block SEMICOLON*)? "}" - _block: stmt STMT_SEP _block - | stmt + _block: stmt SEMICOLON _block + | stmt_no_semi SEMICOLON? _block + | stmt SEMICOLON + | stmt_no_semi ?stmt: call - | label ":" [stmt] -> label_decl | "goto" label -> label_goto - | if_stmt - | match_stmt | "return" -> return_stmt | "break" -> break_stmt | "sleep" expr -> sleep_stmt @@ -58,15 +57,19 @@ script_parser = Lark(r""" | suspend_stmt | resume_stmt | kill_stmt - | loop_stmt - | loop_until_stmt - | ["await"] block -> block_stmt - | "spawn" block -> spawn_block_stmt - | "parallel" block -> parallel_block_stmt - call: (CNAME | HEX_INT) "(" [expr ("," expr)* [","]] ")" + ?stmt_no_semi: label ":" -> label_decl + | if_stmt + | match_stmt + | loop_stmt + | loop_until_stmt + | ["await"] block -> block_stmt + | "spawn" block -> spawn_block_stmt + | "parallel" block -> parallel_block_stmt - if_stmt: "if" expr cond_op expr block ["else" block] + call: (c_identifier | HEX_INT) "(" [expr ("," expr)* [","]] ")" + + if_stmt: "if" "(" expr cond_op expr ")" block ["else" block] ?cond_op: "==" -> cond_op_eq | "!=" -> cond_op_ne @@ -76,9 +79,9 @@ script_parser = Lark(r""" | "<=" -> cond_op_le | "?" -> cond_op_flag - match_stmt: "match" expr "{" NEWLINE* (match_cases STMT_SEP*)? "}" - match_const_stmt: "matchc" expr "{" NEWLINE* (match_cases STMT_SEP*)? "}" - match_cases: match_case STMT_SEP* match_cases + match_stmt: "match" expr "{" (match_cases SEMICOLON*)? "}" + match_const_stmt: "matchc" expr "{" (match_cases SEMICOLON*)? "}" + match_cases: match_case SEMICOLON* match_cases | match_case ?match_case: "else" block -> case_else | cond_op expr ["," multi_case] block -> case_op @@ -97,16 +100,18 @@ script_parser = Lark(r""" bind_set_stmt: lhs "=" "bind" expr "to" expr expr loop_stmt: "loop" [expr] block - loop_until_stmt: "loop" block "until" expr cond_op expr + loop_until_stmt: "loop" block "until" "(" expr cond_op expr ")" ?expr: c_const_expr | ESCAPED_STRING | SIGNED_INT | SIGNED_DECIMAL | HEX_INT - | CNAME + | variable + | c_identifier ?lhs: c_const_expr + | variable ?set_op: "=" -> set_op_eq | "+=" -> set_op_add @@ -117,11 +122,15 @@ script_parser = Lark(r""" | "&=" -> set_op_and | "|=" -> set_op_or - c_const_expr: c_const_expr_internal + variable: "$" CNAME + + c_identifier: CNAME + + c_const_expr: "(" c_const_expr_internal ")" c_const_expr_internal: "(" (c_const_expr_internal | NOT_PARENS)+ ")" NOT_PARENS: /[^()]+/ - STMT_SEP: (NEWLINE+ | ";") + SEMICOLON: ";" label: /[a-zA-Z0-9_]+/ @@ -140,6 +149,7 @@ script_parser = Lark(r""" %import common.WS_INLINE %import common.NEWLINE %ignore WS_INLINE + %ignore NEWLINE """, start="block", propagate_positions=True)#, parser="lalr", cache=True) @@ -162,7 +172,7 @@ class BaseCmd(): return [ self.opcode(), len(self.args), *self.args ] def __str__(self): - return f"Cmd({self.opcode():02X}, {', '.join(map(str, self.args))})" + return f"Cmd({self.opcode()}, {', '.join(map(str, self.args))})" class Cmd(BaseCmd): def __init__(self, opcode, *args, **kwargs): @@ -241,6 +251,7 @@ class LabelAllocation(Visitor): def __init__(self): super().__init__() self.labels = [] + self.variables = [] def label_decl(self, tree): name = tree.children[0].children[0] @@ -257,6 +268,15 @@ class LabelAllocation(Visitor): except ValueError: self.labels.append(name) + def variable(self, tree): + name = tree.children[0] + + if name not in self.variables: + self.variables.append(name) + + if len(self.variables) > 16: + raise CompileError("too many variables (max 16)", tree.meta) + def gen_label(self): self.labels.append("$generated") return len(self.labels) - 1 @@ -271,8 +291,8 @@ class Compile(Transformer): self.alloc.visit_topdown(tree) return super().transform(tree) - def CNAME(self, name): - return f"(Bytecode)(&{name})" + def c_identifier(self, tree): + return f"(Bytecode)(&{tree.children[0]})" def ESCAPED_STRING(self, str_with_quotes): return f"(Bytecode)({str_with_quotes})" @@ -366,7 +386,7 @@ class Compile(Transformer): if len(tree.children) == 1: return [tree.children[0]] else: - return [tree.children[0], *tree.children[2]] + return [tree.children[0], *tree.children[1]] def case_else(self, tree): return [Cmd("ScriptOpcode_ELSE"), *tree.children[0]] @@ -590,6 +610,37 @@ class Compile(Transformer): return self.alloc.labels.index(name) raise CompileError(f"label `{name}' is undeclared", tree.meta) + def variable(self, tree): + name = tree.children[0] + return self.alloc.variables.index(name) - 30000000 + + def label_decl(self, tree): + if len(tree.children) == 1: + label = tree.children[0] + return Cmd("ScriptOpcode_LABEL", label, meta=tree.meta) + else: + label, cmd_or_block = tree.children + + if type(cmd_or_block) is not list: + cmd_or_block = [cmd_or_block] + + for cmd in cmd_or_block: + if isinstance(cmd, BaseCmd): + cmd.add_context(LabelCtx(label)) + + return [ + Cmd("ScriptOpcode_LABEL", label, meta=tree.meta), + *cmd_or_block + ] + def label_goto(self, tree): + label = tree.children[0] + return Cmd("ScriptOpcode_GOTO", label, meta=tree.meta) + def label(self, tree): + name = tree.children[0] + if name in self.alloc.labels: + return self.alloc.labels.index(name) + raise CompileError(f"label `{name}' is undeclared", tree.meta) + def block_stmt(self, tree): block, = tree.children for cmd in block: @@ -699,7 +750,7 @@ if __name__ == "__main__": macro_name = "" # captures recent UPPER_CASE identifier prev_char = "" - while True: + while not error: char = stdin.read(1) if len(char) == 0: @@ -798,6 +849,7 @@ if __name__ == "__main__": prev_char = char if error: + write("{ 1 / 0 };") exit(1) else: exit(0) diff --git a/tools/compile_messages.py b/tools/compile_messages.py index e92d716376..9bc2d1d8f4 100755 --- a/tools/compile_messages.py +++ b/tools/compile_messages.py @@ -424,7 +424,7 @@ if __name__ == "__main__": print(f"{filename}:{lineno}: 'choice' style requires parameters: x, y, w, h") exit(1) - message.bytes += [0x05, named_args["w"], named_args["x"], named_args["h"], named_args["y"]] + message.bytes += [0x05, named_args["x"], named_args["y"], named_args["w"], named_args["h"]] elif style == "inspect": message.bytes += [0x06] elif style == "sign": diff --git a/tools/disasm_script.py b/tools/disasm_script.py index 6950269df1..9c571b931c 100755 --- a/tools/disasm_script.py +++ b/tools/disasm_script.py @@ -445,9 +445,9 @@ class ScriptDSLDisassembler(ScriptDisassembler): self.write_line("});") self.done = True - elif opcode == 0x02: self.write_line(f"return") + elif opcode == 0x02: self.write_line(f"return;") elif opcode == 0x03: self.write_line(f"{self.var(argv[0])}:") - elif opcode == 0x04: self.write_line(f"goto {self.var(argv[0])}") + elif opcode == 0x04: self.write_line(f"goto {self.var(argv[0])};") elif opcode == 0x05: if argv[0] == 0: self.write_line("loop {") @@ -457,29 +457,29 @@ class ScriptDSLDisassembler(ScriptDisassembler): elif opcode == 0x06: self.indent -= 1 self.write_line("}") - elif opcode == 0x07: self.write_line(f"break") - elif opcode == 0x08: self.write_line(f"sleep {self.var(argv[0])}") - elif opcode == 0x09: self.write_line(f"sleep {self.var(argv[0])} secs") + elif opcode == 0x07: self.write_line(f"break;") + elif opcode == 0x08: self.write_line(f"sleep {self.var(argv[0])};") + elif opcode == 0x09: self.write_line(f"sleep {self.var(argv[0])} secs;") elif opcode == 0x0A: - self.write_line(f"if {self.var(argv[0])} == {self.var(argv[1])} {{") + self.write_line(f"if ({self.var(argv[0])} == {self.var(argv[1])}) {{") self.indent += 1 elif opcode == 0x0B: - self.write_line(f"if {self.var(argv[0])} != {self.var(argv[1])} {{") + self.write_line(f"if ({self.var(argv[0])} != {self.var(argv[1])}) {{") self.indent += 1 elif opcode == 0x0C: - self.write_line(f"if {self.var(argv[0])} < {self.var(argv[1])} {{") + self.write_line(f"if ({self.var(argv[0])} < {self.var(argv[1])}) {{") self.indent += 1 elif opcode == 0x0D: - self.write_line(f"if {self.var(argv[0])} > {self.var(argv[1])} {{") + self.write_line(f"if ({self.var(argv[0])} > {self.var(argv[1])}) {{") self.indent += 1 elif opcode == 0x0E: - self.write_line(f"if {self.var(argv[0])} <= {self.var(argv[1])} {{") + self.write_line(f"if ({self.var(argv[0])} <= {self.var(argv[1])}) {{") self.indent += 1 elif opcode == 0x0F: - self.write_line(f"if {self.var(argv[0])} >= {self.var(argv[1])} {{") + self.write_line(f"if ({self.var(argv[0])} >= {self.var(argv[1])}) {{") self.indent += 1 elif opcode == 0x10: - self.write_line(f"if {self.var(argv[0])} ? {self.var(argv[1])} {{") + self.write_line(f"if ({self.var(argv[0])} ? {self.var(argv[1])}) {{") self.indent += 1 elif opcode == 0x12: self.indent -= 1 @@ -552,68 +552,68 @@ class ScriptDSLDisassembler(ScriptDisassembler): self.indent -= 1 self.write_line("}") - elif opcode == 0x24: self.write_line(f"{self.var(argv[0])} = {self.var(argv[1])}") - elif opcode == 0x25: self.write_line(f"{self.var(argv[0])} =c 0x{argv[1]:X}") + elif opcode == 0x24: self.write_line(f"{self.var(argv[0])} = {self.var(argv[1])};") + elif opcode == 0x25: self.write_line(f"{self.var(argv[0])} =c 0x{argv[1]:X};") elif opcode == 0x26: lhs = self.var(argv[1]) if self.is_float(lhs): - self.write_line(f"{self.var(argv[0])} = {lhs}") + self.write_line(f"{self.var(argv[0])} = {lhs};") else: - self.write_line(f"{self.var(argv[0])} =f {lhs}") - elif opcode == 0x27: self.write_line(f"{self.var(argv[0])} += {self.var(argv[1])}") - elif opcode == 0x28: self.write_line(f"{self.var(argv[0])} -= {self.var(argv[1])}") - elif opcode == 0x29: self.write_line(f"{self.var(argv[0])} *= {self.var(argv[1])}") - elif opcode == 0x2A: self.write_line(f"{self.var(argv[0])} /= {self.var(argv[1])}") - elif opcode == 0x2B: self.write_line(f"{self.var(argv[0])} %= {self.var(argv[1])}") + self.write_line(f"{self.var(argv[0])} =f {lhs};") + elif opcode == 0x27: self.write_line(f"{self.var(argv[0])} += {self.var(argv[1])};") + elif opcode == 0x28: self.write_line(f"{self.var(argv[0])} -= {self.var(argv[1])};") + elif opcode == 0x29: self.write_line(f"{self.var(argv[0])} *= {self.var(argv[1])};") + elif opcode == 0x2A: self.write_line(f"{self.var(argv[0])} /= {self.var(argv[1])};") + elif opcode == 0x2B: self.write_line(f"{self.var(argv[0])} %= {self.var(argv[1])};") elif opcode == 0x2C: lhs = self.var(argv[1]) if self.is_float(lhs): - self.write_line(f"{self.var(argv[0])} += {lhs}") + self.write_line(f"{self.var(argv[0])} += {lhs};") else: - self.write_line(f"{self.var(argv[0])} +=f {lhs}") + self.write_line(f"{self.var(argv[0])} +=f {lhs};") elif opcode == 0x2D: lhs = self.var(argv[1]) if self.is_float(lhs): - self.write_line(f"{self.var(argv[0])} -= {lhs}") + self.write_line(f"{self.var(argv[0])} -= {lhs};") else: - self.write_line(f"{self.var(argv[0])} -=f {lhs}") + self.write_line(f"{self.var(argv[0])} -=f {lhs};") elif opcode == 0x2E: lhs = self.var(argv[1]) if self.is_float(lhs): - self.write_line(f"{self.var(argv[0])} *= {lhs}") + self.write_line(f"{self.var(argv[0])} *= {lhs};") else: - self.write_line(f"{self.var(argv[0])} *=f {lhs}") + self.write_line(f"{self.var(argv[0])} *=f {lhs};") elif opcode == 0x2F: lhs = self.var(argv[1]) if self.is_float(lhs): - self.write_line(f"{self.var(argv[0])} /= {lhs}") + self.write_line(f"{self.var(argv[0])} /= {lhs};") else: - self.write_line(f"{self.var(argv[0])} /=f {lhs}") - elif opcode == 0x3F: self.write_line(f"{self.var(argv[0])} &= {self.var(argv[1])}") - elif opcode == 0x40: self.write_line(f"{self.var(argv[0])} |= {self.var(argv[1])}") - elif opcode == 0x41: self.write_line(f"{self.var(argv[0])} &=c {argv[1]:X}") - elif opcode == 0x42: self.write_line(f"{self.var(argv[0])} |=c {argv[1]:X}") + self.write_line(f"{self.var(argv[0])} /=f {lhs};") + elif opcode == 0x3F: self.write_line(f"{self.var(argv[0])} &= {self.var(argv[1])};") + elif opcode == 0x40: self.write_line(f"{self.var(argv[0])} |= {self.var(argv[1])};") + elif opcode == 0x41: self.write_line(f"{self.var(argv[0])} &=c {argv[1]:X};") + elif opcode == 0x42: self.write_line(f"{self.var(argv[0])} |=c {argv[1]:X};") elif opcode == 0x43: argv_str = ", ".join(self.var(arg) for arg in argv[1:]) self.write_line(f"{self.addr_ref(argv[0])}({argv_str})") - elif opcode == 0x44: self.write_line(f"spawn {self.addr_ref(argv[0])}") - elif opcode == 0x45: self.write_line(f"{self.var(argv[1])} = spawn ({self.addr_ref(argv[0])}") - elif opcode == 0x46: self.write_line(f"await {self.addr_ref(argv[0])}") + elif opcode == 0x44: self.write_line(f"spawn {self.addr_ref(argv[0])};") + elif opcode == 0x45: self.write_line(f"{self.var(argv[1])} = spawn {self.addr_ref(argv[0])};") + elif opcode == 0x46: self.write_line(f"await {self.addr_ref(argv[0])};") elif opcode == 0x47: assert argv[3] == 1 if argv[4] != 0: - self.write_line(f"{self.var(argv[4])} = bind {self.addr_ref(argv[0])} to {self.trigger(argv[1])} {self.var(argv[2])}") + self.write_line(f"{self.var(argv[4])} = bind {self.addr_ref(argv[0])} to {self.trigger(argv[1])} {self.var(argv[2])};") else: - self.write_line(f"bind {self.addr_ref(argv[0])} to {self.trigger(argv[1])} {self.var(argv[2])}") - elif opcode == 0x48: self.write_line(f"unbind") - elif opcode == 0x49: self.write_line(f"kill {self.var(argv[0])}") - elif opcode == 0x4D: self.write_line(f"group {self.var(argv[0])}") - elif opcode == 0x4F: self.write_line(f"suspend group {self.var(argv[0])}") - elif opcode == 0x50: self.write_line(f"resume group {self.var(argv[0])}") - elif opcode == 0x51: self.write_line(f"suspend others {self.var(argv[0])}") - elif opcode == 0x52: self.write_line(f"resume others {self.var(argv[0])}") - elif opcode == 0x53: self.write_line(f"suspend {self.var(argv[0])}") - elif opcode == 0x54: self.write_line(f"resume {self.var(argv[0])}") + self.write_line(f"bind {self.addr_ref(argv[0])} to {self.trigger(argv[1])} {self.var(argv[2])};") + elif opcode == 0x48: self.write_line(f"unbind;") + elif opcode == 0x49: self.write_line(f"kill {self.var(argv[0])};") + elif opcode == 0x4D: self.write_line(f"group {self.var(argv[0])};") + elif opcode == 0x4F: self.write_line(f"suspend group {self.var(argv[0])};") + elif opcode == 0x50: self.write_line(f"resume group {self.var(argv[0])};") + elif opcode == 0x51: self.write_line(f"suspend others {self.var(argv[0])};") + elif opcode == 0x52: self.write_line(f"resume others {self.var(argv[0])};") + elif opcode == 0x53: self.write_line(f"suspend {self.var(argv[0])};") + elif opcode == 0x54: self.write_line(f"resume {self.var(argv[0])};") elif opcode == 0x56: self.write_line("spawn {") self.indent += 1 diff --git a/tools/n64splat b/tools/n64splat index e0262202ef..b06b08e0c6 160000 --- a/tools/n64splat +++ b/tools/n64splat @@ -1 +1 @@ -Subproject commit e0262202ef931e0a0d09a144fcded281d0dc1656 +Subproject commit b06b08e0c66ea36b0a3ab3556a97a08a9ce36b0a diff --git a/tools/splat.yaml b/tools/splat.yaml index ecb212edb6..d3c1234d93 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -1,7 +1,7 @@ name: Paper Mario (North America) basename: papermario options: - find-file-boundaries: True + find_file_boundaries: True compiler: GCC mnemonic_ljust: 10 ld_o_replace_extension: False @@ -63,6 +63,7 @@ segments: - [0x2d9a0, c, code_2d9a0_len_890] - [0x2e230, c, code_2e230_len_2190] - [0x303c0, c, code_303c0_len_3e10] + - [0x31650, c, code_31650] - [0x341d0, c, world/world] - [0x362a0, c, code_362a0_len_2f70] - [0x39210, c, code_39210_len_aa0] @@ -204,8 +205,12 @@ segments: - [0x4a1f0, c, os/code_4a1f0_len_170] - [0x4a360, c, os/code_4a360_len_930] - [0x4ac90, c, os/code_4ac90_len_3910] - - [0x4E5A0, bin] - - [0x52D50, bin] + - [0x4E5A0, data, code_1000_len_60] + - [0x53570, .data, code_25f00_len_940] + - [0x53590, data, code_26840_len_20d0] + - [0x541B0, .data, code_303c0_len_3e10] + - [0x54250, .data, code_31650] + - [0x542E0, data, code_31650] - [0x6B450, .data, world/world] - [0x6EAC0, bin] # has scripts - [0x70E30, .data, battle/battle] @@ -227,6 +232,12 @@ segments: - [0x8a860, c, code_8a860_len_3f30] - [0x8e790, c, code_8e790_len_2850] - [0x90fe0, bin] + - type: code + start: 0x91520 # section may start earlier + vram: 0 # TODO + files: + - [0x91520, .data, world/partners] + - [0x917EC, bin] - [0x93CD0, ci4, ui/hammer, 32, 32] - [0x93ED0, palette, ui/hammer] - [0x93EF0, palette, ui/hammer.disabled] @@ -251,7 +262,9 @@ segments: - [0xddaf0, c, code_ddaf0_len_c50] - [0xde740, c, code_de740_len_23f0] - [0xe0b30, c, code_e0b30_len_b80] - - [0xe16b0, bin] + - [0xE16B0, data, code_a5dd0_len_114e0] + - [0xE5510, .data, code_d0a70_len_4fe0] + - [0xE56C0, .data, code_d5a50_len_5fd0] - [0xE5820, .data, code_dc470_len_14c0] - [0xE5830, bin] - type: code @@ -402,71 +415,84 @@ segments: files: - [0x316f30, c, code_316f30] - type: code + ld_name: world_partner_goombario start: 0x317020 vram: 0x802BD100 files: - - [0x317020, c] - - [0x317b60, bin] + - [0x317020, c, world/partner/goombario] + - [0x317b60, .data, world/partner/goombario] + - [0x317DA0, bin, world/partner/goombario] # rodata containing a double and a jumptable - type: code + ld_name: world_partner_bombette start: 0x317e50 vram: 0x802BD100 files: - - [0x317e50, c] + - [0x317e50, c, world/partner/bombette] - [0x3195d0, bin] - type: code + ld_name: world_partner_parakarry start: 0x319670 vram: 0x802BD100 files: - - [0x319670, c] + - [0x319670, c, world/partner/parakarry] - [0x31b000, bin] - type: code + ld_name: world_partner_kooper start: 0x31b120 vram: 0x802BD100 files: - - [0x31b120, c] + - [0x31b120, c, world/partner/kooper] - [0x31cb60, bin] - type: code + ld_name: world_partner_watt start: 0x31cc70 vram: 0x802BD100 files: - - [0x31cc70, c] + - [0x31cc70, c, world/partner/watt] - [0x31ddc0, bin] - type: code + ld_name: world_partner_sushie start: 0x31de70 vram: 0x802BD100 files: - - [0x31de70, c] + - [0x31de70, c, world/partner/sushie] - [0x320b20, bin] - type: code + ld_name: world_partner_lakilester start: 0x320c50 vram: 0x802BD100 files: - - [0x320c50, c] + - [0x320c50, c, world/partner/lakilester] - [0x3239b0, bin] - type: code + ld_name: world_partner_bow start: 0x323A50 vram: 0x802BD100 files: - - [0x323A50, c] + - [0x323A50, c, world/partner/bow] - [0x324930, bin] - type: code + ld_name: world_partner_goompa start: 0x324a10 vram: 0x802BD100 files: - - [0x324a10, c, world_goompa] - - [0x324e80, bin] + - [0x324a10, c, world/partner/goompa] + - [0x324e80, .data, world/partner/goompa] + - [0x324F00, bin, world/partner/goompa] # rodata with single f64 0.8 - type: code + ld_name: world_partner_goombaria start: 0x324f10 vram: 0x802BD100 files: - - [0x324f10, c, world_goombaria] - - [0x325000, bin] + - [0x324f10, c, world/partner/goombaria] + - [0x325000, .data, world/partner/goombaria] - type: code + ld_name: world_partner_twink start: 0x325070 vram: 0x802BD100 files: - - [0x325070, c, world_twink] - - [0x325160, bin] + - [0x325070, c, world/partner/twink] + - [0x325160, .data, world/partner/twink] - type: code start: 0x3251d0 vram: 0x802BD100 @@ -7128,7 +7154,7 @@ segments: - world_parakarry - world_bow - world_watt - - world_sushi + - world_sushie - world_lakilester - battle_goombario - battle_kooper @@ -7136,7 +7162,7 @@ segments: - battle_parakarry - battle_bow - battle_watt - - battle_sushi + - battle_sushie - battle_lakilester - kooper_without_shell - world_eldstar @@ -7339,11 +7365,11 @@ segments: - penguin - shiver_toad - world_bandit - - goompapa - - goombaria - - goomama - goompa - - goomma + - goombaria + - gooma + - goompapa + - goomama - the_master - chan - lee diff --git a/tools/splat_ext/PaperMarioMessages.py b/tools/splat_ext/PaperMarioMessages.py index 2485a64ee1..5cad55af5d 100644 --- a/tools/splat_ext/PaperMarioMessages.py +++ b/tools/splat_ext/PaperMarioMessages.py @@ -168,7 +168,7 @@ CHARSET = { 0x02: "[style=left]\n", 0x03: "[style=center]\n", 0x04: "[style=tattle]\n", - 0x05: {None: lambda d: (f"[style=choice x={d[1]} y={d[3]} w={d[0]} h={d[2]}]\n", 4)}, + 0x05: {None: lambda d: (f"[style=choice x={d[0]} y={d[1]} w={d[2]} h={d[3]}]\n", 4)}, 0x06: "[style=inspect]\n", 0x07: "[style=sign]\n", 0x08: "[style=lamppost]\n", diff --git a/tools/symbol_addrs.txt b/tools/symbol_addrs.txt index 4020f96fef..111a83c0a5 100644 --- a/tools/symbol_addrs.txt +++ b/tools/symbol_addrs.txt @@ -222,6 +222,7 @@ spawn_drops = 0x80048280; get_coin_drop_amount = 0x80048D50; is_point_within_region = 0x80048FD4; DoBasicAI = 0x8004A47C; +nuAuPreNMIFuncSet = 0x8004ADD0; nuAuDmaCallBack = 0x8004B074; // ! nuAuDmaNew = 0x8004B224; nuAuCleanDMABuffers = 0x8004B268; @@ -561,11 +562,16 @@ setup_demo_player = 0x80072D2C; load_demo_battle = 0x80072E14; EnemyNpcHit = 0x80077F70; EnemyNpcDefeat = 0x8007809C; +nuAuPreNMIFunc = 0x80078174; +nuAuDmaNext = 0x80078178; +nuAuFrameCounter = 0x8007817C; D_80078DB0 = 0x80078DB0; D_80078DB4 = 0x80078DB4; gEffectTable = 0x8007F214; gItemTable = 0x800878E0; // size:0x2D80 gAreas = 0x800934F0; +nuAuDmaState = 0x800A3BD0; +nuAuDmaBuf = 0x800A3BE0; gCurrentEncounter = 0x800B0F10; // size:0xB0 gBattleState = 0x800DC068; gBattleStatus = 0x800DC070; // size:0x490 diff --git a/undefined_syms.txt b/undefined_syms.txt index 5f64481f84..34d8df9aab 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -99,6 +99,9 @@ nuContRmbCallBack = 0x80093D00; nuGfxFunc = 0x80093D10; nuGfxPreNMIFunc = 0x80093D14; +nuAuDmaState = 0x800A3BD0; +nuAuDmaBuf = 0x800A3BE0; + osViModeTable = 0x800946A0; D_800959D4 = 0x800959D4; D_8009A5B0 = 0x8009A5B0; @@ -332,3 +335,5 @@ D_80078DB4 = 0x80078DB4; gSongsUsingVariationFlag = 0x8014F720; D_8014F738 = 0x8014F738; + +D_802BDF64 = 0x802BDF64; diff --git a/undefined_syms_auto.txt b/undefined_syms_auto.txt index bb6101249f..49523b22e1 100644 --- a/undefined_syms_auto.txt +++ b/undefined_syms_auto.txt @@ -1,22 +1,10 @@ D_7FFF8918 = 0x7FFF8918; -D_7FFFD690 = 0x7FFFD690; -D_7FFFEC40 = 0x7FFFEC40; -D_7FFFF264 = 0x7FFFF264; -D_7FFFFB78 = 0x7FFFFB78; -D_7FFFFFFF = 0x7FFFFFFF; D_80000000 = 0x80000000; -D_80000010 = 0x80000010; -D_80000020 = 0x80000020; -D_8000002C = 0x8000002C; D_80000308 = 0x80000308; D_8000030C = 0x8000030C; D_80000318 = 0x80000318; D_8000031C = 0x8000031C; -D_800006A4 = 0x800006A4; -D_800006A8 = 0x800006A8; D_80001D80 = 0x80001D80; -D_8000419C = 0x8000419C; -D_80004880 = 0x80004880; D_80007410 = 0x80007410; D_80025D74 = 0x80025D74; D_80026AC7 = 0x80026AC7; @@ -118,9 +106,6 @@ D_80078160 = 0x80078160; D_80078164 = 0x80078164; D_80078168 = 0x80078168; D_80078170 = 0x80078170; -D_80078174 = 0x80078174; -D_80078178 = 0x80078178; -D_8007817C = 0x8007817C; D_80078180 = 0x80078180; D_80078181 = 0x80078181; D_80078190 = 0x80078190; @@ -665,9 +650,7 @@ D_800A3638 = 0x800A3638; D_800A3640 = 0x800A3640; D_800A3658 = 0x800A3658; D_800A3720 = 0x800A3720; -D_800A3BD0 = 0x800A3BD0; D_800A3BD4 = 0x800A3BD4; -D_800A3BE0 = 0x800A3BE0; D_800A3BF0 = 0x800A3BF0; D_800A3FD0 = 0x800A3FD0; D_800A3FE0 = 0x800A3FE0; @@ -4751,10 +4734,7 @@ D_802F39D0 = 0x802F39D0; D_802F4560 = 0x802F4560; D_8034F800 = 0x8034F800; D_A0000000 = 0xA0000000; -D_A0000010 = 0xA0000010; -D_A0000018 = 0xA0000018; D_A0000C7C = 0xA0000C7C; -D_A0006A70 = 0xA0006A70; D_A4000000 = 0xA4000000; D_A40004C0 = 0xA40004C0; D_A4000768 = 0xA4000768; @@ -4776,29 +4756,19 @@ D_A6000000 = 0xA6000000; D_B0000000 = 0xB0000000; D_B0000008 = 0xB0000008; D_B0000010 = 0xB0000010; -D_B215B224 = 0xB215B224; -D_BEEFBD88 = 0xBEEFBD88; D_BF804254 = 0xBF804254; D_BF806900 = 0xBF806900; -D_BFDFB110 = 0xBFDFB110; D_BFFF949C = 0xBFFF949C; D_C0007C28 = 0xC0007C28; D_C1F06370 = 0xC1F06370; D_C247F280 = 0xC247F280; -D_C281F280 = 0xC281F280; D_C28BF280 = 0xC28BF280; -D_C295F280 = 0xC295F280; D_C29FF280 = 0xC29FF280; -D_C2BDF280 = 0xC2BDF280; D_C2BE35B8 = 0xC2BE35B8; D_C479EFB0 = 0xC479EFB0; D_C479EFF4 = 0xC479EFF4; -D_D837A66C = 0xD837A66C; D_D9FCFFFF = 0xD9FCFFFF; D_DA37A674 = 0xDA37A674; -D_DA380060 = 0xDA380060; -D_DB01C270 = 0xDB01C270; -D_DC07F3E0 = 0xDC07F3E0; D_DDFF8100 = 0xDDFF8100; D_DDFF9710 = 0xDDFF9710; D_DDFF97D8 = 0xDDFF97D8; @@ -4841,7 +4811,6 @@ D_DDFFE670 = 0xDDFFE670; D_DDFFE6C0 = 0xDDFFE6C0; D_DDFFE718 = 0xDDFFE718; D_DDFFE8F0 = 0xDDFFE8F0; -D_DDFFE9A8 = 0xDDFFE9A8; D_DDFFEDE8 = 0xDDFFEDE8; D_DDFFEE68 = 0xDDFFEE68; D_DDFFF078 = 0xDDFFF078; @@ -4855,15 +4824,11 @@ D_DDFFF428 = 0xDDFFF428; D_DDFFF460 = 0xDDFFF460; D_DDFFF490 = 0xDDFFF490; D_DDFFF5A0 = 0xDDFFF5A0; -D_DDFFF750 = 0xDDFFF750; D_DE000000 = 0xDE000000; -D_DE000008 = 0xDE000008; -D_DE00007C = 0xDE00007C; D_DE000080 = 0xDE000080; D_DE0000C8 = 0xDE0000C8; D_DE0002C0 = 0xDE0002C0; D_DE000328 = 0xDE000328; -D_DE000338 = 0xDE000338; D_DE000440 = 0xDE000440; D_DE0004C0 = 0xDE0004C0; D_DE0005E0 = 0xDE0005E0; @@ -4881,7 +4846,6 @@ D_DE001230 = 0xDE001230; D_DE001F00 = 0xDE001F00; D_DE002170 = 0xDE002170; D_DE002578 = 0xDE002578; -D_DE0028A0 = 0xDE0028A0; D_DE002950 = 0xDE002950; D_DE003110 = 0xDE003110; D_DE003970 = 0xDE003970; @@ -4894,7 +4858,6 @@ D_DE007908 = 0xDE007908; D_DE007930 = 0xDE007930; D_DE0079B8 = 0xDE0079B8; D_DE007A38 = 0xDE007A38; -D_DE007A50 = 0xDE007A50; D_DE007CA0 = 0xDE007CA0; D_E00021B4 = 0xE00021B4; D_E00021BC = 0xE00021BC; @@ -5467,27 +5430,14 @@ D_E0200730 = 0xE0200730; D_E0200734 = 0xE0200734; D_E1000010 = 0xE1000010; D_E2FFD6B0 = 0xE2FFD6B0; -D_E3000008 = 0xE3000008; -D_E6000008 = 0xE6000008; D_E7000001 = 0xE7000001; D_E7000008 = 0xE7000008; -D_E700001C = 0xE700001C; D_E70013F8 = 0xE70013F8; D_E8000008 = 0xE8000008; -D_ECFF96B0 = 0xECFF96B0; -D_ECFFED98 = 0xECFFED98; D_F0000008 = 0xF0000008; D_F0001328 = 0xF0001328; -D_F1000008 = 0xF1000008; -D_F1000040 = 0xF1000040; D_F1FFFFFF = 0xF1FFFFFF; -D_F4000008 = 0xF4000008; -D_F4AB95DC = 0xF4AB95DC; -D_F4AB95E0 = 0xF4AB95E0; -D_F4AC2EAC = 0xF4AC2EAC; D_F5000007 = 0xF5000007; -D_F5DDF120 = 0xF5DDF120; -D_F5FEA66C = 0xF5FEA66C; D_F79DDD0F = 0xF79DDD0F; D_F7FEC070 = 0xF7FEC070; D_F7FF4EBC = 0xF7FF4EBC; @@ -5495,7 +5445,6 @@ D_F7FFB754 = 0xF7FFB754; D_F8003A4B = 0xF8003A4B; D_F800437F = 0xF800437F; D_F8FFB74D = 0xF8FFB74D; -D_F9003E10 = 0xF9003E10; D_F9FFB750 = 0xF9FFB750; D_F9FFB760 = 0xF9FFB760; D_F9FFBF70 = 0xF9FFBF70; @@ -5504,18 +5453,9 @@ D_FA000A78 = 0xFA000A78; D_FA0015A8 = 0xFA0015A8; D_FA006078 = 0xFA006078; D_FAFFB763 = 0xFAFFB763; -D_FB000002 = 0xFB000002; -D_FD04A650 = 0xFD04A650; -D_FD050B00 = 0xFD050B00; -D_FD0513C0 = 0xFD0513C0; D_FD0F93A0 = 0xFD0F93A0; D_FD0FF038 = 0xFD0FF038; D_FD100008 = 0xFD100008; -D_FD180008 = 0xFD180008; -D_FD47FFFF = 0xFD47FFFF; -D_FD8FCD50 = 0xFD8FCD50; -D_FFDF0001 = 0xFFDF0001; -D_FFF00768 = 0xFFF00768; D_FFFF41F0 = 0xFFFF41F0; D_8021A194 = 0x8021A194; D_8021BC70 = 0x8021BC70;